2009-03-27 8 views

Antwort

13

Ich nehme an, Sie wollen einen Web Service mit CFX erstellen, dass es in Tomcat laufen würde? Dies ist absolut möglich und Spring ist optional. Sie müssen es nicht benutzen, wenn Sie nicht wollen.

+10

Nun, ich glaube, er fragt, wie das gemacht werden könnte, nicht nur, wenn es gemacht werden kann. – liltitus27

2

CXF soll mit Feder verwendet werden. Es ist seltsam, dass du es ohne es benutzen willst.

Sie könnten NoSpringServletServer ausprobieren und die ServerFactoryBean oder JaxWS API verwenden.

Hier ist der Code für die NoSpringServletServer.

Aber Sie werden immer noch brauchen Frühling als Abhängigkeit. Das grundlegende JaxWS kann ohne Feder gemacht werden. Aber für fast alles andere brauchen Sie zumindest federkern.jar

+0

Eigentlich dachte ich darüber nach, eine Webapp zu erstellen, die als Kriegsdatei in tomcat, nicht als eigenständiger Server, eingesetzt wird. Also brauche ich auch keinen Jetty. –

+0

Eine Webapp wird auf Tomcat wie in jedem anderen Servlet-Container (fast) bereitgestellt. Das Beispiel zeigt einen eigenständigen Server, das Servlet kann jedoch von einer web.xml aus referenziert werden. CXFNonSpringServlet erweitert Servlet, das Sie kennen. –

+0

Dieser Link scheint nicht mehr gültig zu sein. Hier ist eine alternative Informationsquelle: http://cxf.apache.org/docs/servlet-transport.html#ServletTransport-UsingtheservetransporttransportohneSpring –

-1

Ich glaube nicht, dass es möglich ist, CXF völlig unabhängig von der Feder in Tomcat zu verwenden.

Grund ist, dass, wenn ich eine Maven Abhängigkeitsbaum Liste (MVN Abhängigkeit: Baum) tue für ein absolutes Minimum CXF webservice, können die folgenden aufgeführt ist (was zeigt, dass es Frühling braucht)

 +- org.apache.cxf:cxf-rt-core:jar:2.2.2:compile 
[INFO] | | +- com.sun.xml.bind:jaxb-impl:jar:2.1.9:compile 

[INFO] | | +- org.springframework:spring-core:jar:2.5.5:compile 

[INFO] | | +- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.6:compile 

    org.apache.cxf:cxf-rt-transports-http:jar:2.2.2:compile 
[INFO] \- org.springframework:spring-web:jar:2.5.5:compile 

[INFO]  +- commons-logging:commons-logging:jar:1.1.1:compile 
+1

verwenden Sie einfach org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet Dudi

+0

Ich stimme zu, dass der Abhängigkeitsbaum noch über transitive Federabhängigkeiten verfügt, die mit @bercolax vereinbart wurden, programmatisch kann die Spring-API-XML-Konfiguration vermieden werden – Ashoka

21

Sie konfigurieren CXF programmgesteuert ohne Spring. Siehe die Codebeispiele here. Wenn Sie den Webanwendungskontextpfad zusammen mit der Endpunkterweiterung - Greeter im Codebeispiel - einfügen, wird im Browser eine Übersichtsseite mit einer Verknüpfung zur WSDL angezeigt.

Keine Feder notwendig, wodurch CXF einen sehr geringen Platzbedarf hat. Ich fand die einzigen Gläser notwendig zu sein (für CXF 2.2.1):

  • XmlSchema-1.4.5.jar
  • cxf-2.2.3.jar
  • wsdl4j-1.6.2.jar

Ich glaube Neethi-2.0.4.jar kann auch für einige Konfigurationen notwendig sein, aber ich habe es nicht benötigt.

Viel Spaß!