You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/10/19 21:02:57 UTC
svn commit: r826763 - in /cxf/trunk/rt:
bindings/soap/src/main/java/org/apache/cxf/binding/soap/
bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/
frontend/jaxws/src/test/java/org/apache/cxf/jaxws/handler/soap/
ws/addr/src/main/java/...
Author: dkulp
Date: Mon Oct 19 19:02:56 2009
New Revision: 826763
URL: http://svn.apache.org/viewvc?rev=826763&view=rev
Log:
[CXF-2481] If SOAPMessage or similar already defines a prefix for soap
envelope ns, use it.
Modified:
cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/Soap11.java
cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/Soap12.java
cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapVersion.java
cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapOutInterceptor.java
cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptorTest.java
cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java
Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/Soap11.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/Soap11.java?rev=826763&r1=826762&r2=826763&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/Soap11.java (original)
+++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/Soap11.java Mon Oct 19 19:02:56 2009
@@ -49,8 +49,6 @@
private final String namespace = SOAP_NAMESPACE;
- private final String prefix = "soap";
-
private final String noneRole = namespace + "/role/none";
private final String ultimateReceiverRole = namespace + "/role/ultimateReceiver";
@@ -59,13 +57,13 @@
private final String soapEncodingStyle = SOAP_ENCODING_URI;
- private final QName envelope = new QName(namespace, "Envelope", prefix);
+ private final QName envelope = new QName(namespace, "Envelope");
- private final QName header = new QName(namespace, "Header", prefix);
+ private final QName header = new QName(namespace, "Header");
- private final QName body = new QName(namespace, "Body", prefix);
+ private final QName body = new QName(namespace, "Body");
- private final QName fault = new QName(namespace, "Fault", prefix);
+ private final QName fault = new QName(namespace, "Fault");
private Soap11() {
// Singleton
@@ -88,10 +86,6 @@
return namespace;
}
- public String getPrefix() {
- return prefix;
- }
-
public QName getEnvelope() {
return envelope;
}
@@ -162,4 +156,9 @@
public String getContentType() {
return "text/xml";
}
+
+
+ public String getPrefix() {
+ return "soap";
+ }
}
Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/Soap12.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/Soap12.java?rev=826763&r1=826762&r2=826763&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/Soap12.java (original)
+++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/Soap12.java Mon Oct 19 19:02:56 2009
@@ -34,8 +34,6 @@
private final String namespace = SOAP_NAMESPACE;
- private final String prefix = "soap";
-
private final String noneRole = namespace + "/role/none";
private final String ultimateReceiverRole = namespace + "/role/ultimateReceiver";
@@ -44,13 +42,13 @@
private final String soapEncodingStyle = "http://www.w3.org/2003/05/soap-encoding";
- private final QName envelope = new QName(namespace, "Envelope", prefix);
+ private final QName envelope = new QName(namespace, "Envelope");
- private final QName header = new QName(namespace, "Header", prefix);
+ private final QName header = new QName(namespace, "Header");
- private final QName body = new QName(namespace, "Body", prefix);
+ private final QName body = new QName(namespace, "Body");
- private final QName fault = new QName(namespace, "Fault", prefix);
+ private final QName fault = new QName(namespace, "Fault");
private Soap12() {
// Singleton
@@ -71,10 +69,6 @@
return namespace;
}
- public String getPrefix() {
- return prefix;
- }
-
public QName getEnvelope() {
return envelope;
}
@@ -143,4 +137,9 @@
public String getContentType() {
return "application/soap+xml";
}
+
+ public String getPrefix() {
+ return "soap";
+ }
+
}
Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapVersion.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapVersion.java?rev=826763&r1=826762&r2=826763&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapVersion.java (original)
+++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapVersion.java Mon Oct 19 19:02:56 2009
@@ -28,6 +28,7 @@
String getNamespace();
+ @Deprecated
String getPrefix();
QName getEnvelope();
Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapOutInterceptor.java?rev=826763&r1=826762&r2=826763&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapOutInterceptor.java (original)
+++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapOutInterceptor.java Mon Oct 19 19:02:56 2009
@@ -95,7 +95,10 @@
final SoapVersion soapVersion = message.getVersion();
try {
XMLStreamWriter xtw = message.getContent(XMLStreamWriter.class);
- String soapPrefix = soapVersion.getPrefix();
+ String soapPrefix = xtw.getPrefix(soapVersion.getNamespace());
+ if (StringUtils.isEmpty(soapPrefix)) {
+ soapPrefix = "soap";
+ }
if (message.hasAdditionalEnvNs()) {
Map<String, String> nsMap = message.getEnvelopeNs();
for (Map.Entry<String, String> entry : nsMap.entrySet()) {
@@ -118,7 +121,12 @@
xtw.writeStartElement(soapPrefix,
soapVersion.getEnvelope().getLocalPart(),
soapVersion.getNamespace());
- xtw.writeNamespace(soapPrefix, soapVersion.getNamespace());
+ String s2 = xtw.getPrefix(soapVersion.getNamespace());
+ if (StringUtils.isEmpty(s2) || soapPrefix.equals(s2)) {
+ xtw.writeNamespace(soapPrefix, soapVersion.getNamespace());
+ } else {
+ soapPrefix = s2;
+ }
}
boolean preexistingHeaders = message.hasHeaders();
Modified: cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptorTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptorTest.java?rev=826763&r1=826762&r2=826763&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptorTest.java (original)
+++ cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptorTest.java Mon Oct 19 19:02:56 2009
@@ -143,11 +143,11 @@
try {
XMLStreamWriter writer = message.getContent(XMLStreamWriter.class);
SoapVersion soapVersion = Soap11.getInstance();
- writer.setPrefix(soapVersion.getPrefix(), soapVersion.getNamespace());
- writer.writeStartElement(soapVersion.getPrefix(),
+ writer.setPrefix("soap", soapVersion.getNamespace());
+ writer.writeStartElement("soap",
soapVersion.getEnvelope().getLocalPart(),
soapVersion.getNamespace());
- writer.writeNamespace(soapVersion.getPrefix(), soapVersion.getNamespace());
+ writer.writeNamespace("soap", soapVersion.getNamespace());
writer.writeEndElement();
writer.flush();
@@ -343,11 +343,11 @@
try {
XMLStreamWriter writer = message.getContent(XMLStreamWriter.class);
SoapVersion soapVersion = Soap11.getInstance();
- writer.setPrefix(soapVersion.getPrefix(), soapVersion.getNamespace());
- writer.writeStartElement(soapVersion.getPrefix(),
+ writer.setPrefix("soap", soapVersion.getNamespace());
+ writer.writeStartElement("soap",
soapVersion.getEnvelope().getLocalPart(),
soapVersion.getNamespace());
- writer.writeNamespace(soapVersion.getPrefix(), soapVersion.getNamespace());
+ writer.writeNamespace("soap", soapVersion.getNamespace());
Object[] headerInfo = prepareSOAPHeader();
StaxUtils.writeElement((Element) headerInfo[1], writer, true, false);
Modified: cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java?rev=826763&r1=826762&r2=826763&view=diff
==============================================================================
--- cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java (original)
+++ cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java Mon Oct 19 19:02:56 2009
@@ -369,7 +369,10 @@
AddressingPropertiesImpl maps) {
if (maps.getMustUnderstand().contains(name)) {
Element lastAdded = (Element)header.getLastChild();
- String pfx = msg.getVersion().getPrefix();
+ String pfx = lastAdded.lookupPrefix(msg.getVersion().getNamespace());
+ if (StringUtils.isEmpty(pfx)) {
+ pfx = "soap";
+ }
if (msg.hasAdditionalEnvNs()) {
String ns = msg.getVersion().getNamespace();
Map<String, String> nsMap = msg.getEnvelopeNs();