Hi Jaya,
yes, you are right.
The type of the service that was invokable from the most simple client
is int to string.
The type of the service that needed extra code is string to float. The
additional code is:
oper.setReturnType(new
javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "float"));
Thus int is simple and float is not.
Thanks a lot,
Juliane.
________________________________
From: jayachandra [mailto:[EMAIL PROTECTED]
Sent: Montag, 9. Januar 2006 05:55
To: [email protected]
Subject: Re: Can't call a Web Service from a Servlet
parameters of first method might have been simple/native types like int
etc. which the Axis runtime could have intelligently (un)marshalled, and
those of second might not have been so easy ones for which reason extra
ParameterDesc object would have helped axis find the proper ser/deser
factories to marshall/unmarshall the object.
Jaya
On 1/6/06, Harbarth, Juliane <[EMAIL PROTECTED]> wrote:
Hi,
I have made sure that none of the other jars implements the
javax.xml.rpc
package. But, never mind, it is now working. I have no idea why.
There is
still one thing that bothers me though.
One of the services I am calling can be invoked by using just
four lines
of code, i.e.
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(new URL(wsEndpoint));
call.setOperationName( new
javax.xml.namespace.QName(wsNamespace,wsMethod));
ret = call.invoke(val);
For another service this simple approach did not work. The
invoked service
complained that it did not correctly receive the input value. I
needed
additional code as such:
oper = new org.apache.axis.description.OperationDesc();
org.apache.axis.description.ParameterDesc param = new ...
oper.addParameter(param);
oper.setReturnType(...
call.setOperation (oper);
Why is this ?
Regards & thanks,
Juliane.