CXF без Spring

Можно ли использовать CXF с Tomcat и без Spring? Если да, то как?

Ответы

Ответ 1

Предположим, вы хотите создать веб-сервис с CFX, который будет работать в Tomcat? Это вполне возможно, и Spring является необязательным. Вам не нужно использовать его, если вы этого не хотите.

Ответ 2

Программный код CXF можно программировать без Spring. См. Примеры кода здесь. Ввод пути контекста веб-приложения вместе с расширением конечной точки - Greeter в примере кода - отобразит итоговую страницу в браузере со ссылкой на WSDL.

Нет Spring, что дает CXF очень небольшую площадь. Я нашел единственные банки, необходимые для (CXF 2.2.1):

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

Я считаю, что neethi-2.0.4.jar может также понадобиться для некоторых конфигураций, но я не нуждался в нем.

Удачи!

Ответ 3

CXF предназначен для использования с spring. Странно, что вы хотите использовать его без него.

Вы можете попробовать NoSpringServletServer и использовать API ServerFactoryBean или JaxWS.

Вот код NoSpringServletServer.

Но вам все равно понадобится spring как зависимость. Основной JaxWS можно сделать без spring. Но для почти любого другого вам понадобится как минимум spring -core.jar

Ответ 4

Я не думаю, что можно использовать CXF, полностью независимый от spring в Tomcat.

Причина в том, что когда я делаю список деревьев зависимостей Maven (mvn dependency: tree) для минимального веб-сервиса CXF, отображается следующее (что показывает, что ему нужен Spring)

     +- 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