2011-02-28 104 views
4

內駱駝的路線,我想這樣做:JAXWS和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>駱駝的路線是什麼使用的語法?我知道你可以使用<cxf:cxfEndpoint>但我不想用,如果我不必。

我知道如何用JBI做到這一點,但我想用OSGI包而不是JBI將它部署到servicemix中。

回答

-4

查看駱駝發行版中的示例中的一些cxf示例。他們展示瞭如何設置cxf,而不是jbi。

+0

感謝您的回覆。是的,我仔細看過了那些。我認爲這個例子(camel-example-cxf-proxy)是確切的用例。基於這個例子,我可以使用來自「cxf:cxfEndpoint」配置的終點的駱駝路線。我很好奇,如果我能從駱駝路線上使用「jaxws:endpoint」端點。我不知道駱駝路線中引用jaxws:端點的語法。 感謝您的幫助! – guido 2011-03-03 12:04:10

+0

Guido,我也嘗試將camel-example-cxf-proxy安裝到serviceMix 4.3.0中。安裝很好(install -s wrap:file:/ c:/ ... jar)。但看起來這個例子不起作用。使用SOAPUI進行測試時,我無法訪問WSDL。你可以讓我知道如何使它在ServiceMix中工作 – David 2012-03-07 18:38:26

+2

克勞斯......我知道你很聰明,因爲你發明了駱駝。但我們可以看到一些實際的代碼嗎?我一直在尋找一個路由到/從一個jax-ws端點的實際例子,但找不到一個。你成爲駱駝的主要創造者將是最好的人舉個例子(甚至是一個鏈接,什麼?)。如果你發佈了一個例子,我將刪除我對這個答案的低估。乾杯。 – Jack 2012-07-19 15:22:05

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> 

通常有一個需要做的事情之間 - 說來適應消息以某種方式 - 但以上將至少實現路由。