2016-04-29 2 views
1

Может кто-нибудь объяснить разницу между 2 cxf Interceptors, который используется в этом файле конфигурации компонента.SAAJInInterceptor и WSS4JInInterceptor CXF Interceptors

Здесь я объявляя JAXWS: конечный элемента с перехватчиками SAAJInInterceptor и WSS4JInInterceptor.

Почему 2 перехватчика?

В чем разница между 2?

Может ли один перехватчик работать без другого?

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" 
     xmlns:jaxrs="http://cxf.apache.org/jaxrs" 
     xsi:schemaLocation="http://cxf.apache.org/jaxws 
          http://cxf.apache.org/schemas/jaxws.xsd 
          http://www.springframework.org/schema/beans 
          http://www.springframework.org/schema/beans/spring-beans.xsd 
          http://cxf.apache.org/jaxrs 
          http://cxf.apache.org/schemas/jaxrs.xsd"> 
     <jaxws:endpoint id="auth" 
         implementor="com.company.auth.service.AuthServiceImpl" 
         address="/corporateAuth"> 
      <jaxws:inInterceptors> 
       <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"></bean> 
       <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor"> 
        <constructor-arg> 
         <map> 
          <entry key="action" value="UsernameToken" /> 
          <entry key="passwordType" value="PasswordText" /> 
          <entry key="passwordCallbackClass" value="com.company.auth.service.ServerPasswordCallback"></entry> 
         </map> 
        </constructor-arg> 
       </bean> 
      </jaxws:inInterceptors> 
     </jaxws:endpoint> 
    </beans> 

Спасибо за ваши объяснения.

ответ

1

SAAJInInterceptor преобразует входящее сообщение в сообщение DOM, чтобы оно могло обрабатываться WSS4JInInterceptor. WSS4JInInterceptor применяет указанные действия WS-Security для входящего сообщения.

+0

Вы можете дать некоторое объяснение о сообщении DOM. –

2

SAAJInterceptors нужно добавлять только в том случае, если вы используете CXF 2.0.x или ниже. Из CXF 2.1.x они будут добавляться автоматически: http://cxf.apache.org/docs/ws-security.html

+0

Привет @Colm, вы знаете, как я могу отправить имя сертификата, с которым я хочу зашифровать ответ, всякий раз, когда я делаю запрос к службе, используя Wss4jSecurityInterceptor? – jamlhet

Смежные вопросы