axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Harbarth, Juliane" <Juliane.Harba...@softwareag.com>
Subject RE: Can't call a Web Service from a Servlet
Date Mon, 09 Jan 2006 12:59:51 GMT

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

Thanks,
Juliane.

________________________________

From: jayachandra [mailto:jayachandra@gmail.com] 
Sent: Montag, 9. Januar 2006 13:42
To: axis-user@ws.apache.org
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 <Juliane.Harbarth@softwareag.com> 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: jayachandra@gmail.com
<mailto:jayachandra@gmail.com> ]
	Sent: Montag, 9. Januar 2006 05:55
	To: axis-user@ws.apache.org
	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 <Juliane.Harbarth@softwareag.com>
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 

Mime
View raw message