Return-Path: Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: (qmail 19945 invoked from network); 26 Nov 2010 07:29:44 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 26 Nov 2010 07:29:44 -0000 Received: (qmail 82296 invoked by uid 500); 26 Nov 2010 07:29:43 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 82234 invoked by uid 500); 26 Nov 2010 07:29:43 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 82227 invoked by uid 99); 26 Nov 2010 07:29:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Nov 2010 07:29:42 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Nov 2010 07:29:41 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 4DD6623889E1; Fri, 26 Nov 2010 07:28:10 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r1039254 - in /cxf/branches/2.2.x-fixes: ./ rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/ rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/ systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addressing/ Date: Fri, 26 Nov 2010 07:28:10 -0000 To: commits@cxf.apache.org From: ffang@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20101126072810.4DD6623889E1@eris.apache.org> Author: ffang Date: Fri Nov 26 07:28:09 2010 New Revision: 1039254 URL: http://svn.apache.org/viewvc?rev=1039254&view=rev Log: Merged revisions 1039250 via svnmerge from https://svn.apache.org/repos/asf/cxf/branches/2.3.x-fixes ................ r1039250 | ffang | 2010-11-26 14:18:26 +0800 (五, 26 11 2010) | 9 lines Merged revisions 1039249 via svnmerge from https://svn.apache.org/repos/asf/cxf/trunk ........ r1039249 | ffang | 2010-11-26 13:15:36 +0800 (五, 26 11 2010) | 1 line [CXF-3151]Invalid WS-A ReplyTo constant value used by WS-RM--apply patch on behalf of Aki Yoshida ........ ................ Modified: cxf/branches/2.2.x-fixes/ (props changed) cxf/branches/2.2.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/ContextUtils.java cxf/branches/2.2.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addressing/HeaderVerifier.java cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTestBase.java Propchange: cxf/branches/2.2.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.2.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/ContextUtils.java URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/ContextUtils.java?rev=1039254&r1=1039253&r2=1039254&view=diff ============================================================================== --- cxf/branches/2.2.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/ContextUtils.java (original) +++ cxf/branches/2.2.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/ContextUtils.java Fri Nov 26 07:28:09 2010 @@ -379,7 +379,9 @@ public final class ContextUtils { exchange.setOutMessage(partialResponse); Conduit backChannel = target.getBackChannel(inMessage, partialResponse, - reference); + reference == null + ? ContextUtils.getNoneEndpointReference() + : reference); if (backChannel != null) { // set up interceptor chains and send message Modified: cxf/branches/2.2.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java?rev=1039254&r1=1039253&r2=1039254&view=diff ============================================================================== --- cxf/branches/2.2.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java (original) +++ cxf/branches/2.2.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java Fri Nov 26 07:28:09 2010 @@ -238,21 +238,23 @@ public class MAPCodec extends AbstractSo hdr, marshaller); } - encodeAsExposed(maps, - message, - maps.getReplyTo(), - Names.WSA_REPLYTO_QNAME, - EndpointReferenceType.class, - hdr, - marshaller); - if (Names.WSA_REPLYTO_QNAME.equals(duplicate)) { + if (needsReplyTo(maps)) { encodeAsExposed(maps, - message, - maps.getReplyTo(), - Names.WSA_REPLYTO_QNAME, - EndpointReferenceType.class, - hdr, - marshaller); + message, + maps.getReplyTo(), + Names.WSA_REPLYTO_QNAME, + EndpointReferenceType.class, + hdr, + marshaller); + if (Names.WSA_REPLYTO_QNAME.equals(duplicate)) { + encodeAsExposed(maps, + message, + maps.getReplyTo(), + Names.WSA_REPLYTO_QNAME, + EndpointReferenceType.class, + hdr, + marshaller); + } } encodeAsExposed(maps, @@ -287,11 +289,7 @@ public class MAPCodec extends AbstractSo hdr, marshaller); } - if (maps.getFaultTo() != null - && maps.getFaultTo().getAddress() != null - && maps.getFaultTo().getAddress().getValue() != null - && !maps.getFaultTo().getAddress().getValue() - .equals(maps.getReplyTo().getAddress().getValue())) { + if (needsFaultTo(maps)) { encodeAsExposed(maps, message, maps.getFaultTo(), @@ -331,6 +329,23 @@ public class MAPCodec extends AbstractSo } } + private boolean needsReplyTo(AddressingProperties maps) { + return maps.getReplyTo() != null + && maps.getReplyTo().getAddress() != null + && maps.getReplyTo().getAddress().getValue() != null + && !(VersionTransformer.Names200408.WSA_NAMESPACE_NAME.equals(maps.getNamespaceURI()) + && maps.getReplyTo().getAddress().getValue() + .equals(ContextUtils.getNoneEndpointReference().getAddress().getValue())); + } + + private boolean needsFaultTo(AddressingProperties maps) { + return maps.getFaultTo() != null + && maps.getFaultTo().getAddress() != null + && maps.getFaultTo().getAddress().getValue() != null + && !maps.getFaultTo().getAddress().getValue() + .equals(maps.getReplyTo().getAddress().getValue()); + } + private void encodeReferenceParameters(AddressingProperties maps, Element header, Marshaller marshaller) throws JAXBException { EndpointReferenceType toEpr = maps.getToEndpointReference(); Modified: cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addressing/HeaderVerifier.java URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addressing/HeaderVerifier.java?rev=1039254&r1=1039253&r2=1039254&view=diff ============================================================================== --- cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addressing/HeaderVerifier.java (original) +++ cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addressing/HeaderVerifier.java Fri Nov 26 07:28:09 2010 @@ -129,7 +129,9 @@ public class HeaderVerifier extends Abst || outgoingPartialResponse; verificationCache.put(MAPTest.verifyHeaders(wsaHeaders, partialResponse, - isRequestLeg(message))); + isRequestLeg(message), + !VersionTransformer.Names200408.WSA_NAMESPACE_NAME + .equals(currentNamespaceURI))); } catch (SOAPException se) { verificationCache.put("SOAP header verification failed: " + se); } Modified: cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTestBase.java URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTestBase.java?rev=1039254&r1=1039253&r2=1039254&view=diff ============================================================================== --- cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTestBase.java (original) +++ cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addressing/MAPTestBase.java Fri Nov 26 07:28:09 2010 @@ -371,7 +371,8 @@ public abstract class MAPTestBase extend */ protected static String verifyHeaders(List wsaHeaders, boolean partial, - boolean requestLeg) { + boolean requestLeg, + boolean replyToRequired) { //System.out.println("verifying headers: " + wsaHeaders); String ret = null; if (!wsaHeaders.contains(Names.WSA_MESSAGEID_NAME)) { @@ -381,8 +382,9 @@ public abstract class MAPTestBase extend ret = "expected To header"; } - if (!(wsaHeaders.contains(Names.WSA_REPLYTO_NAME) - || wsaHeaders.contains(Names.WSA_RELATESTO_NAME))) { + if (replyToRequired + && !(wsaHeaders.contains(Names.WSA_REPLYTO_NAME) + || wsaHeaders.contains(Names.WSA_RELATESTO_NAME))) { ret = "expected ReplyTo or RelatesTo header"; } /*