Как клиент и сервер соединяются в веб-сервисе Axis2? - PullRequest
0 голосов
/ 09 мая 2018

Я новичок в веб-сервисах Axis2 и попытался реализовать Axis2 из нескольких простых руководств. Мой код хорошо работает в JavaEE с сервером Tomcat 7.0+, однако я до сих пор не до конца понял, как клиент и сервер соединяются вместе. По этой причине у меня есть несколько общих вопросов к Axis2:

  1. Каковы функции файла Stub.java, который автоматически создается на стороне клиента? Я не знаю, как это работает, но, похоже, обрабатывает запросы на стороне клиента. Вот код, который мне нужно реализовать для запуска со стороны клиента:

    public static String getData(int code) throws RemoteException, MylittleShopParserConfigurationExceptionException, MylittleShopIOExceptionException, MylittleShopSAXExceptionException  {
    //When creating client web service, importing http://localhost:8080/Server/services/MylittleShop?wsdl (this is the xml file for
    //describing server-web service, it will tell the client how to compose a web service request and the interface that is
    // provided by the server ,all of thing contained in MylittleShopStub class.
    MylittleShopStub ser = new MylittleShopStub();
    GetData setCode =  new GetData();
    setCode.setCode(code);
    GetData1Response getCode = null;
    getCode = ser.getData1(setCode);
    return getCode.get_return();
    

    }

Моя служба заключается в простой отправке кода (идентификатора) на сервер для извлечения набора данных из базы данных.

  1. То, что мне нужно написать на стороне клиента, это функция, которая генерируется автоматически на основе функции, которую я имею на стороне сервера. Однако мне нужно только передать необходимые параметры, а затем отправить их обратно на сервер, чтобы получить ответ. Так как же обрабатываются параметры на стороне клиента после отправки запросов на сервер?
  2. Клиент и сервер взаимодействуют через HTTP?

Заранее спасибо!

1 Ответ

0 голосов
/ 09 мая 2018
  1. MylittleShopStub.java - это клиентская модель Java-сервиса.Практически то, что он делает, это то, что упомянуто в пункте 2. Он преобразует объекты Java, которые моделируют запрос клиента, в соответствующий XML, отправляет их в определенную конечную точку сервера.Затем получает ответ сервера в формате XML, создает Java-объект ответа сервера и возвращает его вызывающей стороне.Следующая цитата также может помочь.

Использование службы - это просто вопрос создания и заполнения запроса соответствующего типа с использованием имен, определенных в файле WSDL, а затем использование заглушки дляфактически отправить запрос в соответствующий метод.

Axis 2 Создание клиентов

Служба WSDL понимает и отвечает на документы XML, которые отправляются на сервер.Эти XML должны следовать определенному XSD.Сначала клиент кодирует все параметры в XML и отправляет их на сервер.Затем сервер анализирует XML, он выполняет определенные операции и возвращает XML клиенту.Java-клиент анализирует XML и возвращает результат в виде Java-объекта.

Клиент и сервер могут взаимодействовать через HTTP и HTTPS.Обычно, поскольку вы следуете простым учебникам, вы используете HTTP.

О службах WSDL WSDL ( Язык описания веб-служб ) - это язык XML для описанияВеб-сервисы.Таким образом, по определению веб-сервисы WSDL являются веб-сервисами, которые описаны и соответствуют стандарту WSDL.Веб-сервис в некотором смысле является удаленным вызовом процедуры.Клиентская программа просит серверную программу сделать что-то и (в большинстве случаев) вернуть результат.WSDL определяет формат XML, который используется клиентом и сервером для взаимодействия в нейтральном, независимом от языка программирования формате.Таким образом, в основном клиентские и серверные программы отправляют туда и обратно XML-документы, которые описывают запрос клиента и ответ сервера.

...