我使用全新安装的wso2 esb 4.8.1和stanalone默认配置。 当我向我的后端发送soap请求(使用soap lite的perl服务)时,POST请求的主体根据tcpdump被截断:
SOAPAction: ""
Content-Type: text/xml
Content-Length: 511
Host: 192.168.11.234:8181
Connection: Keep-Alive
User-Agent: Synapse-PT-HttpComponents-NIO
<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="htt
p://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<deleteAccountForHost xmlns="AbcdeHostingPhysicalHostManagerCPanelService">
<host xsi:type="xsd:string">zs000.abcde.net</host>
<user xsi:type="xsd:string">tstauto</user>
</deleteAccountForHost>
</soap:Body>
</soap:Envel
您可以看到结束标记'</soap:Envel'
被截断。
但是当我启用SOAP-tracer时,请求正文变得有效。 我用PT运输。我试图将传输切换到nhttp,这个问题似乎消失了。
所以问题是:如何配置PT传输以避免这种奇怪的行为?
UPD1: 似乎只有在设置属性FORCE_HTTP_1.0并且传输是PT
时才会出现问题答案 0 :(得分:0)
我遇到了同样的问题,但我设置了DISABLE_CHUNKING。
经过多次尝试,我测试了禁用分块或强制HTTP 1.0导致截断请求。
我使用的是WSO2 ESB版本4.8.1,客户端是来自PHP 5.5.11的SoapUI 5.0.0或SoapClient。
当我在ESB中使用“试用此服务”时,请求不会被截断。
从HTTP PassThrough切换到HTTP-NIO传输服务后端点接收完整请求,但后来我无法下载租户的WSDL。