Hi James,
I am not sure if the user can have direct access to the fault as
you have done with our current API.
In case of a fault, what happens at the moment is, an exception is
thrown. This exception is supposed to have the fault details.
If you try to call getFaultDetail() like you have done, you are
likely to violate the deserializer pull model. With the pull model,
the SOAP fault must have been deserailized by now and included in the
Exception already, so when you try to deserialize it again, the parser
has already gone past the fault in SOAP stream and hence you get this
garbage output.
Try to catch the exception and see if you could get fault detail
through the API of the exception.
Thanks,
Samisa...
On Wed, 2 Feb 2005 11:17:20 +0530, James Jose <[EMAIL PROTECTED]> wrote:
> $)C
> Hi
> I am working on getFaultDetail() and checkFault() APIs in Call class. I
> don't have much idea about these APIs and its usage.
>
> I have tried the following code and got some strange output (only part of
> the code are included)
>
> void Calculator::getFaultDetail(char **p){
> int fd=m_pCall->getFaultDetail(p);
> }
>
> main(){
>
> Calculator ws;
>
> try{
> ........
> ........
>
> }
> catch(AxisException& e)
> {
> printf("Exception : %s\n", e.what());
> char *fault=new char[100];
> ws.getFaultDetail(&fault);
> printf("Fault Details : %s",fault);
> }
> }
>
> Got o/p as
>
> Exception : Cannot deserialize the requested element
> !U".?(v(v(v(v(v(v(v(v%e!a%e!a
>
>
> Why such a strange output? checkFault() API also giving such o/ps..
>
> Inputs please......
>
>
> Thanks And Regards
> James
> --------------------------------------------------
> James Jose
> Messaging Clients Team, WMQDDC
> IBM Software Labs, India
> Direct: 91-80- 25094331 Ext :2331
> E-mail: [EMAIL PROTECTED]
>
>