Я пытаюсь разработать первый веб-сервис soap jax-ws с Apache CXF и Spring boot; Я действительно новичок в использовании этих технологий. Для этого я создал проект maven для веб-приложений, предназначенный для реализации моей службы веб-уровня (зная, что уровни dao и профессия будут вызваны через зависимость, которая на самом деле представляет собой приложение java проекта maven с весенней загрузкой). и все это связано с корпоративным приложением.Ошибка страницы «Не найдено», когда тесты интеграции cxf-spring boot
Тогда я построил Apache CXF и пружинный загрузки в веб-проекта, как это, мой pom.xml:
com.xxx.dev модуля веб 0.0.1-SNAPSHOT войны $ {project.build.directory}/одобрил UTF-8
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.7</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-bindings-soap</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-bindings-xml</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.7</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>mobilepayment-dao</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-bindings-xml</artifactId>
<version>3.1.7</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-bindings-soap</artifactId>
<version>3.1.7</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
<version>3.1.7</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>mavencentral</id>
<name>Maven Central</name>
<url>https://repo1.maven.org/maven2/</url>
<layout>default</layout>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<compilerArguments>
<endorseddirs>${endorsed.dir}</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<outputDirectory>${endorsed.dir}</outputDirectory>
<silent>true</silent>
<artifactItems>
<artifactItem>
<groupId>javax</groupId>
<artifactId>javaee-endorsed-api</artifactId>
<version>7.0</version>
<type>jar</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
моя весна ботинок конфи Класс конфигурирования:
@Configuration @ImportResource ({ "Путь к классам: CXF-servlet.xml"}) общественного класса MyConfig {
@Autowired(required=true)
private Bus bus;
@Bean
public ServletRegistrationBean cxfServlet() {
ServletRegistrationBean servlet = new ServletRegistrationBean(new CXFServlet(), "/services/*");
servlet.setLoadOnStartup(1);
return servlet;
}
@Bean
public IServicesWeb momoService() {
return new MomoServices();
}
@Bean
public Endpoint endpoint() {
EndpointImpl endpoint = new EndpointImpl(bus, momoService());
endpoint.publish("/momo");
return endpoint;
} }
Интерфейс веб-сервиса:
Публичный интерфейс @WebService IServicesWeb расширяет IMetierGestionCompte
класс реализации:
@Component @WebService MomoServices общественного класса реализует IServicesWeb {
private IMetierGestionCompte gcMetier;
public void setGcMetier(MetierImplGestionCompte gcMetier) {
this.gcMetier = gcMetier;
}
@WebMethod
@Override
public void ajouterCompte() {
gcMetier.ajouterCompte();
}
Web проект развертывается очень хорошо на Wildfly с "привет мир" в " http: // localhost: 8080/web-mobilepayment/"
Я обеспокоен тем, что когда я пытаюсь проверить свои веб-службы и адреса wsdl: «http: // localhost: 8080/web-mobilepayment/services» и «http: // localhost: 8080/web-mobilepayment/services? wsdl «ничего не появляется (нет следов интеграции cxf-spring boot), если это не сообщение« не найдено » Я не понимаю, почему мои веб-службы не работают, пожалуйста, помогите мне!
Спасибо за ваш ответ. Когда я звоню http: // localhost: 8080/services/momo? Wsdl; я получаю страницу ошибок от wildfly с сообщением «404 - N от Найдена ". Я пытался найти wsdl-файл в моем пути к классам, но я не вижу его – FiokoSoft
И что происходит, когда вы вызываете http: // localhost: 8080/services /? У вас должен быть хотя бы ответ от сервлета CXF. – Isukthar
когда я звоню localhost: 8080/services /? ; У меня такая же страница ошибки. Я заметил, что мой проект не содержит какого-либо файла wsdl. Я не понимаю причину – FiokoSoft