CXF WS-Security на Mule 3, встроенный в JBoss - PullRequest
0 голосов
/ 02 января 2012

У меня есть веб-сервис CXF, который я хотел бы защитить с помощью сертификата x509.Один из подходов, который я попробовал, заключался в том, чтобы обернуть его на конечной точке сервлета с помощью мула 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>

использовать мой пользовательский модуль входа в систему (JAAS) на jBoss.Я не уверен, что это лучший подход.Мне действительно нужно иметь ws-конечную точку, защищенную сертификатом x509 на jBoss.У меня есть этот сценарий, работающий с использованием 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

Может кто-нибудь помочь?

Спасибо

Kelly

1 Ответ

0 голосов
/ 02 января 2012

Путь входящей конечной точки сервлета - это не полный URI, а относительный путь вашего ресурса.

Попытка:

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