Author: dkulp
Date: Wed Jun 17 15:18:47 2009
New Revision: 785656
URL: http://svn.apache.org/viewvc?rev=785656&view=rev
Log:
Merged revisions 785468 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r785468 | dkulp | 2009-06-16 22:31:54 -0400 (Tue, 16 Jun 2009) | 2 lines
[CXF-2294] Fix issue in http binding that is preventing code that works
with 2.0.11 to not work with 2.1 and 2.2.
........
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/rt/bindings/http/src/main/java/org/apache/cxf/binding/http/IriDecoderHelper.java
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jun 17 15:18:47 2009
@@ -1 +1 @@
-/cxf/trunk:782728-782730,783097,783294,783396,784059,784181-784183,784895,785279-785282
+/cxf/trunk:782728-782730,783097,783294,783396,784059,784181-784183,784895,785279-785282,785468
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed Jun 17 15:18:47 2009
@@ -1 +1 @@
-/cxf/trunk:1-782619,782728-782730,783097,783294,783396,784059,784181-784183,784895,785279-785282
+/cxf/trunk:1-782619,782728-782730,783097,783294,783396,784059,784181-784183,784895,785279-785282,785468
Modified:
cxf/branches/2.2.x-fixes/rt/bindings/http/src/main/java/org/apache/cxf/binding/http/IriDecoderHelper.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/bindings/http/src/main/java/org/apache/cxf/binding/http/IriDecoderHelper.java?rev=785656&r1=785655&r2=785656&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/bindings/http/src/main/java/org/apache/cxf/binding/http/IriDecoderHelper.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/bindings/http/src/main/java/org/apache/cxf/binding/http/IriDecoderHelper.java
Wed Jun 17 15:18:47 2009
@@ -29,12 +29,14 @@
import javax.xml.XMLConstants;
import javax.xml.namespace.QName;
+import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.apache.cxf.common.i18n.BundleUtils;
import org.apache.cxf.common.i18n.Message;
+import org.apache.cxf.common.util.StringUtils;
import org.apache.cxf.helpers.DOMUtils;
import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.interceptor.Fault;
@@ -237,8 +239,10 @@
XmlSchemaSequence seq = (XmlSchemaSequence)cplxType.getParticle();
- Element e = doc.createElementNS(qname.getNamespaceURI(),
qname.getLocalPart());
- e.setAttribute(XMLConstants.XMLNS_ATTRIBUTE, qname.getNamespaceURI());
+ Element e = doc.createElementNS(qname.getNamespaceURI(), "ns1:" +
qname.getLocalPart());
+ Attr ns = doc.createAttributeNS(XMLConstants.XMLNS_ATTRIBUTE_NS_URI,
"xmlns:ns1");
+ e.setAttributeNodeNS(ns);
+ ns.setNodeValue(qname.getNamespaceURI());
doc.appendChild(e);
if (seq == null || seq.getItems() == null) {
@@ -255,13 +259,18 @@
}
}
Element ec = null;
- if (unQualified) {
+ QName qn = elChild.getQName();
+ if (StringUtils.isEmpty(qn.getNamespaceURI()) && unQualified) {
ec = doc.createElement(elChild.getQName().getLocalPart());
} else {
- ec = doc.createElementNS(elChild.getQName().getNamespaceURI(),
elChild.getQName()
- .getLocalPart());
+
if
(!elChild.getQName().getNamespaceURI().equals(qname.getNamespaceURI())) {
+ ec =
doc.createElementNS(elChild.getQName().getNamespaceURI(),
+
elChild.getQName().getLocalPart());
ec.setAttribute(XMLConstants.XMLNS_ATTRIBUTE,
elChild.getQName().getNamespaceURI());
+ } else {
+ ec =
doc.createElementNS(elChild.getQName().getNamespaceURI(),
+ "ns1:" +
elChild.getQName().getLocalPart());
}
}