簡體   English   中英

servicemix中的jaxws和camel路由

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM