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.

Reply via email to