我需要在<soap:Header>上的某个属性名"RequestHeader“下包含身份验证内容,比如<soap:Header><RequestHeader></RequestHeader></soap:Header><soap:Body>
但不幸的是,node-soap将其放入了<soap:Body>中。所以我看到的是<soap:Header></soap:Header><soap:Body><RequestHeader>
问题是,如何将其移动到soap:Header?wsdl在这里可能有问题,但目前还不能修复它。
从wsdl的角度来看,这些是来自wsdl的片段,很明显wsdl声明RequestHeaderElement应该在标题中,我想知道为什么它会被抛到正文中?
`<wsdl:input name="SendSms"> <soap:header message="tns:SendSms" part="Headers" use="literal" /> <soap:body parts="Parameters" use="literal" /> </wsdl:input>` `<wsdl:message name="SendSms"> <wsdl:part element="ns1:RequestHeaderElement" name="Headers" /> <wsdl:part element="tns:SendSmsRequestElement" name="Parameters" /> </wsdl:message>`发布于 2017-04-21 12:23:34
您是否尝试过将XML字符串文字添加到标头中?
const auth = '<RequestHeader></RequestHeader>'
soap.createClient(url, soapOptions, function (err, client) {
client.addSoapHeader(auth);
client.myFunction(args, function (err, result) {
console.log(client.lastRequest) //see the xml generated
});
});https://stackoverflow.com/questions/34986196
复制相似问题