1
我正在使用模塊strong-soap與Node.js我試圖發送請求RPC到Web服務。如何從soap參數中省略/設置xmlns:xsd屬性?
我創建選項的客戶端:
var wsdlOptions = {
attributesKey: '$attributes',
valueKey: '$value'
};
我設置的參數如下所示:
var args = {
'para': {
$attributes: {
$xsiType: "xsd:string"
},
$value: 'a'
},
'parb': {
$attributes: {
$xsiType: "xsd:string"
},
$value: 'b'
},
'parc': {
$attributes: {
$xsiType: "xsd:string"
},
$value: 'c'
}
};
然而,當我調用該方法,它產生的XML(信封):
<ns1:query xmlns:ns1="http://<host>">
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="" xsi:type="xsd:string">a</para>
<parb xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="" xsi:type="xsd:string">b</parb>
<parc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="" xsi:type="xsd:string">c</parc>
</ns1:query>
我得到一個錯誤信息:
屬性「prefix =」xmlns「,localpart =」xsd「,rawname =」xmlns:xsd「」的值無效。前綴名稱空間綁定可能不爲空。
我沒有看到任何方法來設置或從方法調用中刪除此參數。 當我在參數中設置$ xsiType時,lib會自動設置一個空的xmlns:xsd。
我與之交互的Web服務有一箇舊的SOAP實現,我認爲這可能是問題。有什麼建議麼?