Hi Lior,

This is a bug in the Axis client, it doesn't conform to the RAX-RPC
specificatin in this point: It can't map application exceptions correctly,
it maps it only to exceptions derivated from AxisFault. See my previous
emails on this list, subject: "Problem with custom exceptions not getting
deserialized".

Best regards,
Peter

__________________________________________
Peter Landmann
e-Business Services
System Engineer
Tel.: +49 89 898157-85
Fax: +49 89 898157-49
mailto:[EMAIL PROTECTED]
__________________________________________
PEGAS systemhaus gmbh
Rudolf-Diesel-Str. 1
D-82166 Gräfelfing
http://www.pegas.com/
http://www.e-integrator.de/
__________________________________________


|---------+------------------------------------>
|         |           "Lior Weintraub"         |
|         |           <[EMAIL PROTECTED]|
|         |           active.com>              |
|         |                                    |
|         |           21.07.2003 11:33         |
|         |           Bitte antworten an       |
|         |           axis-user                |
|         |                                    |
|---------+------------------------------------>
  
>---------------------------------------------------------------------------------------------------------------|
  |                                                                                    
                           |
  |        An:      <[EMAIL PROTECTED]>                                                
                     |
  |        Kopie:                                                                      
                           |
  |        Thema:   Help! how to catch application exception - in the client?          
                           |
  
>---------------------------------------------------------------------------------------------------------------|




Hi,

I have the following method I published as web service:
  public String createMediaFile(String name) throws
OperationFailedException

Where OperationFailedException extends java.lang.Exception.

I created the wsdl using axis java2wsdl tool.
And created a java client using axis wsdl2java tool.

Now in the client I have the following code:
        try{
            TestExceptionServiceLocator serviceLocator = new
TestExceptionServiceLocator();
            TestException stub =
serviceLocator.getMypackage6TestException();
            System.out.println(stub.createMediaFile("3"));
        } catch(mypackage6.OperationFailedException oex) {
            oex.printStackTrace();
        } catch(Exception ex) {
            ex.printStackTrace();
        }

The web service throws a OperationFailedException but in the client it
catches the Exception and not OperationFailedException.

Here is the code for the OperationFailedException class:
package mypackage6;
public class OperationFailedException extends Exception
{
  String msg;
  public OperationFailedException()  {
    super();
  }

  public OperationFailedException(String msg) {
    super(msg);
    this.msg=msg;
  }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String newMsg) {
        msg = newMsg;
    }

}

Please tell me if I did something wrong or that user defined exceptions are
simply not handled by axis? Is there a way that the java client can get the
actual java exception that was thrown?

Thanks,
Lior W.




Reply via email to