- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
早上好,我是 Spring Boot 的新手,我正在构建一个 SOAP 服务,允许查询 ORACLE 数据库(位于容器中),但我遇到了以下无法解决的错误:
*************************** APPLICATION FAILED TO START
Description:
Parameter 0 of constructor in org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration required a bean of type 'javax.sql.DataSource' that could not be found. - Bean method 'dataSource' not loaded because @ConditionalOnProperty (spring.datasource.jndi-name) did not find property 'jndi-name' - Bean method 'dataSource' not loaded because @ConditionalOnBean (types: org.springframework.boot.jta.XADataSourceWrapper; SearchStrategy: all) did not find any beans of type org.springframework.boot.jta.XADataSourceWrapper
Action:
Consider revisiting the conditions above or defining a bean of type 'javax.sql.DataSource' in your configuration.
SpringBootSoapApp.java
package com.example.conexion.soap_service_example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@SpringBootApplication
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class SpringBootSoapApp {
public static void main(String[] args) {
SpringApplication.run(SpringBootSoapApp.class, args);
}
}
Cliente.java
package com.example.conexion.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Cliente {
@Id
@Column(name="CEDULA")
private int cedula;
@Column(name="NOMBRE")
private String nombre;
@Column(name="APELLIDO")
private String apellido;
@Column(name="TIPO_CLIENTE")
private String tipo_cliente;
// Getter y Setters
public int getCedula() {
return cedula;
}
public void setCedula(int cedula) {
this.cedula = cedula;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
public String getTipo_cliente() {
return tipo_cliente;
}
public void setTipo_cliente(String tipo_cliente) {
this.tipo_cliente = tipo_cliente;
}
}
ClienteService.java
package com.example.conexion.service;
import com.example.conexion.entity.Cliente;
import java.util.List;
public interface ClienteService {
public Cliente getClienteById(long id);
public List<Cliente> getAllClientes();
}
ClienteRepository.java
package com.example.conexion.repository;
import org.springframework.data.repository.CrudRepository;
import com.example.conexion.entity.Cliente;
public interface ClienteRepository extends CrudRepository <Cliente,Integer> {
public Cliente findById(int cedula);
}
ClienteEndpoint.java
package com.example.conexion.endpoint;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ws.server.endpoint.annotation.Endpoint;
import org.springframework.ws.server.endpoint.annotation.PayloadRoot;
import org.springframework.ws.server.endpoint.annotation.RequestPayload;
import org.springframework.ws.server.endpoint.annotation.ResponsePayload;
import com.example.conexion.entity.Cliente;
import com.example.conexion.service.ClienteService;
import com.example.conexion.ws.ClienteType;
import com.example.conexion.ws.GetAllClientesRequest;
import com.example.conexion.ws.GetAllClientesResponse;
import com.example.conexion.ws.GetClienteByIdRequest;
import com.example.conexion.ws.GetClienteByIdResponse;
@Endpoint
public class ClienteEndpoint {
public static final String NAMESPACE_URI = "http://www.javaspringclub.com/movies-ws";
private ClienteService service;
public ClienteEndpoint() {
}
@Autowired
public ClienteEndpoint(ClienteService service) {
this.service = service;
}
@PayloadRoot(namespace = NAMESPACE_URI, localPart = "getClienteByIdRequest")
@ResponsePayload
public GetClienteByIdResponse getMovieById(@RequestPayload GetClienteByIdRequest request) {
GetClienteByIdResponse response = new GetClienteByIdResponse();
Cliente clienteEntity = service.getClienteById(request.getClienteCedula());
ClienteType clienteType = new ClienteType();
BeanUtils.copyProperties(clienteEntity, clienteType);
response.setClienteType(clienteType);
return response;
}
@PayloadRoot(namespace = NAMESPACE_URI, localPart = "getAllMoviesRequest")
@ResponsePayload
public GetAllClientesResponse getAllMovies(@RequestPayload GetAllClientesRequest request) {
GetAllClientesResponse response = new GetAllClientesResponse();
List<ClienteType> clienteTypeList = new ArrayList<ClienteType>();
List<Cliente> clienteEntityList = service.getAllClientes();
for (Cliente cliente : clienteEntityList) {
ClienteType clienteType = new ClienteType();
BeanUtils.copyProperties(cliente, clienteType);
clienteTypeList.add(clienteType);
}
response.getClienteType().addAll(clienteTypeList);
return response;
}
WebServiceConfig.java
package com.example.conexion.config;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.ws.config.annotation.EnableWs;
import org.springframework.ws.config.annotation.WsConfigurerAdapter;
import org.springframework.ws.transport.http.MessageDispatcherServlet;
import org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition;
import org.springframework.xml.xsd.SimpleXsdSchema;
import org.springframework.xml.xsd.XsdSchema;
import com.example.conexion.endpoint.ClienteEndpoint;
@EnableWs
@Configuration
public class WebServiceConfig extends WsConfigurerAdapter {
@SuppressWarnings({ "rawtypes", "unchecked" })
@Bean
public ServletRegistrationBean messageDispatcherServlet(ApplicationContext appContext){
MessageDispatcherServlet servlet = new MessageDispatcherServlet();
servlet.setApplicationContext(appContext);
servlet.setTransformWsdlLocations(true);
return new ServletRegistrationBean(servlet, "/ws/*");
}
// localhost:8080/ws/movies.wsdl
@Bean(name = "clientes")
public DefaultWsdl11Definition defaultWsdl11Definition(XsdSchema schema){
DefaultWsdl11Definition wsdl11Definition = new DefaultWsdl11Definition();
wsdl11Definition.setPortTypeName("ClientesPort");
wsdl11Definition.setLocationUri("/ws");
wsdl11Definition.setTargetNamespace(ClienteEndpoint.NAMESPACE_URI);
wsdl11Definition.setSchema(schema);
return wsdl11Definition;
}
@Bean
public XsdSchema moviesSchema(){
return new SimpleXsdSchema(new ClassPathResource("cliente.xsd"));
}
}
cliente.xsd
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://www.javaspringclub.com/movies-ws"
targetNamespace="http://www.javaspringclub.com/movies-ws"
elementFormDefault="qualified">
<xs:element name="getClienteByIdRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="clienteCedula" type="xs:long" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getClienteByIdResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="clienteType" type="tns:clienteType" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="clienteType">
<xs:sequence>
<xs:element name="cedula" type="xs:int" />
<xs:element name="name" type="xs:string" />
<xs:element name="apellido" type="xs:string" />
<xs:element name="tipo_cliente" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="getAllClientesRequest">
<xs:complexType/>
</xs:element>
<xs:element name="getAllClientesResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="clienteType" type="tns:clienteType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
应用程序属性
# Oracle settings
spring.datasource.url=jdbc:oracle:thin:@//10.164.7.203:1521/ORCLPDB1.localdomain
spring.datasource.username=cesar
spring.datasource.password=xxxxx123
spring.datasource.driver-class-oracle.jdbc.driver.OracleDriver
spring.main.banner-mode=off
spring.jpa.hibernate.ddl-auto=update
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example.conexion</groupId>
<artifactId>soap-service-example</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>soap-service-example</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.M4</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.1.Final</version>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web-services</artifactId>
</dependency>
<dependency>
<groupId>com.oracle.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>12.2.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
<version>2.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.5.0</version>
<executions>
<execution>
<id>xjc-schema</id>
<goals>
<goal>xjc</goal>
</goals>
</execution>
</executions>
<configuration>
<sources>
<source>src/resources/cliente.xsd</source>
</sources>
<packageName>com.example.conexion.ws</packageName>
<schemaDirectory>${project.basedir}/src/main/resources/</schemaDirectory>
<outputDirectory>${project.basedir}/src/main/java</outputDirectory>
<clearOutputDir>false</clearOutputDir>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<!-- Repository for ORACLE JDBC Driver -->
<repository>
<id>codelds</id>
<url>https://code.lds.org/nexus/content/groups/main-repo</url>
</repository>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
从 @EnableAutoConfiguration (exclude = {DataSourceAutoConfiguration.class}) 中删除该行,该行用于禁用 DataSource 的自动配置,但会引发另一个错误:
APPLICATION FAILED TO START
Description:
Cannot determine embedded database driver class for database type NONE
Action:
If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active).
我是 Spring Boot 的新手,我在网上搜索过,但没有得到任何解决方案,我按照以下示例进行指导: https://www.javaspringclub.com/publish-and-consume-soap-web-services-using-spring-boot-part-1/
您可以从SQL Developer,甚至从java平静地连接到数据库
更新: spring.datasource.driver-class-name = oracle.jdbc.driver.OracleDriver 行正确,但我仍然有同样的问题
最佳答案
我在你的配置中发现了一个拼写错误该行 -> spring.datasource.driver-class-oracle.jdbc.driver.OracleDriver应该是 -> spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
关于java - 使用 SPRING BOOT(SOAP 服务)连接到 Oracle 数据库时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60098686/
我的应用程序从一个有 5 个选项卡的选项卡栏 Controller 开始。一开始,第一个出现了它的名字,但其他四个没有名字,直到我点击它们。然后根据用户使用的语言显示名称。如何在选项卡栏出现之前设置选
我有嵌套数组 json 对象(第 1 层、第 2 层和第 3 层)。我的问题是数据表没有出现。任何相关的 CDN 均已导入。该表仅显示部分。我引用了很多网站,但都没有解决我的问题。 之前我使用标准表来
我正在尝试设置要显示的 Parse PFLoginViewController。这是我的一个 View Controller 的类。 import UIKit import Parse import
我遇到了这个问题,我绘制的对象没有出现在 GUI 中。我知道它正在被处理,因为数据被推送到日志文件。但是,图形没有出现。 这是我的一些代码: public static void main(Strin
我有一个树状图,其中包含出现这样的词...... TreeMap occurrence = new TreeMap (); 字符串 = 单词 整数 = 出现次数。 我如何获得最大出现次数 - 整数,
因此,我提示用户输入变量。如果变量小于 0 且大于 10。如果用户输入 10,我想要求用户再次输入数字。我问时间的时候输入4,它说你输入错误。但在第二次尝试时效果很好。例如:如果我输入 25,它会打印
我已经用 css overflow 属性做了一个例子。在这个例子中我遇到了一个溢出滚动的问题。滚动条出现了,但没有工作意味着每当将光标移动到滚动条时,在这个滚动条不活动的时间。我对此一无所知,所以请帮
我现在正在做一个元素。当您单击一个元素时,会出现以下信息,我想知道如何在您单击下一个元素而不重新单击同一元素时使其消失....例如,我的元素中有披萨,我想单击肉披萨看到浇头然后点击奶酪披萨看到浇头和肉
我有一个路由器模块,它将主题与正则表达式进行比较,并将出现的事件与一致的键掩码链接起来。 (它是一个简单的 url 路由过滤,如 symfony http://symfony.com/doc/curr
这个问题在这里已经有了答案: 9年前关闭。 Possible Duplicate: mysql_fetch_array() expects parameter 1 to be resource, bo
我在底部有一个带有工具栏的 View ,我正在使用 NavigationLink 导航到该 View 。但是当 View 出现时,工具栏显示得有点太低了。大约半秒钟后,它突然跳到位。它只会在应用程序启
我试图在我的应用程序上为背景音乐添加一个 AVAudioPlayer,我正在主屏幕上启动播放器,尝试在应用程序打开时开始播放但出现意外行为... 它播放并立即不断创建新玩家并播放这些玩家,因此同时播放
这是获取一个数字,获取其阶乘并将其加倍,但是由于基本情况,如果您输入 0,它会给出 2 作为答案,因此为了绕过它,我使用了 if 语句,但收到错误输入“if”时解析错误。如果你们能提供帮助,我真的很感
暂停期间抛出异常 android.os.DeadObjectException 在 android.os.BinderProxy.transactNative( native 方法) 在 androi
我已经为猜词游戏编写了一些代码。它从用户输入中读取字符并在单词中搜索该字符;根据字符是否在单词中,程序返回并控制一些变量。 代码如下: import java.util.Random; import
我是自动化领域的新手。这是我的简单 TestNG 登录代码,当我以 TestNG 身份运行该代码时,它会出现 java.lang.NullPointerException,双击它会突出显示我导航到 U
我是c#程序员,我习惯了c#的封装语法和其他东西。但是现在,由于某些原因,我应该用java写一些东西,我现在正在练习java一天!我要创建一个为我自己创建一个虚拟项目,以便让自己更熟悉 Java 的
我正在使用 Intellij,我的源类是 main.com.coding,我的资源文件是 main.com.testing。我将 spring.xml 文件放入资源文件中。 我的测试类位于 test.
我想要我的tests folder separate到我的应用程序代码。我的项目结构是这样的 myproject/ myproject/ myproject.py moduleon
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 6 年前。 因此,我尝试比较 2 个值,一个
我是一名优秀的程序员,十分优秀!