Как использовать клиент веб-службы, созданный на основе WSDL?

#java #eclipse #web-services #wsdl #axis

#java #eclipse #веб-службы #wsdl #ось

Вопрос:

Я пытаюсь написать простой клиент веб-службы для взаимодействия с моим простым веб-сервисом, который возвращает только переданный идентификатор пользователя. Итак, я создал клиент веб-службы в eclipse и сгенерировал для себя несколько файлов; wsCall, wsCallBindingStub, wsCallProxy, wsCallService, wsCallServiceLocator. Заглушка — это класс conly, который я нашел, в котором есть мои методы веб-службы, потому что мой ws прост на данном этапе?

Итак, я хочу вызвать вызов, что мне нужно для выполнения вызова?

Я видел, что во всех примерах онлайн есть функция try-catch для удаленного исключения или ошибки Axis, затем создаются экземпляры классов (включая класс response для десериализации?) и выполняется вызов ws через класс-заглушку. Это все, что мне нужно вызвать для моего случая?

 wsCallBindingStub stub = new wsCallBindingStub();
String retString = stub.sayHi(1); // 1: my user id
return retString;
  

Спасибо!

Комментарии:

1. Я мог бы помочь вам, если бы вы использовали JAX-WS, но, боюсь, у меня нет опыта работы с Axis. Это выглядит намного сложнее, чем JAX-WS!

Ответ №1:

Ах, я понял это, я получал сообщение об ошибке, потому что мой wsdl использует имя хоста, и мне нужно было указать ip .. что касается необходимого кода, он был в значительной степени идентичным;

 wsCall ws = new wsCallServiceLocator().getWsCallPort();
result = ws.sayHi(x);