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