Node.js 对另一台服务器的代理Post请求失败
我是node.js的新手。我需要从node.js将POST请求(带有有效负载)代理到另一台服务器,并将其响应处理回浏览器客户端 我的场景(browser node.js最终目标服务器) 在我解释我的问题之前,我的代码就是这样的。Node.js 对另一台服务器的代理Post请求失败,node.js,proxy,Node.js,Proxy,我是node.js的新手。我需要从node.js将POST请求(带有有效负载)代理到另一台服务器,并将其响应处理回浏览器客户端 我的场景(browser node.js最终目标服务器) 在我解释我的问题之前,我的代码就是这样的。 我不断收到“500内部服务器错误”“错误无响应” 我强烈怀疑(虽然不确定!),这个错误的原因是我的负载从初始请求没有被复制到代理请求,并且我的最终服务器期望的完整url不在那里 有人能告诉我,如何将url和负载复制到转发请求中? 另外,我如何处理来自转发服务器的响应?
我不断收到“500内部服务器错误”“错误无响应” 我强烈怀疑(虽然不确定!),这个错误的原因是我的负载从初始请求没有被复制到代理请求,并且我的最终服务器期望的完整url不在那里 有人能告诉我,如何将url和负载复制到转发请求中? 另外,我如何处理来自转发服务器的响应? 我的负载是一个xml对象,最终的url是
http://ipaddress:port/XISOAPAdapter/MessageServlet?senderParty=&senderService=BS_WSAPPS_Q&receiverParty=&receiverService=&interface=SI_OrderStatusRequest_Out&interfaceNamespace=http://xyz/IF027/EC/OrderStatus/I_WS_APPS
@Krzysztof Sztompka
这是你要我提供的信息。miine是一个开发环境
_http_outgoing.js:512
抛出新的TypeError('第一个参数必须是字符串或缓冲区');
^
TypeError:第一个参数必须是字符串或缓冲区
在ServerResponse.OutgoingMessage.end(_http_outgoing.js:512:11)
在请求时。\u回调(D:\MyNode.js\serverproxy.js:18:43)
在self.callback(D:\MyNode.js\node\u modules\request\request.js:198:22)
at Request.emit(events.js:107:17)
at Request.onRequestError(D:\MyNode.js\node\u modules\Request\Request.js:867:8)
在ClientRequest.emit(events.js:107:17)
在Socket.socketOnEnd(_http_client.js:300:9)
在Socket.emit(events.js:129:20)
at_stream_readable.js:908:16
在进程中。_tickCallback(node.js:355:11)将此更改为:
if(err){return res.status(500.end('Error no response');}
将此更改为:if(err){return res.status(500.end(err);}
,当您出现错误时,将有更多详细信息。编辑问题并粘贴它。如果是生产服务器,则按如下方式进行更改:If(err){console.log(err);返回res.status(500).end('Error no response');}
并且错误将在Terminal中,如果可以解决它,则返回res.status(500).end('Error no response');}。问题在请求声明中。这是正确的请求代码,我用DI可以解决它。问题出现在请求语句和身份验证中;请求({url:,//包含端点的完整url。方法:“POST”,标题:{“内容类型”:“text/xml”,“Authorization”:auth//请参阅上面的var声明。},正文:soapMessage//保存xml消息的变量。},函数(err,remoteResponse,remotebody){console.log(remoteResponse);if(err){返回res.status(500).end(“error”);}res.writeHead(200);res.end(remotebody);});
http://ipaddress:port/XISOAPAdapter/MessageServlet?senderParty=&senderService=BS_WSAPPS_Q&receiverParty=&receiverService=&interface=SI_OrderStatusRequest_Out&interfaceNamespace=http://xyz/IF027/EC/OrderStatus/I_WS_APPS