Настройте общий перехватчик веб-службы и usernameTokenValidator, совместимые с Spring-WS и CXF - PullRequest
0 голосов
/ 05 декабря 2011

Прямо сейчас у меня ниже конфигурация для одной из моих конечных точек WS.

<jaxws:endpoint id="myService" implementor="#myServiceImpl" address="/myService">
<jaxws:inInterceptors>
  <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
  <ref bean="myServiceInterceptor"/>
</jaxws:inInterceptors>
 <jaxws:properties>
<entry key="ws-security.ut.validator" value-ref="myServiceUsernameTokenValidator"/>
<jaxws:properties>
</jaxws:endpoint>

 <bean id=" myServiceInterceptor " class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
   <constructor-arg>                              
     <map>
        <entry key="action" value="UsernameToken" />
        <entry key="passwordType" value="PasswordText" />
      </map>          
    </constructor-arg>
</ bean>

Теперь я хочу переместить bean = "myServiceInterceptor" и пользовательский конфиг Validator userNameToken (jaxws: свойства) в отдельную банку (скажем A), Так что любой пружинный WS, использующий этот jar A , может использовать те же функции перехватчика и customUseranameToken.

Мои вопросы:

1)  How do I setup/configure a generic webservice security interceptor rather than a cxf specific interceptor.
2)  How can I setup a common <jaxws:properties> that can be used by all the endpoints.

Спасибо!

1 Ответ

0 голосов
/ 05 декабря 2011

МОСТ материала может быть настроен на уровне шины и, таким образом, наследоваться всем, что использует эту шину:

<cxf:bus>
   <cxf:inInterceptors>....
   <cxf:properties>....
</cxf:bus>
...