Vadim Beilin created CXF-9135:
---------------------------------
Summary: Second async javax call fails with allowChunking=false
Key: CXF-9135
URL: https://issues.apache.org/jira/browse/CXF-9135
Project: CXF
Issue Type: Bug
Components: JAX-WS Runtime
Affects Versions: 4.1.1
Reporter: Vadim Beilin
Attachments: ShowBug.java
The second call to an asynchronous web method is failing when using the JDK
HttpClient-based conduit and allowChunking set to false.
Logs show that the while the first request has correct conetnt-length, the
second request has Transfer-encoding: chunked, and the body is not sent at all.
Here are three requests received by the server. Here are 3 requests received by
the server (WSDL and two web methods):
{noformat}
ID: 1
Address: http://localhost:12345/Service?wsdl
Http-Method: GET
Content-Type:
Headers: {Accept=[*/*], connection=[Upgrade, HTTP2-Settings],
Content-Length=[0], Content-Type=[null], Host=[localhost:12345],
HTTP2-Settings=[AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA], Upgrade=[h2c],
User-Agent=[Apache-CXF/4.1.1]}
{noformat}
{noformat}
ID: 2
Address: http://localhost:12345/Service
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml; charset=UTF-8
Headers: {Accept=[*/*], connection=[Upgrade, HTTP2-Settings],
Content-Length=[152], content-type=[text/xml; charset=UTF-8],
Host=[localhost:12345],
HTTP2-Settings=[AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA], SOAPAction=[""],
Upgrade=[h2c], User-Agent=[Apache-CXF/4.1.1]}
Payload: <soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><respond
xmlns="http://test">blah</respond></soap:Body></soap:Envelope>
{noformat}
{noformat}
ID: 3
Address: http://localhost:12345/Service
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml; charset=UTF-8
Headers: {Accept=[*/*], connection=[Upgrade, HTTP2-Settings],
content-type=[text/xml; charset=UTF-8], Host=[localhost:12345],
HTTP2-Settings=[AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA], SOAPAction=[""],
transfer-encoding=[chunked], Upgrade=[h2c], User-Agent=[Apache-CXF/4.1.1]}
{noformat}
I'm attaching a test class that demonstrates the issue.
For the failure to happen, we need
* to use the new default HttpClient-based conduit (URLConnection-based conduit
works)
* {{allowChunking}} to be set to false (not set or set to true works)
* an asyncronous service method to be used (synchronous method works)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)