как создать мыльный клиент? - PullRequest
7 голосов
/ 12 октября 2011

У меня работает сервер SOAP.Мне нужно написать SOAP-клиент для сервера.Можете ли вы предложить плагин в Eclipse или дать мне URL, связанный с этим?

Можете ли вы предоставить мне, если у вас есть пример кода клиента SOAP?

Мой клиент SOAP должен использовать сложные объекты какпараметр / аргументы для функции SOAP, представленной на SOAP-сервере.

Ответы [ 6 ]

4 голосов
/ 12 октября 2011

Ваш вопрос очень расплывчатый, поэтому используйте Apache CXF и следуйте этому руководству:

  1. Это самая последняя (2011) запись: Создание клиента SOAP с использованием Apache CXF или GlassFish Metro
  2. Как создать WSAP-первый SOAP-клиент в Java с CXF и Maven и
  3. Эта демонстрация иллюстрирует поддержку Apache CXF для заголовков SOAP

В остальном вы также можете использовать Apache AXIS2.

3 голосов
/ 23 августа 2013

Предполагается, что Java:

1.- Выполнить:

wsimport -keep -p myClient url_to_wsdl

Где myClient будет папкой с сгенерированными клиентскими артефактами.url_to_wsdl URL-адрес вашего WSDL.

2.- Создайте клиентский класс с методом со следующим кодом:

    YourServiceClass service = new YourServiceClass();
    YourEndpointClass port = service.getPort();
    YourRequestClass request = new YourRequestClass();
    YourMessageClass message = new YourMessageClass(); //In case you have it
    message.setParam1(param1); //depending on your message
    message.setParam2(param2);

    request.setMessage(message);
    YourResponseClass response = port.ServiceOperation(request); //This call locks execution

    System.out.println(response.getMessage().getResponse());
  • YourServiceClass является сгенерированным артефактом extends javax.xml.ws.Service.

  • YourEndpointClass можно увидеть в YourServiceClass в операции, которая вызывает super.getPort ();

  • YourRequestClass и YourResponseClass будет зависеть от того, как обрабатывается сообщение запроса и ответа.

  • YourMessageClass будет классом-оболочкой для вашегосообщение (в зависимости от WSDL).

Все Ваши * классы должны быть сгенерированы wsimport и импортированы в ваш клиентский класс.С флагом -keep в wsimport вы сможете увидеть файлы .java и определить, какие классы вам необходимы для выполнения этого кода.

3 голосов
/ 12 октября 2011

Вот подробное руководство по его созданию: Клиент SOAP на Java

1 голос
/ 12 октября 2011

Обновите ваше затмение до последней версии (хотя я видел, что оно работает и с Eclipse Europa 3.3.2, хотя :)). Перейдите к мастеру создания новых проектов и в разделе Веб-служба выберите Клиент веб-службы , нажмите кнопку «Далее» и укажите местоположение файла wsdl для веб-службы. Eclipse автоматически создаст для вас заглушки веб-сервисов.

0 голосов
/ 07 июня 2018

Вы можете взглянуть на это -> https://github.com/devashish234073/SOAP_GUI_PHP/blob/master/README.md Это простой SOAP-клиент в php.

Используя ту же логику, что и php one [home.php] , я также добавил java версию

0 голосов
/ 12 октября 2011

Это довольно широкий вопрос.С моей точки зрения, я бы предложил использовать Apache CXF: http://cxf.apache.org/

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

Но, однако, это больше зависит от требований и вкуса.

Альтернативы можно найти, например, здесь: http://java -source.net / с открытым исходным кодом / веб-сервисы инструментов

...