You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2010/11/26 08:28:10 UTC
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/
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<String> 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";
}
/*