You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by n0...@yahoo.com.sg on 2004/08/05 07:38:12 UTC

Problem with call.getOutputParams()

Hi,

I'm testing out the feature for INOUT params
and I almost got it but stuck with a bug (which I
believe is part of Axis 1.1).

String methodName = "getString";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new
java.net.URL(endpointURL));
call.setOperationName(new QName("MyService",
methodName));

call.addParameter("param1",
           		XMLType.XSD_STRING,
           		javax.xml.rpc.ParameterMode.INOUT);
            
call.setReturnType(XMLType.XSD_STRING);
            
Object[] params = new Object[] { "Input String" };

String ret = (String)call.invoke(params);

//get the INOUT Parameters
java.util.Map output = call.getOutputParams();

//could not retrieve the param1.
String inout = (String)output.get("param1");

//returns null
System.out.println("result:["+inout+"]");

//BUT dumping out the output map shows that "param1"
and new string value is there
processoutput(output);


The key in output param seems to have an additional
char behind "param1" such thet output.get("param1")
couldn't find the key.

I'm using JBoss 2.4.5 with Axis 1.1.
Would appreciate if anyone could help enlighten this
problem.

Thanks!

/regards

__________________________________________________
Do You Yahoo!?
Download the latest ringtones, games, and more!
http://sg.mobile.yahoo.com

Re: Problem with call.getOutputParams()

Posted by n0...@yahoo.com.sg.
A slight correction to my previous email:
The key- "param1" is of correct length.

THEN why wouldn't the following return me the result??

String inout = (String)output.get("param1");


 --- n0junky-eclipse@yahoo.com.sg wrote:  
> Hi,
> 
> I'm testing out the feature for INOUT params
> and I almost got it but stuck with a bug (which I
> believe is part of Axis 1.1).
> 
> String methodName = "getString";
> Service service = new Service();
> Call call = (Call) service.createCall();
> call.setTargetEndpointAddress(new
> java.net.URL(endpointURL));
> call.setOperationName(new QName("MyService",
> methodName));
> 
> call.addParameter("param1",
>            		XMLType.XSD_STRING,
>            		javax.xml.rpc.ParameterMode.INOUT);
>             
> call.setReturnType(XMLType.XSD_STRING);
>             
> Object[] params = new Object[] { "Input String" };
> 
> String ret = (String)call.invoke(params);
> 
> //get the INOUT Parameters
> java.util.Map output = call.getOutputParams();
> 
> //could not retrieve the param1.
> String inout = (String)output.get("param1");
> 
> //returns null
> System.out.println("result:["+inout+"]");
> 
> //BUT dumping out the output map shows that "param1"
> and new string value is there
> processoutput(output);
> 
> 
> The key in output param seems to have an additional
> char behind "param1" such thet output.get("param1")
> couldn't find the key.
> 
> I'm using JBoss 2.4.5 with Axis 1.1.
> Would appreciate if anyone could help enlighten this
> problem.
> 
> Thanks!
> 
> /regards
> 
> __________________________________________________
> Do You Yahoo!?
> Download the latest ringtones, games, and more!
> http://sg.mobile.yahoo.com
>  

__________________________________________________
Do You Yahoo!?
Download the latest ringtones, games, and more!
http://sg.mobile.yahoo.com