Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Cannot Reproduce
-
1.4.0
-
None
-
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