6

我想做这样的事情:

<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>的骆驼路线 使用什么语法?我知道你可以使用<cxf:cxfEndpoint>但如果我不需要,我不想使用它。

我知道如何用 JBI 做到这一点,但我想使用 OSGI 包而不是 JBI 将它部署到 servicemix 中。

4

2 回答 2

2

The jaxws:client you have in your configuration is an endpoint as is the jaxws:endpoint and could be connected using the bean component:

<camelContext xmlns="http://camel.apache.org/schema/spring">
    <route>
        <from uri="bean:AbcEsbHTTPEndpoint"/>
        <to uri="bean:decodeClient"/>
    </route>
</camelContext>

Usually there's a need to do something in between - say to adapt the message in some way - but the above will achieve the routing at least.

于 2013-10-29T15:55:39.383 回答
-4

See some of the cxf examples from the examples in the camel distribution. They show how to setup cxf, not as jbi.

于 2011-03-02T19:07:29.563 回答