2012-10-10 61 views
1

我是Apache Camel和CXF的新手,我試圖創建一個查詢需要基本認證的遠程WS並指定SoapAction頭的路由。我用spring-ws組件實現了它,但是我想知道是否可以對cxf組件做同樣的事情。駱駝CXF生產者基本認證

我現在的配置是:

RouteBuilder

from("file:src/test/resources/data?noop=true") 
    .to("xquery:transform/search.xquery") 
    .to("cxf:-----") 
    .to("log:TestApp"); 

我讀過一些有關管道,但我不知道怎麼在我目前的駱駝上下文配置。

CamelContext
<camel:camelContext xmlns="http://camel.apache.org/schema/spring"> 
    <package>my.package</package> 
</camel:camelContext> 

在此先感謝

回答

2

您可以用駱駝HTTP組件實現這一點:

http://server.com?authMethod=Basic&authUsername=user&authPassword=password

不過,你可能想利用的功能, CXF提供。

您可以設置一個CXF豆駱駝,然後設置一個HTTP管道提供基本身份驗證:

http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html#ClientHTTPTransport%28includingSSLsupport%29-BasicAuthentication

<conduit name="https://localhost:.*"" 
    xmlns:sec="http://cxf.apache.org/configuration/security" 
    xmlns="http://cxf.apache.org/transports/http/configuration"> 
    <authorization> 
     <sec:UserName>myuser</sec:UserName> 
     <sec:Password>mypasswd</sec:Password> 
     <sec:AuthorizationType>Basic</sec:AuthorizationType> 
    </authorization> 
</conduit> 

使用HTTP管道鏈接到駱駝CXF豆的「名稱'參數。您可以像上面那樣將其設置爲一個網址,或者查看文檔以將其設置爲與您的服務匹配的URI。

感謝, 約傑什

+0

感謝約傑什我會嘗試一下儘快 –