java - 在 WebSphere Application Server 8.5 中禁用 JAX-WS 客户端的分块传输编码

标签 java web-services jax-ws websphere-8

在 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/

相关文章:

java - 如何在 scriptlet 代码中使用 javascript 变量。

java - 在覆盖 toString 时,是使用 getter 方法更好还是直接访问私有(private)字段更好?

从 Web 服务引用的 C# 类未正确反序列化

java - 你好。我有 war 包装 spring boot soap web 服务,我部署到 tomcat 但 soapui 请求返回错误

web-services - JAXWS - 生成 SOAP 消息的正确结构的问题

java - 如何在内存级别通过类的成员函数访问类的私有(private)成员?

java - 如何创建根据列出的代码显示平均值的方法

web-services - 使用 SharePoint 客户端对象模型或 Web 服务访问列表项的属性包

java - 如何建议 xjc 生成 Java List 而不是嵌套类

java - maven-jaxws-tools-plugin 错误 : ClassNotFoundException