Apache CXF und tomcat
Ich bin ziemlich neu in Apache CXF und tomcat. Ich bin versucht, erstellen Sie eine einfache web-service und installieren Sie es auf tomcat. unten ist meine web.xml
Jedoch, wenn ich versuche, auf die "services" - Ordner unter mein browser sagt Keine Dienste gefunden wurden. Ich habe versucht, Erstellung von java-web-service-client, aber es ist nicht in der Lage, suchen Sie den Dienst entweder. Was könnte falsch sein in diesen?
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>Sample web service provider</display-name>
<listener>
<!-- For Metro, use this listener-class instead:
com.sun.xml.ws.transport.http.servlet.WSServletContextListener -->
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- Remove below context-param element if using Metro -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:META-INF/cxf/cxf.xml
</param-value>
</context-param>
<servlet>
<servlet-name>WebServicePort</servlet-name>
<!-- For Metro, use this servlet-class instead:
com.sun.xml.ws.transport.http.servlet.WSServlet -->
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>WebServicePort</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
</web-app>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies bedeutet, dass Sie keine Leistungen ausgesetzt in der Anwendung. Ihre
web.xml
scheint richtig zu sein aber ich habe einfach verpasst, eine Sache, die Spring-Konfiguration. Fügen Sie Ihre Spring config-Standort in Ihrerweb.xml
für z.B.:Außerdem müssen Sie eine Klasse erstellen, die die Implementierung Ihrer web-service-Schnittstelle und machen es wie die CXF-endpoint in Ihre Frühjahr
applicationContext.xml
Konfigurationsdatei. Für z.B.:Ihre
CandidateImpl
Klasse sollte @WebService annotation. Für z.B.:Wenn Sie alles richtig gemacht haben, sollten Sie sehen, dass es einen service, verfügbar unter:
Und Sie sollten in der Lage sein, um die WSDL-Datei wie folgt:
Siehe auch:
Müssen Sie die spring-Konfigurationsdatei Lage diese Arbeit zu machen. Sie können es wie folgt.
Müssen Sie zum konfigurieren eines Servlets in Ihre web.xml. Unten ein Beispiel.
Nun müssen Sie definieren, eine Datei namens spring-ws-servlet.xml unter WEB-INF-Ordner. Unten ein Beispiel für den Inhalt der spring-ws-servlet.xml enthält die aktuelle Konfiguration für den web-service. Dies hängt davon ab, Ihre Logik, natürlich:
Mit dabei, können Sie den Zugriff auf Ihre web-service unter http://localhost:8080/services/person?wsdl
Dies ist genommen aus diesem post. Es ist ein tutorial über das erstellen eines Cxf-service mit IntelliJ Idea und Frühjahr
https://aldavblog.wordpress.com/2015/01/22/creating-a-web-service-from-scratch-using-spring-maven-apache-cxf/