SonicConnect: Chunked Response and SonicConnect Client

Posted by cwiseman on 06-Jun-2011 12:17

We are using SonicConnect to publish web services and as client services to make requests to external web services.

In the client use case where we consume an external web service, we have seen the SonicConnect service client fail each time when the response is chunked back.  When the response is not chunked by the protocol layer, it all works fine.  When the response gets large and the protocol determines that it must be chunked for the response, the SonicConnect client fails reading the resposne.

Using WireShark, we have confirmed that the SonicConnect client even sends some of the requests chunked to the external service so intuitively, one would think it could handle a chunked, larger response.

Any ideas on this behavior?  A bug possibly?  We are using Sonic v8.0.1.01.  Thanks.

All Replies

Posted by wtam on 06-Jun-2011 12:37

Please submit a defect.

Posted by cwiseman on 06-Jun-2011 12:48

We suspected as much.  I will submit one with as much information as we can provide.  Thanks William.

Posted by cwiseman on 08-Jun-2011 10:06

William, I have made our support contact aware of this issue.  Hopefully it can be repaired in the upcoming 8.5 release or a hotfix prior to that.

Can you ask internally if anyone has configuration elements we should possibly modify to make the SonicConnect Client work in reading the response stream or are we simply at the mercy of a hotfix here?

Posted by sedge on 14-Jun-2011 22:02

Hi Chris

I an issue like this last month. I don't know whether this will help you. It fixed my problem.

Initiall I saw it for outgoing messages and removed the "transfer-encoding" header before sending the messge.

Then I saw it for responses to an incoming messages and fixed it by removing the header before sending the reply.

The following is a Progress Software solution:

========================================

Title: Sonic is returning "invalid chunk header" when calling JAVA Web service.

ID: P177457

Status: Unverified

Audience: External

Symptom    Sonic is returning "invalid chunk header" when calling JAVA Web service.

Symptom    Sonic Connect service fails when invoking a external web service, with error "invalid chunk header"

Fact       Windows

Fact       Sonic ESB 8.0

Cause      ESB message has a property "transfer-encoding" set to "chunked"

Fix        Remove ESB message property "transfer-encoding", with value set to "chunked"

Regards
Steve

Posted by cwiseman on 15-Jun-2011 10:20

Stephen, thanks for the response to this post.  Our issue was specifically with a SonicConnect client making a request to an external web service.  If the response was chunked back to our SonicConnect client, it could never read the response stream fully and would fail.  We got this behavior using a test server that would SonicConnect client could hit for the web service calls it needed to make.  When we manipulated our test server to always properly compute the correct content length for the response and include it, the response would not be chunked coming back to the SonicConnect client and it would always work.

Your suggestion is noted.  If we want to eliminate chunking outbound on our request to the external service, we will remove those transfer-encoding headers.  I still believe SonicConnect has a bug handling a chunked response and it has been raised.  Many thanks.

This thread is closed