Uploaded image for project: 'Axis2-C'
  1. Axis2-C
  2. AXIS2C-1155

AXIS2C-1.4 can not retrieve SOAP FAULT element

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Cannot Reproduce
    • 1.4.0
    • None
    • build system (Windows)
    • None
    • windows + web service based on AXIS2-JAVA + web service client based on AXIS2C-1.4

    Description

      I wrote a web service client using axis2c-1.4 to invoke a web service written using axis2-java. In this test case, the web service will return a SOAP fault element back to the web service client. If the soap version is set to 1.1, the web service client can retrieve the info from the SOPA FAULT element.However the web service can NOT retrieve the info from the SOAP FAULT element
      if the soap version is set to 1.2. I have traced down and found that axis2_msg_ctx_get_soap_envelope(res_msg_ctx, env) statement in axis2_svc_client_send_receive_with_op_qname function of svc_client.c should return a pointer to soap_envelop, but it returns NULL. That is why the web service client can not retrieve the SOAP FAULT element. I have used TCP monitor to see the SOAP messages. There is a SOAP FAULT message return from server side.

      [1] SOAP request
      POST /axis2/services/simple_money HTTP/1.1
      User-Agent: Axis2C/1.4.0
      Content-Length: 549
      Content-Type: multipart/related; boundary=MIMEBoundary963883ed-40f8-42f5-b73f-d612b4efc32b; type="application/xop+xml"; start="<0.99bda747-99ae-435e-8eee-e8744dc7f97b@apache.org>"; start-info="application/soap+xml"; charset="UTF-8";action="urn:money_input_output"
      Host: 127.0.0.1:9000

      --MIMEBoundary963883ed-40f8-42f5-b73f-d612b4efc32b
      content-transfer-encoding: binary
      content-id: <0.99bda747-99ae-435e-8eee-e8744dc7f97b@apache.org>content-type: application/xop+xml;charset=UTF-8;type="application/soap+xml";
      <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
      <soapenv:Header/>
      <soapenv:Body>
      <ns1:money_input_outputMessage xmlns:ns1="http://querix.com/xsd">
      <param0>1234567.89</param0>
      </ns1:money_input_outputMessage>
      </soapenv:Body>
      </soapenv:Envelope>-MIMEBoundary963883ed-40f8-42f5-b73f-d612b4efc32b-

      [2] SOAP FAULT reply
      HTTP/1.1 400 Bad Request
      Server: Apache-Coyote/1.1
      Content-Type: multipart/related; boundary=MIMEBoundaryurn_uuid_BD6DC87A1D4978B1E11211376068707; type="application/xop+xml"; start="<0.urn:uuid:BD6DC87A1D4978B1E11211376068708@apache.org>"; start-info="application/soap+xml"; action="http://www.w3.org/2005/08/addressing/soap/fault";charset=UTF-8Transfer-Encoding: chunkedDate: Wed, 21 May 2008 13:20:58 GMTConnection: close2b5--MIMEBoundaryurn_uuid_BD6DC87A1D4978B1E11211376068707Content-Type: application/xop+xml; charset=UTF-8; type="application/soap+xml"Content-Transfer-Encoding: binaryContent-ID:
      <0.urn:uuid:BD6DC87A1D4978B1E11211376068708@apache.org>
      <?xml version='1.0' encoding='UTF-8'?>
      <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
      <soapenv:Body>
      <soapenv:Fault>
      <soapenv:Code>
      <soapenv:Value>soapenv:Sender</soapenv:Value>
      </soapenv:Code>
      <soapenv:Reason>
      <soapenv:Text xml:lang="en-US">Exception occurred while trying to invoke service method money_input_output</soapenv:Text>
      </soapenv:Reason>
      <soapenv:Detail></soapenv:Detail>
      </soapenv:Fault>
      </soapenv:Body>
      </soapenv:Envelope>
      38

      --MIMEBoundaryurn_uuid_BD6DC87A1D4978B1E11211376068707
      2

      0

      Attachments

        Activity

          People

            nandika Korale Gamaralalage Nandika Chandrasiri Jayawardana
            donaldyy yong yang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: