SOAP 响应因大负载而被截断
SOAP response get truncated for big payload
我们有一个遗留 SOAP web service
,使用 Apache Axis 1
实现。在客户端环境中,响应数据有时会在某些 API 调用中被截断,从而导致错误。但是当使用 SOAP UI 客户端进行测试时,它 returns 符合预期的完整数据。这种行为无法在我们的开发环境中本地复制,并且只发生在客户办公室。他们确实有前端代理和适当的东西来路由请求。
我们仍在使用 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 returns 使用 HTTP 完成数据,但一旦启用 SSL,它就会截断响应。它在客户端收到完整响应之前关闭连接。
我们有一个遗留 SOAP web service
,使用 Apache Axis 1
实现。在客户端环境中,响应数据有时会在某些 API 调用中被截断,从而导致错误。但是当使用 SOAP UI 客户端进行测试时,它 returns 符合预期的完整数据。这种行为无法在我们的开发环境中本地复制,并且只发生在客户办公室。他们确实有前端代理和适当的东西来路由请求。
我们仍在使用 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 returns 使用 HTTP 完成数据,但一旦启用 SSL,它就会截断响应。它在客户端收到完整响应之前关闭连接。