Java-классы для генерации SOAP-запросов из wsdl - PullRequest
1 голос
/ 24 августа 2010

Я ищу способ легко генерировать запросы SOAP из файла wsdl.например, что-то вроде этого:

WSDLObject myWsdl = new WSDLObject("http://www.whatever.com/myService?wsdl");
SOAPRequest myRequest = myWsdl.generateSOAPRequest();

Есть что-нибудь подобное?

Я пытаюсь сделать это динамически через другое приложение, поэтому такие инструменты, как WSDL2Java, не работают для меня (по крайней мере, я так думаю).Мне нужно иметь возможность генерировать эти запросы из пользовательского ввода, а затем работать с ними оттуда.

любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 27 сентября 2012

Пожалуйста, посмотрите этот ответ: Как получить ответ от конечной точки SOAP?

Что вы в основном хотите сделать, это использовать инструмент wsimport, который поставляется с JDK.Пока Java находится в пути к классам вашей системы, вы должны иметь возможность перейти на любой терминал или консоль и выполнить:

wsimport http://www.whatever.com/myService?wsdl -p com.company.whateveruwant -d . -keep

С возможностью выбора параметров (-d указывает каталог для вывода сгенерированного кода).После этого вы сможете довольно просто вызвать веб-сервис с автоматически сгенерированным кодом, например:

CustomInterface soap = new CustomEndpoint().getCustomInterface();
System.out.println(soap.getAnswerFromWs("ParamValue"));
0 голосов
/ 26 августа 2010

Вы можете использовать WSDL2Java. Уникальным изменением является то, что вы работаете с прокси-объектами Java и устанавливаете атрибуты этих объектов для генерации SOAP-запроса. Другой способ - использовать SOAPUI, например, для генерации сообщения SOAP, и напрямую создать ваше сообщение SOAP как StringBuffer и напрямую использовать сокет для вызова службы, составляющей полное сообщение HTTP / SOAP с нуля.

...