JBoss 中嵌入的 Mule 3 上的 CXF WS-Security

发布于 2024-12-23 17:03:30 字数 1779 浏览 1 评论 0原文

我有一个 CXF Web 服务,我想使用 x509 证书来保护它。我尝试的一种方法是使用 mule 3.x 将其包装在 servlet 端点上。

<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 上,以尝试在 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

有人可以帮忙吗?

谢谢凯莉

I have a CXF web service that I would to secure with a x509 certificate. One approach I tried was to wrap it on a servlet endpoint with mule 3.x.

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

I am trying to wrap it on a servlet to try to use my custom login module (JAAS) on jBoss. I am not sure if this is the best approach. I really need to have a ws-endpoint secured by a x509 certificate on jBoss. I have this scenario working using a Mule 1.x and jBoss 4.2.3 and a custom JAAS login module. I need to migrate this app to mule 3.x and jBoss 6.1. I saw some examples online that told me I had to change the message header and add something else, but I can't do that. The message has to stay the same.

When I deploy this on jboss 6.1 I get this error:

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

Can somebody help?

Thanks

Kelly

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

随波逐流 2024-12-30 17:03:31

Servlet 入站端点路径不是完整的 URI,而是资源的相对路径。

尝试:

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

The Servlet inbound endpoint path is not a full URI but the relative path of your resource.

Try:

<servlet:inbound-endpoint path="authrequest">
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文