javascript – 如何在node.js中使用node-soap或strong-soap添加soap标头
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何在node.js中使用node-soap或strong-soap添加soap标头,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1814字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 如何在node.js中使用node-soap或strong-soap添加soap标头](/upload/InfoBanner/zyjiaocheng/811/a7097eeb88954e039b7aa9f7fad150ac.jpg)
我正在尝试在节点中使用xml Web服务soap客户端,我不知道如何为我的示例添加soap标头.
看看strong-soap,有一个方法addSoapHeader(value,qname,options)但是我不确定在这种情况下我需要传递什么作为qname和options.
我的要求,我需要发送
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aut="http://schemas.foo.com/webservices/authentication" xmlns:hot="http://foo.com/webservices/hotelv3" xmlns:hot1="http://schemas.foo.com/webservices/hotelv3">
<soapenv:Header>
<aut:AuthenticationHeader>
<aut:LoginName>foo</aut:LoginName>
<aut:Password>secret</aut:Password>
<aut:Culture>en_US</aut:Culture>
<aut:Version>7.123</aut:Version>
</aut:AuthenticationHeader>
</soapenv:Header>
<soapenv:Body>
<hot:BookHotelV3>
<!--Optional:-->
<hot:request>
<hot1:RecordLocatorId>0</hot1:RecordLocatorId>
<!--Optional:-->
<hot1:RoomsInfo>
<!--Zero or more repetitions:-->
<hot1:RoomReserveInfo>
<hot1:RoomId>123</hot1:RoomId>
<hot1:ContactPassenger>
<hot1:FirstName>Joe</hot1:FirstName>
<hot1:LastName>Doe</hot1:LastName>
</hot1:ContactPassenger>
<hot1:AdultNum>2</hot1:AdultNum>
<hot1:ChildNum>0</hot1:ChildNum>
</hot1:RoomReserveInfo>
</hot1:RoomsInfo>
<hot1:PaymentType>Obligo</hot1:PaymentType>
</hot:request>
</hot:BookHotelV3>
</soapenv:Body>
</soapenv:Envelope>
值应该是:
value = { LoginName:'foo', Password:'secret', Culture:'en_US', Version:7.123 }
那qname应该是什么?权威性:AuthenticationHeader?我在哪里指定命名空间?
node-soap有一个更简单的例子吗?我应该使用强力肥皂还是节肥皂?
解决方法:
我通过阅读代码库找到了做到这一点的方法. (强皂)
qname – 限定名称
对于简单的标题
const QName = require('strong-soap').QName;
client.addSoapHeader({
item: {
key: 'api_key',
value: apiKey
}
}, new QName(nsURI, 'Auth'));
对于像你这样的复杂标题,直接在xml中指定它
client.addSoapHeader(
`<aut:Auth xmlns:aut="${nsURI}">
<aut:LoginName>foo</aut:LoginName>
</aut:Auth>`
);
内容总结
以上是互联网集市为您收集整理的javascript – 如何在node.js中使用node-soap或strong-soap添加soap标头全部内容,希望文章能够帮你解决javascript – 如何在node.js中使用node-soap或strong-soap添加soap标头所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。