1 Reply Latest reply on Oct 27, 2009 4:07 PM by joshua_shizny

    Which Soap version does Flex support

    hasii Level 1
      Hello,

      I have a flex application trying to talk (via web service) to a gSoap server.

      If I send this:
      <SOAP-ENV:Envelope xmlns:SOAP-ENV=" http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=" http://www.w3.org/2001/XMLSchema" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance">
      <SOAP-ENV:Body>
      <hpvcm:userLogIn xmlns:hpvcm=" http://hp.com/iss/net/vcm/resourceModel">
      <hpvcm:username>Administrator</hpvcm:username>
      <hpvcm:password>Administrator</hpvcm:password>
      <hpvcm:breakLockedSession>false</hpvcm:breakLockedSession>
      </hpvcm:userLogIn>
      </SOAP-ENV:Body>
      </SOAP-ENV:Envelope>

      I get a Soap fault version mismatch.

      I have an apache client that sends almost the exact same thing, this:

      <soap:Envelope xmlns:soap=" http://www.w3.org/2003/05/soap-envelope">
      <soap:Body>
      <ns1:userLogIn xmlns:ns1=" http://hp.com/iss/net/vcm/resourceModel"
      xmlns:ns2=" http://hp.com/iss/net/vcm/resourceDomain"
      xmlns:ns3=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
      <ns1:username>Administrator</ns1:username>
      <ns1:password>Administrator</ns1:password>
      <ns1:breakLockedSession>false</ns1:breakLockedSession>
      </ns1:userLogIn>
      </soap:Body>
      </soap:Envelope>

      and I get a valid response this:

      <?xml version="1.0" encoding="UTF-8"?>
      <SOAP-ENV:Envelope xmlns:SOAP-ENV=" http://www.w3.org/2003/05/soap-envelope"
      xmlns:SOAP-ENC=" http://www.w3.org/2003/05/soap-encoding"
      xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xsd=" http://www.w3.org/2001/XMLSchema"
      xmlns:c14n=" http://www.w3.org/2001/10/xml-exc-c14n#"
      xmlns:wsu=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
      xmlns:ds=" http://www.w3.org/2000/09/xmldsig#"
      xmlns:wsse=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
      xmlns:hpvcm=" http://hp.com/iss/net/vcm/resourceModel"
      xmlns:hpoa="hpoa.xsd" xmlns:hpvcd=" http://hp.com/iss/net/vcm/resourceDomain">
      <SOAP-ENV:Body><hpvcm:userLogInResponse>
      <hpvcm:HpVcmSessionKeyToken>
      <hpvcm:vcmSessionKey>PCmB3HCKsiSkE9zIRytsaiTx</hpvcm:vcmSessionKey>
      </hpvcm:HpVcmSessionKeyToken></hpvcm:userLogInResponse>
      </SOAP-ENV:Body>
      </SOAP-ENV:Envelope>

      From what I can tell the only difference is this portion:
      <soap:Envelope xmlns:soap=" http://schemas.xmlsoap.org/soap/envelope/"> BAD BAD BAD
      <soap:Envelope xmlns:soap=" http://www.w3.org/2003/05/soap-envelope"> GOOD GOOD


      The first is SOAP 1.1 the second 1.2

      My WSDL specifies 1.2. But I cannot get Flex to send 1.2.

      How can I tweak this?

        • 1. Re: Which Soap version does Flex support
          joshua_shizny

          Did you get this figured out because I think I'm having the same problem?  I looked at your two requests and see that the soap envelope values are not the same, which is what is going on with me; that triggers the runtime soap mismatch error.  Is something happening when it runs through a soap proxy (soap server)?