【问题标题】:Get a single piece of data from a SOAP C# Webservice in Java从 Java 中的 SOAP C# Web 服务获取单条数据
【发布时间】:2016-09-21 18:49:22
【问题描述】:

我开始处理 SOAP 消息,我需要获取此响应的字符串,然后将其转换为图片,但问题是获取字符串开头。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <ObtenerImagenResponse xmlns="http://localhost/WebService">
         <ObtenerImagenResult>This is a picture</ObtenerImagenResult>
      </ObtenerImagenResponse>
   </soap:Body>
</soap:Envelope>

如何从 Java 中提取“这是一张图片”。

(我对发送 SOAP 消息很熟悉,多亏了一些 C&P,我也能收到一些消息,但我不知道如何处理所有这些消息)。

提前谢谢你。如果需要,我可以提供更多信息,但这只是我无法阅读的许多类似 SOAP 响应的一个示例,它们只包含一个元素。

【问题讨论】:

标签: java c# string web-services soap


【解决方案1】:

您可以使用 jSoup 并执行以下操作:

doc.select("ObtenerImagenResult");

基本上,jSoup 是一个用于 java 的库,它允许您使用类似 jquery 的选择器语法来查询大块 html/xml。

这里有一段更详细的代码和描述:jSoup

【讨论】:

    【解决方案2】:

    嗯,这个问题的答案并不复杂。

    在我们得到 SOAP 请求的响应后,我们要做的就是将正文提取为 Document,然后将第一个孩子的值作为字符串获取。

    SOAPBody sb = soapResponse.getSOAPBody();
    Document XMLDoc = sb.extractContentAsDocument();
    NodeList nl = XMLDoc.getElementsByTagName("ObtenerImagenResult");
    String response = nl.item(0).getFirstChild().getNodeValue();
    return response;
    

    这是获得唯一物品的最佳方式。希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-21
      • 1970-01-01
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      • 2013-10-10
      • 1970-01-01
      相关资源
      最近更新 更多