Author: ay
Date: Tue Sep 13 12:06:05 2011
New Revision: 1170134

URL: http://svn.apache.org/viewvc?rev=1170134&view=rev
Log:
Merged revisions 1170107 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/branches/2.4.x-fixes

................
  r1170107 | ay | 2011-09-13 12:36:42 +0200 (Tue, 13 Sep 2011) | 9 lines
  
  Merged revisions 1170066 via svnmerge from 
  https://svn.apache.org/repos/asf/cxf/trunk
  
  ........
    r1170066 | ay | 2011-09-13 09:35:29 +0200 (Tue, 13 Sep 2011) | 1 line
    
    [CXF-3788] fixing interop issues caused by this earlier patch
  ........
................

Modified:
    cxf/branches/2.3.x-fixes/   (props changed)
    
cxf/branches/2.3.x-fixes/rt/core/src/main/java/org/apache/cxf/endpoint/ClientImpl.java
    
cxf/branches/2.3.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java

Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Tue Sep 13 12:06:05 2011
@@ -0,0 +1,2 @@
+/cxf/branches/2.4.x-fixes:1170107
+/cxf/trunk:1170066

Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
cxf/branches/2.3.x-fixes/rt/core/src/main/java/org/apache/cxf/endpoint/ClientImpl.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/core/src/main/java/org/apache/cxf/endpoint/ClientImpl.java?rev=1170134&r1=1170133&r2=1170134&view=diff
==============================================================================
--- 
cxf/branches/2.3.x-fixes/rt/core/src/main/java/org/apache/cxf/endpoint/ClientImpl.java
 (original)
+++ 
cxf/branches/2.3.x-fixes/rt/core/src/main/java/org/apache/cxf/endpoint/ClientImpl.java
 Tue Sep 13 12:06:05 2011
@@ -599,6 +599,18 @@ public class ClientImpl
             }
             throw ex;
         }
+        
+        //REVISIT 
+        // - use a protocol neutral no-content marker instead of 202?
+        // - move the decoupled destination property name into api 
+        Integer responseCode = (Integer)exchange.get(Message.RESPONSE_CODE);
+        if (null != responseCode && 202 == responseCode) {
+            Endpoint ep = exchange.getEndpoint();
+            if (null != ep && null != ep.getEndpointInfo() && null == 
ep.getEndpointInfo().
+                
getProperty("org.apache.cxf.ws.addressing.MAPAggregator.decoupledDestination")) 
{
+                return null;
+            }
+        }
 
         // Wait for a response if we need to
         if (oi != null && !oi.getOperationInfo().isOneWay()) {

Modified: 
cxf/branches/2.3.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java?rev=1170134&r1=1170133&r2=1170134&view=diff
==============================================================================
--- 
cxf/branches/2.3.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
 (original)
+++ 
cxf/branches/2.3.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
 Tue Sep 13 12:06:05 2011
@@ -59,6 +59,8 @@ import org.apache.cxf.configuration.jsse
 import org.apache.cxf.configuration.security.AuthorizationPolicy;
 import org.apache.cxf.configuration.security.CertificateConstraintsType;
 import org.apache.cxf.configuration.security.ProxyAuthorizationPolicy;
+import org.apache.cxf.endpoint.ClientCallback;
+import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.helpers.HttpHeaderHelper;
 import org.apache.cxf.helpers.IOUtils;
@@ -2318,6 +2320,15 @@ public class HTTPConduit 
                     // oneway operation or decoupled MEP without 
                     // partial response
                     connection.getInputStream().close();
+                    ClientCallback cc = exchange.get(ClientCallback.class);
+                    if (null != cc) {
+                        //REVISIT move the decoupled destination property name 
into api
+                        Endpoint ep = exchange.getEndpoint();
+                        if (null != ep && null != ep.getEndpointInfo() && null 
== ep.getEndpointInfo().
+                            
getProperty("org.apache.cxf.ws.addressing.MAPAggregator.decoupledDestination")) 
{
+                            cc.handleResponse(null, null);
+                        }
+                    }
                     return;
                 }
             } else {


Reply via email to