I'm trying to figure out how to set the mustUnderstand parameters to 0. Here
is my spring configuration of my bean:
<jaxws:client id="clientDataService"
serviceClass="mypackage.name.ClientDataServiceSoap"
address="https://serverlocation/clientdataservice.asmx">
<jaxws:inInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
</jaxws:inInterceptors>
<jaxws:outInterceptors>
<bean
class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
<bean
class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" />
<bean
class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
<constructor-arg>
<map>
<entry key="action"
value="UsernameToken" />
<entry key="passwordType"
value="PasswordText" />
<entry key="user"
value="pearsoninc\soapadmin" />
<entry
key="passwordCallbackRef">
<ref
bean="cornerstonePasswordCallback" />
</entry>
</map>
</constructor-arg>
</bean>
</jaxws:outInterceptors>
</jaxws:client>
I can't seem to figure out how to set the must understand parameter to 0.
Does anyone know a spring method or code method to accomplish this?
I did try this but I received an xpath error from cxf:
final Client cfxClientProxy =
ClientProxy.getClient(this.clientDataService);
for (final Interceptor interceptor :
cfxClientProxy.getOutInterceptors()) {
if (interceptor instanceof WSS4JOutInterceptor) {
((WSS4JOutInterceptor)
interceptor).getProperties().put(WSHandlerConstants.MUST_UNDERSTAND, "0");
}
}
I'm using CXF 2.4.2. And this is for a client communicating with a
microsoft web service. For some reason it is unable to understand the
security header mustUnderstand="1" that is sent from CXF, so I'm trying to
figure out any work around to get the "crappy" web service to accept my
request.
--
View this message in context:
http://cxf.547215.n5.nabble.com/Trying-to-set-mustunderstand-to-0-tp4728538p4728538.html
Sent from the cxf-user mailing list archive at Nabble.com.