java - SOAP 响应因负载过大而被截断

标签 java soap apache-axis http-1.1 http-1.0

我们有一个旧版 SOAP Web 服务,使用 Apache Axis 1 实现。在客户端环境中,某些 API 调用的响应数据有时会被截断,从而导致错误。但当使用 SOAP UI 客户端进行测试时,它会按预期返回完整数据。此行为无法在我们的开发环境中本地复制,并且仅发生在客户办公室。他们确实有前端代理和适当的东西来路由请求。

我们仍在使用HTTP 1.0。这会导致大有效载荷的任何问题吗?升级到 HTTP 1.1 需要付出多少努力?这会是一个简单的 header 升级,声明 HTTP/1.1 吗?

我们已经在请求和响应时使用 utf-8 对数据进行编码。

示例 SOAP 请求:

[POST /apixyzCall HTTP/1.0
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.1beta
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: "http://abc/SoapManager"
Content-Length: 983

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"   xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>

PAYLOAD
</soapenv:Body>
</soapenv:Envelope>

]

有什么建议吗?

最佳答案

结果发现问题出在 SSL 上。 API 使用 HTTP 返回完整的数据,但一旦启用 SSL,它就会截断响应。在客户端收到完整响应之前它正在关闭连接。

关于java - SOAP 响应因负载过大而被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59397320/

相关文章:

java - 参数的非法修饰符

java - JUnit 测试中的注释数量不正确

Node.js SOAP : invalid message definition for rpc style binding

php - 克服 PHP、SoapServer、UTF-8 和非英文字符的编码问题?

java SOAP 响应问题

java - 在 WSDL 文件中指定抛出 AxisFault

java - JPA - EntityManagerFactory 指向本地主机

java - 在 web 服务本身 axis2 中使用资源?

java - 禁止 XSD 中的空元素

java - 如何恢复 Android 中的 Activity ?