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/07/28 16:54:47 UTC
svn commit: r798551 -
/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/WrappedOutInterceptor.java
Author: dkulp
Date: Tue Jul 28 14:54:47 2009
New Revision: 798551
URL: http://svn.apache.org/viewvc?rev=798551&view=rev
Log:
Use the databinding ns map if available
Modified:
cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/WrappedOutInterceptor.java
Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/WrappedOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/WrappedOutInterceptor.java?rev=798551&r1=798550&r2=798551&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/WrappedOutInterceptor.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/WrappedOutInterceptor.java Tue Jul 28 14:54:47 2009
@@ -28,6 +28,7 @@
import org.apache.cxf.common.i18n.BundleUtils;
import org.apache.cxf.message.Message;
import org.apache.cxf.phase.Phase;
+import org.apache.cxf.service.Service;
import org.apache.cxf.service.model.BindingOperationInfo;
import org.apache.cxf.service.model.MessageInfo;
import org.apache.cxf.service.model.MessagePartInfo;
@@ -62,14 +63,21 @@
QName name = part.getConcreteName();
try {
-
- int x = 1;
- while (xmlWriter.getNamespaceContext().getNamespaceURI("ns" + x) != null) {
- x++;
+ String pfx = null;
+ Service service = message.getExchange().get(Service.class);
+ if (service.getDataBinding().getDeclaredNamespaceMappings() != null) {
+ pfx = service.getDataBinding().getDeclaredNamespaceMappings().get(name.getNamespaceURI());
}
- xmlWriter.setPrefix("ns" + x, name.getNamespaceURI());
- xmlWriter.writeStartElement("ns" + x, name.getLocalPart(), name.getNamespaceURI());
- xmlWriter.writeNamespace("ns" + x, name.getNamespaceURI());
+ if (pfx == null) {
+ int x = 1;
+ while (xmlWriter.getNamespaceContext().getNamespaceURI("ns" + x) != null) {
+ x++;
+ }
+ pfx = "ns" + x;
+ }
+ xmlWriter.setPrefix(pfx, name.getNamespaceURI());
+ xmlWriter.writeStartElement(pfx, name.getLocalPart(), name.getNamespaceURI());
+ xmlWriter.writeNamespace(pfx, name.getNamespaceURI());
} catch (XMLStreamException e) {
throw new Fault(new org.apache.cxf.common.i18n.Message("STAX_WRITE_EXC", BUNDLE), e);
}