Author: ay
Date: Fri Sep 2 16:20:23 2011
New Revision: 1164609
URL: http://svn.apache.org/viewvc?rev=1164609&view=rev
Log:
Merged revisions 1164536 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1164536 | ay | 2011-09-02 15:55:58 +0200 (Fri, 02 Sep 2011) | 1 line
[CXF-3788] Allow CXF HTTP Client to handle HTTP 202 for twoway calls when the
real response is sent back to the decoupled endpoint
........
Modified:
cxf/branches/2.4.x-fixes/ (props changed)
cxf/branches/2.4.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
cxf/branches/2.4.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitURLEasyMockTest.java
Propchange: cxf/branches/2.4.x-fixes/
------------------------------------------------------------------------------
svn:mergeinfo = /cxf/trunk:1164536
Propchange: cxf/branches/2.4.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
cxf/branches/2.4.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java?rev=1164609&r1=1164608&r2=1164609&view=diff
==============================================================================
---
cxf/branches/2.4.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
(original)
+++
cxf/branches/2.4.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
Fri Sep 2 16:20:23 2011
@@ -1545,7 +1545,8 @@ public class HTTPConduit
}
InputStream in = null;
- if (isOneway(exchange)) {
+ // oneway or decoupled twoway calls may expect HTTP 202 with no
content
+ if (isOneway(exchange) || HttpURLConnection.HTTP_ACCEPTED ==
responseCode) {
in = ChunkedUtil.getPartialResponse(connection, responseCode);
if (in == null) {
// oneway operation or decoupled MEP without
Modified:
cxf/branches/2.4.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitURLEasyMockTest.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitURLEasyMockTest.java?rev=1164609&r1=1164608&r2=1164609&view=diff
==============================================================================
---
cxf/branches/2.4.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitURLEasyMockTest.java
(original)
+++
cxf/branches/2.4.x-fixes/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitURLEasyMockTest.java
Fri Sep 2 16:20:23 2011
@@ -208,6 +208,22 @@ public class HTTPConduitURLEasyMockTest
finalVerify();
}
+ @Test
+ public void testSendTwowayDecoupledEmptyPartialResponse()
+ throws Exception {
+ control = EasyMock.createNiceControl();
+ HTTPConduit conduit = setUpConduit(true, false);
+ Message message = new MessageImpl();
+ conduit.prepare(message);
+ verifySentMessage(conduit,
+ message,
+ ResponseStyle.DECOUPLED,
+ ResponseDelimiter.EOF,
+ true, // empty response
+ "POST");
+ finalVerify();
+ }
+
private void setUpHeaders(Message message) {
Map<String, List<String>> headers = new TreeMap<String,
List<String>>(String.CASE_INSENSITIVE_ORDER);
List<String> contentTypes = new ArrayList<String>();