Author: dkulp Date: Mon Jul 23 19:22:00 2012 New Revision: 1364760 URL: http://svn.apache.org/viewvc?rev=1364760&view=rev Log: Merged revisions 1364757 via git cherry-pick from https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes
........ r1364757 | dkulp | 2012-07-23 15:15:49 -0400 (Mon, 23 Jul 2012) | 11 lines Merged revisions 1364754 via git cherry-pick from https://svn.apache.org/repos/asf/cxf/trunk ........ r1364754 | dkulp | 2012-07-23 15:08:27 -0400 (Mon, 23 Jul 2012) | 3 lines For source and stax databinding, set the "type" to anyType so java first case will at least generate a simple but crappy wsdl ........ ........ Modified: cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java Modified: cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java?rev=1364760&r1=1364759&r2=1364760&view=diff ============================================================================== --- cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java (original) +++ cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java Mon Jul 23 19:22:00 2012 @@ -19,14 +19,20 @@ package org.apache.cxf.databinding.source; + import javax.xml.stream.XMLStreamReader; import javax.xml.stream.XMLStreamWriter; import org.w3c.dom.Node; +import org.apache.cxf.common.xmlschema.SchemaCollection; +import org.apache.cxf.common.xmlschema.XmlSchemaConstants; import org.apache.cxf.databinding.DataReader; import org.apache.cxf.databinding.DataWriter; import org.apache.cxf.service.Service; +import org.apache.cxf.service.ServiceModelVisitor; +import org.apache.cxf.service.model.MessagePartInfo; +import org.apache.cxf.service.model.ServiceInfo; /** * A simple databinding implementation which reads and writes Source objects. @@ -40,7 +46,21 @@ public class SourceDataBinding extends o } public void initialize(Service service) { - // do nothing + for (ServiceInfo serviceInfo : service.getServiceInfos()) { + SchemaCollection schemaCollection = serviceInfo.getXmlSchemaCollection(); + if (schemaCollection.getXmlSchemas().length > 1) { + // Schemas are already populated. + continue; + } + new ServiceModelVisitor(serviceInfo) { + public void begin(MessagePartInfo part) { + if (part.getTypeQName() != null || part.getElementQName() != null) { + return; + } + part.setTypeQName(XmlSchemaConstants.ANY_TYPE_QNAME); + } + } .walk(); + } } Modified: cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java?rev=1364760&r1=1364759&r2=1364760&view=diff ============================================================================== --- cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java (original) +++ cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java Mon Jul 23 19:22:00 2012 @@ -32,13 +32,17 @@ import org.w3c.dom.Node; import org.apache.cxf.common.i18n.Message; import org.apache.cxf.common.logging.LogUtils; +import org.apache.cxf.common.xmlschema.SchemaCollection; +import org.apache.cxf.common.xmlschema.XmlSchemaConstants; import org.apache.cxf.databinding.AbstractDataBinding; import org.apache.cxf.databinding.DataReader; import org.apache.cxf.databinding.DataWriter; import org.apache.cxf.interceptor.Fault; import org.apache.cxf.message.Attachment; import org.apache.cxf.service.Service; +import org.apache.cxf.service.ServiceModelVisitor; import org.apache.cxf.service.model.MessagePartInfo; +import org.apache.cxf.service.model.ServiceInfo; import org.apache.cxf.staxutils.StaxUtils; /** @@ -57,9 +61,23 @@ public class StaxDataBinding extends Abs } public void initialize(Service service) { - // do nothing + for (ServiceInfo serviceInfo : service.getServiceInfos()) { + SchemaCollection schemaCollection = serviceInfo.getXmlSchemaCollection(); + if (schemaCollection.getXmlSchemas().length > 1) { + // Schemas are already populated. + continue; + } + new ServiceModelVisitor(serviceInfo) { + public void begin(MessagePartInfo part) { + if (part.getTypeQName() != null || part.getElementQName() != null) { + return; + } + part.setTypeQName(XmlSchemaConstants.ANY_TYPE_QNAME); + } + } .walk(); + } } - + @SuppressWarnings("unchecked") public <T> DataReader<T> createReader(Class<T> cls) { if (cls == XMLStreamReader.class) {
