Hi. I'm using Wss4jSecurityInterceptor and works fine for usernametoken and signature. But when I'm try to encrypt I have troubles with mapping, my server console prints:
I'm using PayloadRootQNameEndpointMapping . I tried SoapActionEndpointMapping but it only works when I put "defaultEndpoint" property, I can't map the encrypted requests to my endpoint.org.springframework.ws.server.MessageDispatcher dispatch
WARNING: No endpoint mapping found for [SaajSoapMessage {http://www.w3.org/2001/04/xmlenc#}EncryptedData]
Which class should I use for mapping and encryption? PayloadRootQNameEndpointMapping or SoapActionEndpointMapping?
Here's my servlet-ws:
mapping:
interceptor:<bean id="endpointMapping" class="org.springframework.ws.server.endpoint.mapp ing.PayloadRootQNameEndpointMapping">
<!-- <bean id="endpointMapping" class="org.springframework.ws.soap.server.endpoint .mapping.SoapActionEndpointMapping"> -->
<!-- <property name="defaultEndpoint" ref="sampleEndpoint"/> -->
<property name="mappings">
<props>
<prop key="{http://myservice.com}echo">sampleEndpoint</prop>
</props>
</property>
<property name="interceptors">
<list>
<ref local="wsSecurityInterceptor"/>
</list>
</property>
</bean>
<bean id="wsSecurityInterceptor" class="org.springframework.ws.soap.security.wss4j. Wss4jSecurityInterceptor">
<property name="validationActions" value="UsernameToken Encrypt"/>
<property name="validationSignatureCrypto" ref="cryptoFactory"/>
<property name="validationCallbackHandler" ref="keystoreCallbackHandler"/>
<property name="validationDecryptionCrypto" ref="cryptoFactory"/>
<property name="validationCallbackHandlers">
<list>
<ref local="simplePasswordValidationCallbackHandler"/>
<ref local="keystoreCallbackHandler"/>
</list>
</property>
</bean>


Reply With Quote