Just an idea here: I had a similar problem (once upon a time -:) ).
As far as I can remember it was because some probelms in the
deployment handling. Can you try to define the WsDoAllReceiver handler
directly in the request flow of the service? That is: not indirectly using
a handler type definition first and then using it in the request flow by
specifying its name only. 
 
Regards,
Werner
 


________________________________

        Von: wss4j wei [mailto:[EMAIL PROTECTED] 
        Gesendet: Dienstag, 13. März 2007 05:25
        An: [email protected]
        Betreff: Did not understand "MustUnderstand" 
header(s):{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security
        
        
        Do not know how to begin or resolve this issue and looking for help.
         
        Wrote a simple webservice program as :
        
=======================================================================================================================================

        public

        class DIIClient { 

        

        private final static String NAMESPACE = "http://ttdev.com/ss"; ; 

        

        

        public static void main(String[] args) throws Exception { 

        Service service = 

        new Service(); 

        Call call = (Call) service.createCall();

        

        call.setClientHandlers(

        new WSDoAllSender(),null); 

        call.setProperty(WSHandlerConstants.

        ACTION,"Signature"); 

        call.setProperty(WSHandlerConstants.

        USER,"Apple1"); 

        call.setProperty(WSHandlerConstants.

        PW_CALLBACK_CLASS,"com.ttdev.SecureService.Client.PasswordProvider "); 

        call.setProperty(WSHandlerConstants.

        SIG_PROP_FILE,"client-provider.properties" ); 

        call.setProperty(WSHandlerConstants.

        SIG_KEY_ID,"DirectReference" ); 

        call.setProperty(WSHandlerConstants.

        MUST_UNDERSTAND,"1"); 

        

        
call.setTargetEndpointAddress("http://localhost:5050/SecureService/services/SecureServiceSOAP
 ");

        call.setOperationStyle(Style.WRAPPED);

        call.setOperationName(new QName(NAMESPACE, "SecureServiceSOAP"));

        call.addParameter("s1", Constants.XSD_STRING, ParameterMode. IN);

        call.addParameter("s2", Constants.XSD_STRING, ParameterMode. IN);

        call.setReturnType(Constants.XSD_STRING);

        String result = (String) call.invoke(new Object[] { "abc", "123" });

        System.out.println(result);

        }

        }

        
=======================================================================================================================================
        \SecureService\context\WEB-INF\classes\client-config.wsdd
        <deployment
         xmlns="http://xml.apache.org/axis/wsdd/";
         xmlns:java="http://xml.apache.org/axis/wsdd/providers/java ">
         <handler name="sender" 
type="java:org.apache.ws.axis.security.WSDoAllSender">
         </handler>
         <service name="SecureServiceSOAP">
          <requestFlow> 
           <handler type="sender"/>
          </requestFlow>
         </service>
         <transport name="http"
          pivot="java:org.apache.axis.transport.http.HTTPSender"/>
        </deployment> 
         
        
=======================================================================================================================================
        
\SecureService\context\WEB-INF\classes\com\ttdev\SecureService\deploy.wsdd
        <deployment
            xmlns="http://xml.apache.org/axis/wsdd/";
            xmlns:java="http://xml.apache.org/axis/wsdd/providers/java ">
          <handler name="receiver" type 
="java:org.apache.ws.axis.security.WSDoAllReceiver">
          <parameter name="action" value="Signature">
          <parameter name="signaturePropFile" value=" 
service-provider.properties">
          </handler">
          <service name="SecureServiceSOAP" provider="java:RPC" style="wrapped" 
use="literal">
              <parameter name="wsdlTargetNamespace" value=" 
http://ttdev.com/ss"/>
              <parameter name="wsdlServiceElement" value="SecureService"/>
              <parameter name="schemaUnqualified" value=" http://ttdev.com/ss"/>
              <parameter name="wsdlServicePort" value="SecureServiceSOAP"/>
              <parameter name="className" value=" 
com.ttdev.SecureService.SecureServiceSOAPImpl"/>
              <parameter name="wsdlPortType" value="SecureService"/>
              <parameter name="typeMappingVersion" value="1.2 "/>
              <operation name="concat" qname="operNS:concat" 
xmlns:operNS="http://ttdev.com/ss"; returnQName="concatResponse" 
returnType="rtns:string" xmlns:rtns=" http://www.w3.org/2001/XMLSchema"; 
soapAction="http://ttdev.com/ss/NewOperation"; >
                <parameter qname="s1" type="tns:string" xmlns:tns=" 
http://www.w3.org/2001/XMLSchema"/>
                <parameter qname="s2" type="tns:string" xmlns:tns=" 
http://www.w3.org/2001/XMLSchema"/ <http://www.w3.org/2001/XMLSchema"/> >
              </operation>
              <parameter name="allowedMethods" value="concat"/>
          <requestFlow>
           <handler type="receiver"/> 
          </requestFlow>
          </service>
        </deployment>
        
=======================================================================================================================================
        Request Information :

        POST http://localhost:5050/SecureService/services/SecureServiceSOAP 
HTTP/1.0
        Content-Type: text/xml; charset=utf-8
        Accept: application/soap+xml, application/dime, multipart/related, 
text/* 
        User-Agent: Axis/1.4
        Host: localhost:5050
        Cache-Control: no-cache
        Pragma: no-cache
        SOAPAction: ""
        Content-Length: 3107

        <?xml version="1.0" encoding="UTF-8"?>
           <soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd=" 
http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
              <soapenv:Header> 
                 <wsse:Security 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
 " soapenv:mustUnderstand="1">
                    <wsse:BinarySecurityToken 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
 " 
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary
 " 
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3";
 
wsu:Id="CertId-900992">MIICODCCAaECAQMwDQYJKoZIhvcNAQEFBQAwVDELMAkGA1UEBhMCVVMxEjAQBgNVBAgTCVNhbiBSYW1vbjESMBAGA1UEBxMJU2FuIFJhbW9uMRAwDgYDVQQKEwdUZXN0IENBMQswCQYDVQQDEwJDQTAeFw0wNzAyMTEyMjU0MTNaFw0wOTAyMTAyMjU0MTNaMHUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTESMBAGA1UEBxMJU2FuIFJhbW9uMRQwEgYDVQQKEwtXZWxsZW4xIE9yZzEZMBcGA1UECxMQV2VsbGVuMSBPcmcgVW5pdDEUMBIGA1UEAxMLV2VsbGVuMSBMYXUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKIAsawDqN6/IYe7sxOKMXxXMDSh06gGgRYVS+nocEQgBxUoAGn2xY7eUQRfAVb2ouQhuNIoOy03dmTaRfDLVCaHcLr9WS0bL7Zfsz5/KcT/ae0boQ9rKS2Ggwl6i6zxm+OAyOPcHN3yNriWxLG2HmZYypCE6gZxgOGMvTnldGeXAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAR/0p+hOjiVy+/w9ShobzHB0Hpw/632vsD6Tz3jyHpUY4qox8L8iy7itulHcU/Ub1hVAWnBrK+QPsX98FJfkgB3iGZzLQqfhR4deWIV9rYEyxiR8fg9Cp2V48Xd5ZBoAruX22alFp4Huqa6U0+SGSIkVLsIqAkTGMAIqguFARlm4=</wsse:BinarySecurityToken>
 
                    <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"; 
Id="Signature-27682895">
                       <ds:SignedInfo>
                          <ds:CanonicalizationMethod Algorithm=" 
http://www.w3.org/2001/10/xml-exc-c14n#";></ds:CanonicalizationMethod>
                          <ds:SignatureMethod Algorithm=" 
http://www.w3.org/2000/09/xmldsig#rsa-sha1";></ds:SignatureMethod>
                          <ds:Reference URI="#id-22945909"> 
                             <ds:Transforms>
                                <ds:Transform 
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#";></ds:Transform >
                             </ds:Transforms>
                             <ds:DigestMethod 
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1";></ds:DigestMethod >
                             
<ds:DigestValue>WaZfZCfS6iCxSK56lL3Cs8xGl3A=</ds:DigestValue>
                          </ds:Reference>
                       </ds:SignedInfo>
                       
<ds:SignatureValue>MKAoy3cLUnOH8DubIlQ45RqmVMRiMjGbZn6bOHl5xoOHOOFxFnSz2q89GclDLzD6jFRDY7uBIAROkN0lBm69EyP+87OP+3AXPWxQb9DtAXo8UHR8HhjIkTMWmUu7UrOze6L0kWEOxFSZIOfibnmivFPWs7NzmFwdsNJ8ZdPsJTY=</ds:SignatureValue>
 
                       <ds:KeyInfo Id="KeyId-3808966">
                          <wsse:SecurityTokenReference xmlns:wsu=" 
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
 
<http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd>
 " wsu:Id="STRId-18016247">
                             <wsse:Reference URI="#CertId-900992" ValueType=" 
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3";></wsse:Reference
 >
                          </wsse:SecurityTokenReference>
                       </ds:KeyInfo>
                    </ds:Signature>
                 </wsse:Security>
              </soapenv:Header>
              <soapenv:Body xmlns:wsu=" 
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 wsu:Id="id-22945909">
                 <SecureServiceSOAP xmlns="http://ttdev.com/ss";>
                    <s1 xmlns="" xsi:type="xsd:string">abc</s1>
                    <s2 xmlns="" xsi:type="xsd:string">123</s2> 
                 </SecureServiceSOAP>
              </soapenv:Body>
           </soapenv:Envelope>

        
=======================================================================================================================================
        Response Information :

        HTTP/1.1 500 Internal Server Error
        Server: Apache-Coyote/1.1
        Content-Type: text/xml;charset=utf-8
        Date: Tue, 13 Mar 2007 04:16:15 GMT
        Connection: close

        <?xml version="1.0" encoding="utf-8"?>
           <soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd=" 
http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
              <soapenv:Body> 
                 <soapenv:Fault>
                    <faultcode>soapenv:MustUnderstand</faultcode>
                    <faultstring>Did not understand &quot;MustUnderstand&quot; 
header(s):{ 
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security
 
<http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security>
 </faultstring>
                    <detail>
                       <ns1:hostname xmlns:ns1=" 
http://xml.apache.org/axis/";>WLAU-LAP2</ns1:hostname 
<http://xml.apache.org/axis/";>WLAU-LAP2</ns1:hostname> >
                    </detail>
                 </soapenv:Fault>
              </soapenv:Body>
           </soapenv:Envelope>

        
=======================================================================================================================================
         
        Call Stack :
        Exception in thread "main" AxisFault

        faultCode: {http://schemas.xmlsoap.org/soap/envelope/}MustUnderstand

        faultSubcode: 

        faultString: Did not understand &quot;MustUnderstand&quot; 
header(s):{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security
 

        faultActor: 

        faultNode: 

        faultDetail: 

        {http://xml.apache.org/axis/}hostname:WLAU-LAP2

        

        Did not understand "MustUnderstand" 
header(s):{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security
 

        at org.apache.axis.message.SOAPFaultBuilder.createFault(

        SOAPFaultBuilder.java:222) 

        at org.apache.axis.message.SOAPFaultBuilder.endElement(

        SOAPFaultBuilder.java:129) 

        at org.apache.axis.encoding.DeserializationContext.endElement(

        DeserializationContext.java:1087) 

        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown 
Source)

        at 
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)

        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
 Source)

        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 
Source)

        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)

        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)

        at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown 
Source)

        at javax.xml.parsers.SAXParser.parse(

        SAXParser.java:375) 

        at org.apache.axis.encoding.DeserializationContext.parse(

        DeserializationContext.java:227) 

        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(

        SOAPPart.java:696) 

        at org.apache.axis.Message.getSOAPEnvelope(

        Message.java:435) 

        at org.apache.axis.transport.http.HTTPSender.readFromSocket(

        HTTPSender.java:796) 

        at org.apache.axis.transport.http.HTTPSender.invoke(

        HTTPSender.java:144) 

        at org.apache.axis.strategies.InvocationStrategy.visit(

        InvocationStrategy.java:32) 

        at org.apache.axis.SimpleChain.doVisiting(

        SimpleChain.java:118) 

        at org.apache.axis.SimpleChain.invoke(

        SimpleChain.java:83) 

        at org.apache.axis.client.AxisClient.invoke(

        AxisClient.java:165) 

        at org.apache.axis.client.Call.invokeEngine(

        Call.java:2784) 

        at org.apache.axis.client.Call.invoke(

        Call.java:2767) 

        at org.apache.axis.client.Call.invoke(

        Call.java:2443) 

        at org.apache.axis.client.Call.invoke(

        Call.java:2366) 

        at org.apache.axis.client.Call.invoke(

        Call.java:1812) 

        at com.ttdev.SecureService.Client.DIIClient.main(

        DIIClient.java:65)

Reply via email to