2012-01-02 2 views
0

x509証明書で保護するCXF Webサービスがあります。私が試した1つのアプローチは、それをmule 3.xのサーブレットエンドポイントにラップすることでした。CXF WS-Security on JBossに埋め込まれたMule 3

<servlet:inbound-endpoint path="localhost:8080/myapp/mule/services/authrequest"> 
     <cxf:jaxws-service 
      serviceClass="myapp.webservices.v1_01_40.AuthPortType" 
      validationEnabled="false"> 
     </cxf:jaxws-service> 
     <custom-security-filter class="myapp.InitialSecurity"></custom-security-filter> 
    </servlet:inbound-endpoint> 

web.xmlの

<servlet> 
    <servlet-name>muleServlet</servlet-name> 
    <servlet-class>org.mule.transport.servlet.MuleReceiverServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>muleServlet</servlet-name> 
    <url-pattern>/mule/services/*</url-pattern> 
</servlet-mapping> 

<context-param> 
    <param-name>org.mule.config</param-name> 
    <param-value>xml config files</param-value> 
</context-param> 

<listener> 
    <listener-class>org.mule.config.builders.MuleXmlBuilderContextListener</listener-class> 
</listener> 

私は、JBoss上で私のカスタムログインモジュール(JAAS)を使用しようとするサーブレットでそれをラップしようとしています。これが最善のアプローチであるかどうかはわかりません。 jBossのx509証明書でwsエンドポイントを確保する必要があります。私はMule 1.xとjBoss 4.2.3とカスタムJAASログインモジュールを使ってこのシナリオを動作させました。私はこのアプリをmule 3.xとjBoss 6.1に移行する必要があります。私は、メッセージヘッダーを変更して別のものを追加する必要があると私に言ったいくつかの例をオンラインで見ましたが、私はそれを行うことはできません。メッセージは同じままでなければなりません。

私は、JBoss 6.1でこれを展開するとき、私はこのエラーを取得:

ERROR [org.mule.transport.servlet.MuleReceiverServlet] message: Endpoint "authrequest" not found: org.mule.api.transport.NoReceiverForEndpointException: Endpoint "authrequest" not found 

誰かが助けることができますか?

おかげ

ケリー

+0

はMule3について聞いたことはありません。なぜ[CXF + WS-Security](http://cxf.apache.org/docs/ws-security.html#WS-Security-UsingX.509Certificates)を使用しないのですか? –

答えて

0

サーブレット着信エンドポイントのパスは完全なURIが、あなたのリソースの相対パスではありません。

試してみてください。

<servlet:inbound-endpoint path="authrequest"> 
関連する問題