you aren't the first though :-)
For a typical java guy String becomes so 'simple' that we forget that its java.lang.String and treat it to be just as much primitive as an int or float is.
 
Jaya
 
On 1/9/06, Harbarth, Juliane <[EMAIL PROTECTED]> wrote:


Ah, that's surprising somehow.
I regarded 'String' as being simple.
Must correct my view here.

Thanks,
Juliane.

________________________________

From: jayachandra [mailto:[EMAIL PROTECTED]]
Sent: Montag, 9. Januar 2006 13:42
To: [email protected]
Subject: Re: Can't call a Web Service from a Servlet


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
< http://www.w3.org/2001/XMLSchema> ", "float"));
       Thus int is simple and float is not.

       Thanks a lot,
       Juliane.


       ________________________________

       From: jayachandra [mailto: [EMAIL PROTECTED]
<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



--
-- Jaya

Reply via email to