Flutter 發(fā)送SOAP請求

第三方插件

xml: ^5.3.1
http: ^0.13.3

RequestBody

String _requestBody = '''<?xml version="1.0"?>
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bru="http://www.glory.co.jp/bruebox.xsd">
       <soapenv:Header/>
       <soapenv:Body>
          <bru:StatusRequest>
             <!--Optional:-->
             <bru:Id>?</bru:Id>
             <bru:SeqNo>?</bru:SeqNo>
             <!--Optional:-->
             <bru:SessionID>?</bru:SessionID>
             <Option bru:type="?"/>
             <!--Optional:-->
             <RequireVerification bru:type="?"/>
          </bru:StatusRequest>
       </soapenv:Body>
      </soapenv:Envelope>''';

發(fā)起POST請求

http.Response response = await http.post(_url,
        headers: {
          "SOAPAction": "wsdl文檔中對應(yīng)的SOAPAction",
          "Content-Type": "text/xml;charset=UTF-8",
          "Authorization": "Derek",
          "cache-control": "no-cache"
        },
        body: utf8.encode(_requestBody),
        encoding: Encoding.getByName("UTF-8"));

解析返回的數(shù)據(jù)

XmlDocument document =  XmlDocument.parse(response.body);
final values = document.findAllElements('key');
if (values.isNotEmpty) {
    values.map((e) => e.text).forEach((element) { 
        print(element)
    });
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容