2012-01-02 36 views
0

我有一个CXF web服务,我将使用x509证书进行安全保护。我尝试的一种方法是用mule 3.x将其包装在servlet端点上。嵌入在JBoss中的Mule 3上的CXF WS-Security

<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> 

我试图把它包在一个servlet尝试使用我的自定义登录模块(JAAS)在JBoss。我不确定这是否是最好的方法。我真的需要在jBoss上拥有一个由x509证书保护的ws端点。我有这个场景使用Mule 1.x和jBoss 4.2.3以及一个自定义的JAAS登录模块。我需要迁移这个应用程序来骡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)? – 2012-01-03 13:21:56

回答

0

servlet的入站终点的路径不是一个完整的URI,但你的资源的相对路径。

尝试:

<servlet:inbound-endpoint path="authrequest">