javascript - 使用 Javascript 从 SOAP 中提取数据

标签 javascript jquery web-services soap

我有一个来自 Web 服务的 SOAP 响应,我只是尝试从 body 元素内的“总成本”中提取“金额”元素。我熟悉如何在 JSON 中执行此操作,但我很难在网上找到有关如何使用 Javascript/jQuery 通过 SOAP 执行此操作的任何 Material 。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns1:TotalCostResponse xmlns="http://get_total_cost_request.business.ws.test.com" xmlns:ns1="http://business.ws.test.com" xmlns:ns2="http://get_total_cost_response.business.ws.test.com">
         <ns2:MSG>
            <ns2:HEADER>
               <ns2:SITENO>1</ns2:SITENO>
               <ns2:SYSTEM_ID>S01</ns2:SYSTEM_ID>
               <ns2:CLUSTER_NAME>BUSINESS</ns2:CLUSTER_NAME>
               <ns2:SERVICE_METHOD>TOTAL_COST</ns2:SERVICE_METHOD>
               <ns2:VERSION_NO>1.0</ns2:VERSION_NO>
            </ns2:HEADER>
            <ns2:BODY>
               <ns2:TOTAL_COST>
                  <ns2:AMOUNT>2139.82</ns2:AMOUNT>
                  <ns2:CURRENCY>GBP</ns2:CURRENCY>
               </ns2:TOTAL_PREMIUM>
            </ns2:BODY>
         </ns2:MSG>
      </ns1:TotalCostResponse>
   </soap:Body>
</soap:Envelope>

在 JSON 中,这将类似于;

var obj = JSON.parse(data.TotalCostResponse.MSG.BODY.TOTALCOST.AMOUNT);

但是我怎么也想不出如何使用 SOAP 来实现这一点。任何帮助将不胜感激!

更新 1 该调用是使用 jquery 的 AJAX 方法进行的,根据控制台 MSG 未定义。这可能与 SOAP 命名空间有关吗?

$.ajax({
 type: "POST",
 url: URL,
 data: dataSet,
 dataType: "xml",
 contentType: "text/xml; charset=\"utf-8\"",
 success: function(data) {

  obj = $.parseXML(data.TotalCostResponse.MSG.BODY.TOTAL_COST.AMOUNT);

        }});

最佳答案

XML无法使用JSON.parse进行解析,它用于解析JSON字符串。您可以使用jQuery.parseXML()

var obj = $.parseXML(data.TotalCostResponse.MSG.BODY.TOTALCOST.AMOUNT);

关于javascript - 使用 Javascript 从 SOAP 中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34788467/

相关文章:

web-services - 将外部目录映射到 web.xml

javascript - elem.style.height 未在 while 循环内触发

javascript - 全局变量无法发挥作用

jquery - 如何检查图片是否已完全加载?

javascript - 隐藏多个json d3组

java - Android 通过.net webservices 发送推送通知

javascript - 加载分页数据时行数性能影响,有什么想法吗?

javascript - jqGrid 中的隐藏列

javascript - CSS 菜单停止工作 -/function/is undefined 错误

java - 简单 RESTtful Web 服务实现中的错误