[ 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
