【发布时间】:2019-01-15 11:25:00
【问题描述】:
服务返回一些错误状态 500,我想将它返回给客户端。 实际上,它被返回了,我可以在 HTTP 响应对象的客户端(webApp)中看到(状态,错误消息......), 但是第三次移动优先服务器(运行 JAVA Http 适配器的地方)必须重新声明。 通过成功响应(状态 200)不需要重新启动或执行任何操作,服务器运行稳定且正常。
这是我的代码:
public void execute(HttpUriRequest req, HttpServletResponse resultResponse)
throws IOException, IllegalStateException, SAXException {
HttpResponse response = client.execute(req);
if(response.getStatusLine().getStatusCode() != HttpStatus.SC_OK){
resultResponse.sendError(response.getStatusLine().getStatusCode(), response.getStatusLine().getReasonPhrase());
//was tried but the same result
//resultResponse.setStatus(response.getStatusLine().getStatusCode());
//resultResponse.getWriter().close();
}else{
response.getEntity().writeTo(resultResponse.getOutputStream());
}
}
也许这个组合不能一起工作,或者我的 resultResponse 出了点问题!
【问题讨论】:
-
也许看看错误,请edit 回答您的问题?收到 500 错误几乎总是在某处弹出的异常
-
这不是我的错误;作为客户,我不在乎,我必须转发从 Web 服务操作/端点收到的所有内容
-
当您从后端收到状态码 500 时,服务器日志会告诉您什么?
标签: java http servlets ibm-mobilefirst httpresponse