You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by Carsten Blecken <cb...@macrovision.com> on 2004/07/26 21:01:05 UTC

Error in Fault handling interoperating with Axis Java

Hi,

I was trying to interoperate Axis c (as client) with Axis Java (as server). A successful
invokations worked fine, but in case the axis java server returns a SOAP fault the axis c
client app would not be able to complete the fault processing and throw an unknown
exception instead.

Looking closer at this, Axis java does not populate the faultactor field (even though the 
soap 1.1 spec suggests it) as visible in the envelope below.

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Body>
  <soapenv:Fault>
   <faultcode>soapenv:Server.userException</faultcode>
   <faultstring>java.rmi.RemoteException: Feature or deamon or user not found</faultstring>
   <detail/>
  </soapenv:Fault>
 </soapenv:Body>
</soapenv:Envelope>

In order to have the soap fault processing complete on the axis client side (even if some fault elements
are missing) the attached fix to the SoapDeSerializer.cpp class will complete the fault extraction.

Thanks,

Carsten Blecken


 <<SoapDeSerializer.cpp.diff>> 





Re: Error in Fault handling interoperating with Axis Java

Posted by damitha kumarage <da...@opensource.lk>.
Thanks Carsten,
I'll look into the fix immediately

thanks
damitha
On Tue, 2004-07-27 at 01:01, Carsten Blecken wrote:
> Hi,
> 
> I was trying to interoperate Axis c (as client) with Axis Java (as
> server). A successful
> invokations worked fine, but in case the axis java server returns a
> SOAP fault the axis c
> client app would not be able to complete the fault processing and
> throw an unknown
> exception instead.
> 
> Looking closer at this, Axis java does not populate the faultactor
> field (even though the 
> soap 1.1 spec suggests it) as visible in the envelope below.
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> 
>  <soapenv:Body>
>   <soapenv:Fault>
>    <faultcode>soapenv:Server.userException</faultcode>
>    <faultstring>java.rmi.RemoteException: Feature or deamon or user
> not found</faultstring>
>    <detail/>
>   </soapenv:Fault>
>  </soapenv:Body>
> </soapenv:Envelope>
> 
> In order to have the soap fault processing complete on the axis client
> side (even if some fault elements
> are missing) the attached fix to the SoapDeSerializer.cpp class will
> complete the fault extraction.
> 
> Thanks,
> 
> Carsten Blecken
> 
> 
> <<SoapDeSerializer.cpp.diff>> 
> 
> 
> 
>