You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Thomas S (JIRA)" <ji...@apache.org> on 2010/11/30 16:24:11 UTC

[jira] Created: (AXIS2C-1507) SOAP Exception fields not available

SOAP Exception fields not available
-----------------------------------

                 Key: AXIS2C-1507
                 URL: https://issues.apache.org/jira/browse/AXIS2C-1507
             Project: Axis2-C
          Issue Type: Bug
    Affects Versions: 1.6.0, 1.7.0
         Environment: Windows 2003
            Reporter: Thomas S


Given a service returning the following (taken from SoapUI output).

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <soap:Fault>
         <faultcode xmlns:q0="http://www.cc.com/SoapExceptionService">q0:SoapExceptionService</faultcode>
         <faultstring>System.Web.Services.Protocols.SoapException: This is the FaultString
   at SoapExceptionService.Service1.HelloWorld(RequestInput ri)</faultstring>
         <faultactor>http://www.cc.com/SoapExceptionService</faultactor>
         <detail>
            <DetailMessage>This is the Detail section</DetailMessage>
         </detail>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

Using Axis2C (both 1.6 and latest 1.7 code from SVN) only returns a subset of these fields.

Fault Code: (null)
Exception: (null)
Reason: (null)
Role: http://www.cc.com/SoapExceptionService
Detail xml: <detail><DetailMessage>This is the Detail section</DetailMessage></detail>

If I retrieve the fault base node and serialize it I see the whole fault message so Axis has all the data available.
I stepped through function axiom_soap_body_convert_fault_to_soap11() and it appears that the values are found and text elements are created for the missing items but when I try to retrieve them using the axis functions the string values end up being NULL.

Example:

                axis2_char_t *strcodevalue = "";
                ::axiom_soap_fault_code *fcode = ::axiom_soap_fault_get_code(fault, env);  // returns ok value
                if (fcode) {
                    ::axiom_soap_fault_value *fcodevalue = ::axiom_soap_fault_code_get_value(fcode, env);  // returns ok value
                    if (fcodevalue) {
                        strcodevalue = ::axiom_soap_fault_value_get_text(fcodevalue, env);  // return NULL
                    }
                }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: c-dev-help@axis.apache.org