我们有一个旧版SOAP web service
,使用Apache Axis 1
实现。在客户端环境中,有时某些API调用会截断响应数据,从而导致错误。但是,当使用SOAP UI客户端进行测试时,它会返回预期的完整数据。此行为无法在我们的开发环境中本地复制,只能在客户办公室发生。他们确实有前端代理和用于路由请求的内容。
我们仍在使用HTTP 1.0
。这会导致有效载荷过大的问题吗?升级到HTTP 1.1
需要花费多少精力?会是一个简单的标题升级,说明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,它就会截断响应。在客户端收到完整响应之前,它正在关闭连接。