簡體   English   中英

使用Java腳本從SOAP提取數據

[英]Extracting Data From SOAP with Javascript

我從Web服務收到SOAP響應,而我只是想從body元素中的“ Total Cost”中提取“ Amount”元素。 我對如何在JSON中執行此操作很熟悉,但是我很難在網上找到有關如何使用Javascript / jQuery使用SOAP進行操作的任何資料。

<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根據控制台MSG未定義,正在使用jquery的AJAX方法進行調用。 這可能與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);

        }});

無法使用JSON.parse解析XML,它用於解析JSON字符串。 您可以使用jQuery.parseXML()

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM