axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Samisa Abeysinghe <sabeysin...@virtusa.com>
Subject Re: [jira] Commented: (AXISCPP-259) WSDL faults not being deserialised
Date Wed, 20 Jul 2005 17:06:53 GMT
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 <sabeysinghe@virtusa.com>
Virtusa Corporation

Mime
View raw message