服务器无法为请求提供服务,因为媒体类型不受支持 Soap Nodejs

Ele*_*zar 3 javascript api soap wsdl node.js

我已经在 nodejs 中构建了 api 和使用 wsdl 项目的库“soap”。

我正在尝试发帖,在响应正文中我收到此错误:服务器无法为请求提供服务,因为媒体类型不受支持;同样在响应正文中,我有这条消息:无法处理消息,因为内容类型为 'text/xml; charset=utf-8' 不是预期的类型 'application/soap+xml; 字符集=utf-8。我做了一些研究并发现这是服务器和客户端之间的soap版本问题。

我尝试这样的事情:

  1. 创建soap客户端时添加forceSoap12Headers:false反之亦然
  2. 将接受内容和内容类型的soap库重写为:text/xml;charset=utf-8,也改变所有属于soap v1.1的scheme
  3. 尝试在请求'Accept' 'text/xml' 中添加httpHeader

这是我的代码的一部分:

 MethodTest: async function(wsdl){
            try{
            var client  =  soap.createClient(wsdl,{forceSoap12Headers:false},async (err,result)=>{
                if(err){

                }else{
                    var descripcion = await this.ServiceDescription(wsdl); 
            if(!descripcion.error){
                var body = { _xml:  "<i0:GetAccountBalance>"+
                   "<i0:dc>"+
                      "<i0:RequestId>000</i0:RequestId>"+
                      "<i0:SystemId>WEB</i0:SystemId>"+
                      "<i0:SourceId>AR</i0:SourceId>"+
                      "<i0:AccountNumber>42526372</i0:AccountNumber>"+
                   "</i0:dc>"+
                   "<i0:dcSecurity>"+
                      "<i0:WebUser>NDsVwQwRbwbuY / DcX2PRGw ==</i0:WebUser>"+
                      "<i0:WebPassword>/d8zOcR9K9xqpl8CdhUJrw==</i0:WebPassword>"+
                   "</i0:dcSecurity>"+
                "</i0:GetAccountBalance>"}
                try{
                var response = await (result[descripcion.metodos[8]+"Async"])(body)
                }catch (e){
                    console.log(e.response)
                }
            }

                }
            })
Run Code Online (Sandbox Code Playgroud)

小智 10

为我,

  1. 我转到标题,取消选择原始内容类型
  2. 然后转到预设,单击管理预设
  3. 在那里,我单击“添加”,然后在弹出窗口中单击
    “a”。选择一个标题预设名称(任何名称都可以
    )对于键 -- 输入 Content-type
    c。对于值 -- 输入 text/xml
    d. 最后点击右下角的添加
  4. 关闭管理预设弹出窗口
  5. 单击新的预设,然后在底部选择新的内容类型


Ele*_*zar 8

我找到了。我有两个问题,在创建客户端服务时,默认端点设置错误并且需要 Content-Type应用程序/soap+xml;字符集=utf-8。我只是覆盖端点,请求正常!!