第三方插件
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>''';
发起POST请求
http.Response response = await http.post(_url,
headers: {
"SOAPAction": "wsdl文档中对应的SOAPAction",
"Content-Type": "text/xml;charset=UTF-8",
"Authorization": "Derek",
"cache-control": "no-cache"
},
body: utf8.encode(_requestBody),
encoding: Encoding.getByName("UTF-8"));
解析返回的数据
XmlDocument document = XmlDocument.parse(response.body);
final values = document.findAllElements('key');
if (values.isNotEmpty) {
values.map((e) => e.text).forEach((element) {
print(element)
});
}