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

Reply via email to