在 IBM WebSphere Application Server (WAS) V8.5.5.11 之上运行的 Web 应用程序中,有一个调用外部 Web 服务的 JAX-WS 客户端部分(使用 WAS 内置的 JAX-WS 组件) 。
对于 HTTP 正文大于 32 KB 的任何 Web 服务调用,WAS 将使用分块传输编码。不幸的是,外部 Web 服务无法处理分块传输编码,并且会出错。
如何在 WAS JAX-WS 客户端代码中禁用分块传输编码?
最佳答案
您需要创建一个 SOAP JAX-WS 处理程序并重写 handleMessage
方法来添加 http header ,如下所示:
public boolean handleMessage(SOAPMessageContext smc) {
ctx.put(HTTPConstants.CHUNKED, "false");
return true;
}
这很简单,只需为处理程序创建一个类和一个简单的 xml 文件来声明它即可 检查https://jax-ws.java.net/articles/handlers_introduction.htmlor http://www.mkyong.com/webservices/jax-ws/jax-ws-soap-handler-in-client-side/
关于java - 在 WebSphere Application Server 8.5 中禁用 JAX-WS 客户端的分块传输编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43553057/