Hi Alek,
Thanks for your response. Yes i feel there needs to have
a way as
how to handle the faults for the WS irrespective of PHP,
C#, JAVA.
Regards
-Sambit
On Mar 19, 2007, at 8:27 PM, Aleksander Slominski wrote:
> sambit krishna dikshit wrote:
>> Hi Alek,
>> I'm facing problems while trying to get the
exceptions thrown from
>> the Service as fault. For example i have a class
called TestService
>> which has a method test(String param1,String
param2) and it throws an
>> exception called TestException.
>>
>>
>> public Class TestService{
>>
>> public String test(String param1, String param2)
throws
>> TestException {
>>
>> if(something wrong)
>>
>> {
>> TestException ex = new
TestException();
>>
ex.setErrorCode("test001");
>> ex.setErrorMessage("Exception at
test method line 12");
>>
>> }
>>
>> }
>> }
>>
>>
>>
>> public Class TestException extends Exception
implements
>> Serializable {
>>
>>
>> private String errorCode;
>> private String errorMessage;
>>
>> getter and setter methods for the above goes
below......
>>
>> }
>>
>>
>> Now the TestService class is exposed as a web
service using Axis. The
>> fault message part for this comes as expected in
wsdl file.
>>
>> I'm using WSIF Apache Axis to invoke the service
from the client. I
>> want to get a handle of the Fault i.e TestException
class so that i
>> can get the details of the error code and error
message.
>> Unfortunately i'm not able to get this at all. When
i looked into the
>> code, i checked that it always checks for the AXIS
Fault and takes
>> the
>> first element of the Axis Fault detail objects and
set that
>> Element to
>> WSIFMessage faultParts. I'm wondering dont we need
to desrialize this
>> Element to the appropriate Exception Class like we
do for the SOAP
>> Response Message. Is there any specific reason we
are not doing like
>> this.
> i think it depends on AXIS - WSIF just uses what is out
there and
> it is
> provider that makes those decisions.
>> Also i think there is a problem with the way Axis
handles the
>> fault.
>> I think it expects the exception to be a sub class
of
>> RemoteException.
>> Then this limits the interoporability.
>>
>> Please suggest how to overcome this type of issues.
My
>> requirement is
>> to get the Exceptyion thrown from the Service back
to the client and
>> client needs to introspect the exception like a
normal response
>> message and get the appropriate error code, message
out of it.
> i do not think there is one perfect solution to this
:-( quite often
> faults that are sent by SOAP stack (not just AXIS - you
shoul dnot
> depend on other side to be in Java even) they are *not*
declared in
> WSDL
> and you can not count that you can deserialize some
SOAP Fault into
> some
> particular Java exception - what if Fault was generated
by Python
> or C#?
>
> in short i think this is for discussion and definitely
one thing to
> improve ...
>
> best,
>
> alek
>
>
>
------------------------------------------------------------
---------
> To unsubscribe, e-mail: wsif-user-unsubscribe ws.apache.org
> For additional commands, e-mail: wsif-user-help ws.apache.org
>
------------------------------------------------------------
---------
To unsubscribe, e-mail: wsif-user-unsubscribe ws.apache.org
For additional commands, e-mail: wsif-user-help ws.apache.org
|