Применение запроса XPath к SOAPMessage в Java - PullRequest
1 голос
/ 29 июня 2010

в настоящее время делает запрос SOAP с использованием метода SOAPConnectionFactory и SOAPConnection Java, который возвращает объект SOAPMessage, и я хотел бы применить к нему запрос XPath. Это вообще возможно, или я совершенно ошибаюсь?

Насколько мне удается, мне нужно каким-то образом преобразовать SOAPMessage в InputSource, к которому я могу затем применить XPath, но я не могу понять, как это сделать.

Спасибо, Питер

1 Ответ

3 голосов
/ 11 июля 2010

SOAPBody можно привести к Узлу. Итак, вы можете использовать его так:

URL endpoint = new URL("http://www.webservicex.net/whois.asmx");
SOAPMessage message = connection.call(sm, endpoint);
XPath xpath = XPathFactory.newInstance().newXPath();
xpath.setNamespaceContext(new SoapNamespaceContext());
Node resultNode = (Node) xpath.evaluate("//m:GetWhoISResult", message.getSOAPBody(), XPathConstants.NODE);
... do something with resultNode...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...