[ 
http://issues.apache.org/jira/browse/AXISCPP-259?page=comments#action_12316218 
] 

Dushshantha Chandradasa commented on AXISCPP-259:
-------------------------------------------------

I fixed the promlem of picking the wrong tag. But still i have problems. The 
server sends wrong xml for the fault.

<?xml version='1.0' encoding='utf-8' ?>
<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>
<SOAP-ENV:Fault>
<faultcode>AxisC++ Faultcode</faultcode>
<faultstring>Custom Out of bound exception</faultstring>
<faultactor>server name:listen port</faultactor>
<detail><appSpecific><DivByZeroStruct><ns1:varString>Division by zero 
exception</ns1:varString>
<ns1:varInt>1</ns1:varInt>
<ns1:varFloat>10.520000</ns1:varFloat>
</DivByZeroStruct>
</appSpecific></detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Above is the SOAP message. In that, The namespace ns1 is not defined.

> WSDL faults not being deserialised
> ----------------------------------
>
>          Key: AXISCPP-259
>          URL: http://issues.apache.org/jira/browse/AXISCPP-259
>      Project: Axis-C++
>         Type: Bug
>   Components: Client - Deserialization
>     Reporter: Andrew Perry
>     Assignee: Dushshantha Chandradasa

>
> The FaultMappingDoc test is not getting the expected output. The WSDL has 3 
> faults defined, DivByZeroStruct, OutOfBoundsStruct and SpecialDetailStruct. 
> The test calls the MathOps service 4 times, 1 with valid values and the other 
> 3 times to get the faults thrown. The services are hosted on WebSphere rather 
> than the Axis Server, but from the response message you can see that the 
> correct faults are being thrown. The first call works, the second to get a 
> DivByZeroStruct fault sort of works in that a MathOpsService Exception is 
> thrown but none of the fault detail is shown, but the final 2 requests which 
> should also have MathOpsService exceptions get an unspecified exception in 
> that 'catch(...)' catches it rather than either 
> MathOpsService_AxisClientException or AxisException.
> Client output
> loop 0
> trying to div 10 and 5
> Result is 2
> loop 1
> trying to div 10 and 0
> MathOpsService Exception: AxisTransportException:HTTP transport error 
> Internal Server Error
> loop 2
> trying to div 1000 and 5
> Unspecified Exception:
> loop 3
> trying to div 10 and -5
> Unspecified Exception:
> on-the-wire response
> --------------------
> HTTP/1.1 200 OK^M
> Server: WebSphere Application Server/5.1^M
> Content-Type: text/xml; charset=utf-8^M
> Content-Language: en-GB^M
> Transfer-Encoding: chunked^M
> ^M
> 197^M
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Body><divResponse
>  
> xmlns="http://soapinterop.org/wsdl";><divReturn>2</divReturn></divResponse></soapenv:Body></soapenv:Envelope>^M
> 0^M
> ^M
> HTTP/1.1 500 Internal Server Error^M
> Server: WebSphere Application Server/5.1^M
> Content-Type: text/xml; charset=utf-8^M
> Content-Language: en-GB^M
> Transfer-Encoding: chunked^M
> ^M
> 2fb^M
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Body><Fault 
> xmlns="http://schemas.xmlsoap.org/soap/envelope/";><faultcode 
> xmlns:ns2008922717="http://soapinterop.org/wsdl"; 
> xmlns="">ns2008922717:DivByZeroStruct</faultcode><faultstring 
> xmlns=""><![CDATA[org.soapinterop.DivByZeroStruct]]></faultstring><detail 
> xmlns=""><DivByZeroStruct 
> xmlns="http://soapinterop.org/wsdl";><varString>Division by zero 
> exception</varString><varInt>1</varInt><varFloat>10.52</varFloat></DivByZeroStruct></detail></Fault></soapenv:Body></soapenv:Envelope>^M
> 0^M
> ^M
> HTTP/1.1 500 Internal Server Error^M
> Server: WebSphere Application Server/5.1^M
> Content-Type: text/xml; charset=utf-8^M
> Content-Language: en-GB^M
> Transfer-Encoding: chunked^M
> ^M
> 31a^M
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soapenv:Body><Fault 
> xmlns="http://schemas.xmlsoap.org/soap/envelope/";><faultcode 
> xmlns:ns2008922717="http://soapinterop.org/wsdl"; 
> xmlns="">ns2008922717:SpecialDetailStruct</faultcode><faultstring 
> xmlns=""><![CDATA[org.soapinterop.SpecialDetailStruct]]></faultstring><detail 
> xmlns=""><SpecialDetailStruct 
> xmlns="http://soapinterop.org/wsdl";><varString>You have entered 1000 for the 
> first parameter. 1000 is reserved. Please do not use 
> it</varString></SpecialDetailStruct></detail></Fault></soapenv:Body></soapenv:Envelope>^M
> 0^M
> ^M
> -----------------------------
> Is it possible to get the soap fault detail?
> Why do the last 2 faults not get caught by the Axis Exceptions?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to