[英]IllegalStateException on camel cxf route in FUSE (servicemix) ESB
[英]jaxws and camel route within servicemix
我想做這樣的事情:
<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
>到<jaxws:client
>的camel路由使用什么語法? 我知道你可以使用<cxf:cxfEndpoint
>,但如果我不需要,我不想使用它。
我知道如何使用JBI執行此操作,但我想使用OSGI包而不是JBI將其部署到servicemix中。
您的配置中的jaxws:client
是一個端點, jaxws:endpoint
也是jaxws:endpoint
,可以使用bean組件連接:
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="bean:AbcEsbHTTPEndpoint"/>
<to uri="bean:decodeClient"/>
</route>
</camelContext>
通常需要在兩者之間做一些事情 - 比如以某種方式調整消息 - 但上面至少會實現路由。
請參閱camel發行版中示例中的一些cxf示例。 他們展示了如何設置cxf,而不是jbi。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.