无法从java客户端发送参数

时间:2010-03-05 16:25:37

标签: java parameters wsdl client

我正在为Web服务开发一个java客户端。

我的网络服务中有这个方法:

@WebMethod(operationName = "test")
public Integer test(@WebParam(name = "number")
int number) {
return number;
}

我的客户端看起来像这样

public static void main(String[] args) { 
try { 

String BODY_NAMESPACE_VALUE = /namespace url/;
QName port = new QName(/Service name/);
ServiceFactory factory = ServiceFactory.newInstance();
Service service = factory.createService(new QName(/Service name/));

Call call = service.createCall(port);
call.setTargetEndpointAddress(/WSDL location/);

call.setReturnType(XMLType.XSD_INT);

call.setOperationName(new QName(BODY_NAMESPACE_VALUE, "test"));

call.addParameter("number", XMLType.XSD_INT, ParameterMode.IN);

Integer[] i = new Integer[1];
i[0] = new Integer(20);
System.out.println("test :"+call.invoke(i));


} catch (Exception ex) { 
ex.printStackTrace(); 
} 
}

我从我的Java客户端的Web服务获得了返回值,因为我尝试从Web服务获取常量。但是,在上面的情况下,我试图从客户端发送20到Web服务并接收它。但是我收到了0.有谁知道为什么从客户端向Web服务发送参数不起作用?

谢谢和问候, Krt_Malta

1 个答案:

答案 0 :(得分:1)

我不知道这是否是答案,但看起来好像你正在向web服务发送一个整数数组

Integer[] i;

只需要一个int