[英]The server cannot service the request because the media type is unsupported Soap Nodejs
我已經在 nodejs 中使用消耗 wsdl 項目的庫“soap”構建和 api。
我正在嘗試發帖,但在響應正文中收到此錯誤:服務器無法為請求提供服務,因為不支持媒體類型; 同樣在響應正文中,我有這條消息:無法處理消息,因為內容類型為 'text/xml; charset=utf-8' 不是預期的類型 'application/soap+xml; 字符集=utf-8 。 我做了一些研究,發現這是服務器和客戶端之間的 soap 版本問題。
我試試這個東西:
這是我的代碼的一部分:
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) } } } })
我找到了。 我有兩個問題,在創建客戶端服務時,默認端點設置錯誤,需要 Content-Type application/soap+xml; 字符集=utf-8 。 我只是覆蓋了端點,請求成功了!!
為了我,
這是我修復錯誤的方法。 首先轉到 Headers:然后,如果您能夠在現場更改默認內容類型值,從 application/xml 到 text/xml,請先嘗試編輯它。 如果不取消選中內容類型復選框,並在底部的同一列中,只需為鍵鍵入內容類型,為值鍵入文本/xml。 然后就完美了!!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.