Michael,

AFAIK, Axis passed JAX-RPC 1.1 TCK.

Umm...
IMHO, JAX-RPC 1.1 has some vague points and I think it is very difficult to organize TCK to check all the words and lines of spec.


Anyway, I'll keep up this issue. It'd be appreciated if test case jws and exception classes will be provided.

/Jongjin

From: "Michael Merz" <[EMAIL PROTECTED]>
Reply-To: "Beehive Developers" <[email protected]>
To: "Beehive Developers" <[email protected]>,
<[email protected]>
CC: <[EMAIL PROTECTED]>
Subject: RE: Question on user exception handling on autogenerated clients
Date: Wed, 15 Dec 2004 09:38:44 -0800

Thanks much for your response. Will Axis be JAXRPC 1.1 compliant with
version 1.2?

Cheers,

-michael

-----Original Message-----
From: Choi Jongjin [mailto:[EMAIL PROTECTED]
Sent: Wednesday, December 15, 2004 9:31 AM
To: [email protected]; [email protected]
Cc: [EMAIL PROTECTED]
Subject: RE: Question on user exception handling on autogenerated
clients

Hi, Michael.

Handling service-specific exception is implemented in Axis.

In the generated code,

>         java.lang.Object _resp = _call.invoke(new java.lang.Object[]
>{new java.lang.Integer(in0)});
>
>         if (_resp instanceof java.rmi.RemoteException) {
>             throw (java.rmi.RemoteException)_resp;
>         }
>         else {

AFAIK, _call.invoke() returns RemoteException (AxisFault) for propagated
soap fault (server-side exception).

But Axis's implementation lacks of JAX-RPC 1.1 compatibility.
The generated exception classes are derived classes of AxisFault and
require default constructor and setters which are not required in
JAX-RPC 1.1.

I guess this causes some problem.
If you use JAX-RPC 1.1 compliant exception classes (which have not
default constructor and setter methods) in the client side, the
deserialization of SOAP Fault message would fail.

I will add other comments in JIRA BEEHIVE-133.

/Jongjin


>From: "Michael Merz" <[EMAIL PROTECTED]> >Reply-To: "Beehive Developers" <[email protected]> >To: <[email protected]> >CC: <[EMAIL PROTECTED]> >Subject: Question on user exception handling on autogenerated clients >Date: Tue, 14 Dec 2004 10:12:20 -0800 > >Bcc: [email protected] > >I'm autogenerating my clients using the wsdl2java ant task. It's >working really well. > >One question regarding exception handling, though: When the server >throws a custom exception (subclass of java.lang.Exception), how does >the autogenerated client propagate the results in the response to the >caller? I had a look at the generated code and couldn't find any hooks >(see below). Is this not yet implemented? Thanks much. > >Cheers, > >-michael > > public int throwFooException(int in0) throws >java.rmi.RemoteException, >org.apache.beehive.wsm.test.rpclit.FooException { > if (super.cachedEndpoint == null) { > throw new org.apache.axis.NoEndPointException(); > } > org.apache.axis.client.Call _call = createCall(); > _call.setOperation(_operations[0]); > _call.setUseSOAPAction(true); > _call.setSOAPActionURI(""); > _call.setEncodingStyle(null); > _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, >Boolean.FALSE); > _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, >Boolean.FALSE); > >_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANT >S >); > _call.setOperationName(new >javax.xml.namespace.QName("http://rpclit.test.wsm.beehive.apache.org";, >"throwFooException")); > > setRequestHeaders(_call); > setAttachments(_call); > java.lang.Object _resp = _call.invoke(new java.lang.Object[] >{new java.lang.Integer(in0)}); > > if (_resp instanceof java.rmi.RemoteException) { > throw (java.rmi.RemoteException)_resp; > } > else { > extractAttachments(_call); > try { > return ((java.lang.Integer) _resp).intValue(); > } catch (java.lang.Exception _exception) { > return ((java.lang.Integer) >org.apache.axis.utils.JavaUtils.convert(_resp, int.class)).intValue(); > } > } > } >







Reply via email to