Вот как выглядит мой пример SOAP WS с использованием cxf
.
Во-первых, в camel-context.xml
определите bean-компонент веб-службы:
<cxf:cxfEndpoint id="insuranceService"
address="http://localhost:8080/insuranceService"
serviceClass="com.mycompany.insurance.insurancePort"
wsdlURL="schema/InsuranceService.wsdl">
</cxf:cxfEndpoint>
Теперь верблюжий маршрут выглядит следующим образом:
from("somewhere")
.to("cxf:bean:insuranceService")
И вам могут понадобиться некоторые зависимости, подобные этим:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-cxf</artifactId>
<version>${framework.camel}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>${framework.cxf}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-http</artifactId>
<version>${framework.camel}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jaxb</artifactId>
<version>${framework.camel}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-soap</artifactId>
<version>${framework.camel}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-saxon</artifactId>
<version>${framework.camel}</version>
</dependency>