gpt4 book ai didi

node.js - Node Js SOAP 包

转载 作者:行者123 更新时间:2023-12-03 12:17:38 31 4
gpt4 key购买 nike

我正在使用 Node soap 包并尝试通过向它发送请求来调用 WSDL 函数。当我通过 SoapUI 客户端尝试该功能时,该功能运行良好。我想通过我的 Node 应用程序执行它。我以下列方式使用“soap” Node 包:

soap.createClient(url, function(err, client) {
if (err) {
console.log(err);
} else {
client.ProcessOrderRequest(exampleJsonRequest, function(error, processOrderResult, body) {
console.log(error)
})
}
})

我在包的文档中看到一个示例,我们可以将 json 数据发送到函数,而在 SoapUI 中我发送 xml 数据并且它有效。这在 Node 代码中不起作用。

报错如下:

Fault: 
{ faultcode: 500,
faultstring: 'Invalid XML',
detail: 'Error: Non-whitespace before first tag.\nLine: 0\nColumn: 1\nChar: \u001f',
statusCode: 500 }

我尝试发送 XML 字符串,但仍然无法正常工作。有什么问题?提前致谢。

最佳答案

我在寻找请求中的问题时遇到了同样的问题,但实际上是服务器的响应。记录来自服务器的响应并仔细检查它是否是有效的 XML 响应。当您的客户端获得答案并尝试将 XML 响应反序列化为 JSON 对象时,问题就出现了,由于它无效,因此发出“无效 XML”。

在我的例子中,响应“404:未找到:/”以纯文本而不是 XML 消息的形式发送。当我改成

"<error>404: not found: /</error>"

问题解决了,然后我意识到问题的根本原因在于 WSDL 绑定(bind)定义。

关于node.js - Node Js SOAP 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39467212/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com