我正在使用npm soap包来处理soap npm服务。
显然,它是Node.JS生态系统中使用最广泛的soap客户端,而且我使用的是一个相当成熟的商业webservice,所以我不知道谁是“错误的”(或不符合标准的),但是我调用的方法的xml标记中的xmlns属性有一个问题。
我们生成这样的请求:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tns="https://webservice.com"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/">
<soap:Body>
<MethodName xmlns="https://webservice.com">
.......
</MethodName>
</soap:Body>
</soap:Envelope>但是服务器拒绝了这个请求,因为它只需要<MethodName>而不需要<MethodName xmlns="...">。如何从请求中删除此属性?理想情况下是通过传递给客户端的选项,但我也对使用另一个soap客户端持开放态度。
我也可以使用普通的http客户机并手动构建xml,但如果可能的话,我正在寻找更高级的替代方案。
发布于 2021-07-22 21:16:08
显然,strong-soap是一次重写,或者至少有一个类似于soap的API,尽管它的月下载量较少,但它有一个更强大的社区(通过他们各自的支持/社区聊天上的活动来判断),并且它不会在方法标记中注入xmlns属性。
所以,如果其他人被soap卡住了,试试strong-soap吧!
https://stackoverflow.com/questions/68483250
复制相似问题