I think float is still a simple type. But 'String' isn't. In the second client the method that you are invoking needs to send String as input parameter which couldn't be marshalled/unmarshalled by Axis.
 
Jaya
 
On 1/9/06, Harbarth, Juliane <[EMAIL PROTECTED]> wrote:


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.






--
-- Jaya

Reply via email to