我想做这样的事情:
<jaxws:endpoint id="AbcEsbHTTPEndpoint"
implementor="com.abc.esb.ABCWSServiceImpl"
address="/ABCWSServiceService"
wsdlLocation="wsdl/ABCWSService.wsdl"
endpointName="e:ABCWSService"
serviceName="s:ABCWSServiceService"
xmlns:e="http://com.abc.esb/abcesb/services/ABCWSService"
xmlns:s="http://com.abc.esb/abcesb/services/ABCWSService">
</jaxws:endpoint>
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="cxf:bean://ABCWSServiceService"/>
<to uri="cxf:bean:decodeClient"/>
</route>
</camelContext>
<jaxws:client id="decodeClient"
address="http://ESB-DEV1:9081/abcesb/services/Decoder"
wsdlLocation="http://ESB-DEV1:9081/abcesb/services/Decoder?wsdl"
serviceClass="com.abc.esb.ABCServiceInterface"
abstract="true" >
</jaxws:client>
我不明白如何配置从 <jaxws:endpoint
&gt; 到 <jaxws:client
&gt; 的驼峰路线是什么语法使用?我知道您可以使用 <cxf:cxfEndpoint
&gt; ,但如果我不需要,我不想使用它。
我知道如何使用JBI执行此操作,但我想使用OSGI包而不是JBI将其部署到servicemix中。
答案 0 :(得分:2)
您的配置中的jaxws:client
端点与jaxws:endpoint
一样,可以使用bean组件进行连接:
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="bean:AbcEsbHTTPEndpoint"/>
<to uri="bean:decodeClient"/>
</route>
</camelContext>
通常需要在两者之间做一些事情 - 比如以某种方式调整消息 - 但上面至少会实现路由。
答案 1 :(得分:-4)
请参阅camel发行版中示例中的一些cxf示例。他们展示了如何设置cxf,而不是jbi。