Anyone else  knowledgeable in Soap Faults have any comments on this?

Steve


> Steve,
>
> I am not knowledgeable enough to comment on whether your expectations are
too
> high or not. However, it all boils down to WSDL to a particular language
> binding and how that binding maps SOAP faults defined in WSDL. I am not
sure
> whether there exists a standard language binding for each language (which
may
> or may not have a concept of exception e.g. a procedural language like C)
that
> addresses SOAP fault to error handling strategy native to that
programming
> language.
> Hope someone on the list can enlighten us ...
> Thanks,
>
> Ajay
>
>
>
>
>
> "Steve Pannier" <[EMAIL PROTECTED]>
>
> 09/24/2003 09:58 PM
>
> Please respond to
> [EMAIL PROTECTED]
>
>
>
>    To
>    [EMAIL PROTECTED]
>    cc
>
>    Subject
>    Re: Soap Fault question
>
>
>
>
>
>
>
>
>
> Ajay,
>
> Thanks for the response.
>
> So maybe I'm not understanding the purpose for describing
> Soap faults in a WSDL file.  I was under the impression
> that a soap implementation (regardless of
> language/programming environment) would create the
> appropriate "exception class" (or object, or whatever the
> case may be for that environment) for all soap faults
> defined in the WSDL, so that a client developer could
> "catch" a specific fault (as opposed to, for example, a
> .NET client having to catch a general System.Exception,
> then interrogate it further to find out exactly what went
> wrong).
>
> All I'm trying to do is simply describe the custom
> exceptions my service throws in my WSDL, and then test
> against various client environments to insure my WSDL
> describes the faults correctly.  But how do I test this
> against non-Java clients?  Or even Java clients for that
> matter?
>
> Take the Axis samples/faults example. In VB .NET, after
> retrieving the WSDL, does the client have any knowledge
> at all about NoSuchEmployeeFault?  It didn't look like
> it when I tried it.  And in BEA WebLogic (which generates
> Java client code), the NoSuchEmployeeFault class it
> generated did not subclass from Throwable, even though
> NoSuchEmployeeFault is described in wsdl:fault elements
> in the WSDL.
>
> Am I expecting too much here?  Is there a better way for
> me to test that my custom faults are described correctly
> in my WSDL?
>
> Is there anybody who can set this lost soul straight?
>
> Regards.
>
> Steve Pannier
>
>
> > Steve,
> >
> > I have experimented a bit  with SOAP faults on .NET side and server
side
> > exceptions on Axis side. As far as my understanding goes:
> > - You can access the SOAP fault from .NET client. However, that's "SOAP
> fault"
> > view - not the "Exception" view of the server side problem. I have not
> seen
> > SOAP faults being converted to exceptions on the .NET client side. In
our
>
> > prototype, we are just accessing SOAP fault code, string etc. We can
> convert
> > that to appropriate exception but that's application's job not web
> services
> > infrastructure's job (in this case .NET)
> > - I am not sure that a "custom" exception can be caught by non-Java
(even
>
> > non-Axis clients implemented in Java) because there is no standard (and
> hence
> > interoperable) way of communicating that this SOAP fault maps to this
> exception
> > so that client side web services infrastructure can instantiate the
> exception.
> > In fact, you might consume a web service from a programming language
> which does
> > not have any concept of exception. In Axis server-client scenario
> > interoperability is not an issue. Axis client knows where in the SOAP
> fault to
> > look for exception mapping information and as long as client has the
> exception
> > class in the classpath it can instantiate the exception but achieving
the
> same
> > thing in a language independent way is difficult and I don't think web
> services
> > standards address this. Someone please correct me if my understanding
is
> not
> > quite right ..
> >
> > Ajay
> >
> >
> >
> >
> > "Steve Pannier" <[EMAIL PROTECTED]>
> >
> > 09/24/2003 02:54 AM
> >
> > Please respond to
> > [EMAIL PROTECTED]
> >
> >
> >
> >    To
> >   [EMAIL PROTECTED]
> >    cc
> >
> >    Subject
> >    Soap Fault question
> >
> >
> >
> >
> >
> >
> >
> >
> > Axis 1.1
> >
> > I'm trying to get my web service to throw a
> > custom exception subclassed from RemoteException.
> > So to start off I looked at the code under
> > samples/faults.  I deployed the service, ran the
> > supplied Axis client, everything looked good.  (I
> > had to 1st put a try/catch around the call.invoke
> > in the client to see if catching the
> > NoSuchEmployeeFault exception really works).
> >
> > Now, my goal is to be able to support many different
> > types of clients (.NET, JWSDP, BEA WebLogic, etc).
> > So I tried JWSDP: After getting the Employee.wsdl
> > file from Axis, I generated the client code.  But
> > it wouldn't compile, because the "cause" property
> > in the generated exception class is defined as Object
> > instead of Throwable.  (Axis did inform me that "The
> > class java.lang.Throwable is defined in a java or
> > javax package and cannot be converted into an xml
> > schema type.  An xml schema anyType will be used to
> > define this class in the wsdl file", so I knew
> > something was amiss.)
> >
> > OK.  So I moved on to VB .NET.  I retrieved the WSDL
> > and created my client code.  I was able to catch
> > System.Exception, but not a NoSuchEmployeeFault
> > exception.  .NET did not create an object to
> > represent the NoSuchEmployeeFault exception.
> >
> > I tried BEA WebLogic also, but it didn't work there
> > either.  The NoSuchEmployeeFault class it created
> > does not subclass from Throwable, so it couldn't be
> > used in a "catch" clause.
> >
> > So my questions:
> >
> > - Has anyone else got the samples/faults service
> >  code to work correctly against a non-Axis client
> >  environment?
> >
> > - Am I correct in assuming that my custom exception
> >  can be "caught" by any client, even if non-Java
> >  (provided my WSDL describes it correctly)?
> >
> > - In order to have Axis return a Soap Fault, is it a
> >  requirement to add *all* the configuration information
> >  shown in the samples/faults deploy.wsdd file to my
> >  WSDD deployment file? (i.e. Do I need to define all
> >  operation elements, even for the methods that don't
> >  return a Soap fault?)
> >
> > Any examples would be greatly appreciated.
> >
> > Regards.
> >
> > Steve Pannier
> >
> >
> >
> >
>
>

Reply via email to