не может отправить параметры из клиента Java - PullRequest
1 голос
/ 05 марта 2010

Я разрабатываю 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-клиенте, так как я пытался получить константу из веб-службы. Однако в приведенном выше случае я пытаюсь отправить 20 с клиента на веб-сервис и получить его обратно. Однако я получаю 0. Кто-нибудь знает, почему не работает отправка параметров с клиента на веб-сервис?

Спасибо и всего наилучшего, Крт_Мальта

1 Ответ

1 голос
/ 05 марта 2010

Я не знаю, является ли это ответом, но похоже, что вы отправляете веб-службе массив целых чисел

Integer[] i;

когда ожидается только один int.

...