The problem is "ns1" appearing from nowhere without a value for "ns1" namespace :-(
This is a bug that we need to fix. Samisa... On Wed, 2005-07-20 at 10:55, Dushshantha Chandradasa (JIRA) wrote: > [ > 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? -- Samisa Abeysinghe <[EMAIL PROTECTED]> Virtusa Corporation
