Loading ...
Sorry, an error occurred while loading the content.

Missing xsi declaration in SOAP::Lite response for SOAP 1.2

Expand Messages
  • rolf.banting
    My server set up is: SOAP::Lite 0.69 Apache/2.0.55 mod_perl 5.8.7 When a client sends a request for SOAP 1.2 there is no xsi declaration in the response:
    Message 1 of 1 , Jul 22, 2008
    View Source
    • 0 Attachment
      My server set up is:
      SOAP::Lite 0.69
      Apache/2.0.55
      mod_perl 5.8.7

      When a client sends a request for SOAP 1.2 there is no xsi
      declaration in the response:

      Request:

      POST /BDL-Online-Access-Service/Provision HTTP/1.1
      Content-Type: application/soap+xml; charset=UTF-8;
      action="urn:Provision"
      User-Agent: Axis2
      Host: 192.168.123.52:8529
      Content-Length: 387



      <?xml version='1.0' encoding='UTF-8'?>
      <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-
      envelope">
      <soapenv:Body>
      <ns1:Provision xmlns:ns1="http://www.soaplite.com/Apache2/BDL_API/
      SOAP">
      <BDLRecord>
      <ns1:portedNumber>223456</ns1:portedNumber>
      <ns1:locationId>54321</ns1:locationId>
      <ns1:operatorId>12</ns1:operatorId>
      </BDLRecord>
      </ns1:Provision>
      </soapenv:Body>
      </soapenv:Envelope>

      Note that soap namespace is set to "http://www.w3.org/2003/05/soap-
      envelope", SOAP 1.2.

      Response is:

      [Mon Jul 21 12:35:47 BST 2008]
      HTTP/1.1 200 OK
      Date: Mon, 21 Jul 2008 11:55:34 GMT
      Server: Apache/2.0.55 (Unix) DAV/2 mod_ssl/2.0.55 OpenSSL/0.9.8a
      mod_perl/2.0.2 Perl/v5.8.7
      Content-Length: 422
      Content-Type: text/xml; charset=utf-8
      SOAPServer: SOAP::Lite/Perl/0.69



      <?xml version="1.0" encoding="UTF-8"?>
      <soap:Envelope xmlns:soapenc="http://www.w3.org/2003/05/soap-
      encoding"
      soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding"
      xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
      <soap:Body>
      <ProvisionResponse xmlns="http://www.soaplite.com/Apache2/BDL_API/
      SOAP">
      <s-gensym162 xsi:type="xsd:string">Data_IO_Layer_Error</s-gensym162>
      </ProvisionResponse>
      </soap:Body>
      </soap:Envelope>

      Note that xsi:type is used but xsi is not declared in the Envelope.

      When soapenv is set to "http://schemas.xmlsoap.org/soap/
      envelope" (SOAP 1.1) in the request the response is:

      <?xml version="1.0" encoding="UTF-8"?><soap:Envelope
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/
      "><soap:Body><ProvisionResponse xmlns="http://www.soaplite.com/
      Apache2/BDL_API/SOAP"><s-gensym39
      xsi:type="xsd:string">Data_IO_Layer_Error</s-gensym39></
      ProvisionResponse></soap:Body></soap:Envelope>

      You can see that xsi *is* declared in the response Envelope.

      Shouldn't xsi get declared in 1.2 responses? Can anyone comment?

      Ta,

      Rolf
    Your message has been successfully submitted and would be delivered to recipients shortly.