服务器无法处理请求,因为不支持的媒体类型Soap Nodejs

问题描述 投票:0回答:1

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

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

我尝试这件事:

  1. 创建肥皂客户端时添加了forceSoap12Headers:false,反之亦然
  2. 将具有接受内容和内容类型的肥皂库重写为:text / xml; charset = utf-8,还更改了属于soap v1.1]的所有方案
  3. 尝试在请求'Accept''text / xml'
  4. ]中添加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)
                    }
                }
    
                    }
                })

    我已经使用消耗wsdl项目的“ soap”库在nodejs中构建并api。我正在尝试发布,并且在响应正文中出现此错误:服务器无法处理请求...

javascript node.js api soap wsdl
1个回答
0
投票

我找到了。我有两个问题,在创建客户端服务时,默认端点设置错误,并且要求Content-Type application / soap + xml; charset = utf-8

。我只是覆盖端点,请求顺利了!
© www.soinside.com 2019 - 2024. All rights reserved.