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 2008/08/01 20:33:16 UTC
svn commit: r681771 - in /cxf/trunk: api/src/main/java/org/apache/cxf/wsdl/
api/src/test/java/org/apache/cxf/wsdl/
rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/
rt/bindings/corba/src/main/resources/META-INF/cxf/
rt/bindings/corba/src/te...
Author: dkulp
Date: Fri Aug 1 11:33:15 2008
New Revision: 681771
URL: http://svn.apache.org/viewvc?rev=681771&view=rev
Log:
Updates to be able to support wsdl's that use the older Yoko namespace by mapping them into the new namespace at read time.
Added:
cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/types/CorbaHandlerUtilsYokoNSTest.java (with props)
cxf/trunk/rt/bindings/corba/src/test/resources/wsdl_corbabinding/ComplexTypesYoko.wsdl (with props)
Modified:
cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java
cxf/trunk/api/src/test/java/org/apache/cxf/wsdl/JAXBExtensionHelperTest.java
cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/CorbaBindingFactory.java
cxf/trunk/rt/bindings/corba/src/main/resources/META-INF/cxf/bus-extensions.xml
cxf/trunk/rt/bindings/corba/src/main/resources/META-INF/cxf/cxf-extension-corba.xml
cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/TestUtils.java
cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/types/CorbaHandlerUtilsTest.java
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java?rev=681771&r1=681770&r2=681771&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java Fri Aug 1 11:33:15 2008
@@ -40,14 +40,18 @@
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchema;
+import javax.xml.namespace.NamespaceContext;
import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
+import javax.xml.stream.util.StreamReaderDelegate;
import org.w3c.dom.Element;
import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.common.util.PackageUtils;
import org.apache.cxf.common.util.StringUtils;
+import org.apache.cxf.staxutils.StaxUtils;
/**
@@ -60,9 +64,17 @@
JAXBContext context;
final Class<? extends TExtensibilityElementImpl> typeClass;
+ final String namespace;
+ String jaxbNamespace;
- public JAXBExtensionHelper(Class<? extends TExtensibilityElementImpl> cls) {
+ public JAXBExtensionHelper(Class<? extends TExtensibilityElementImpl> cls,
+ String ns) {
typeClass = cls;
+ namespace = ns;
+ }
+
+ void setJaxbNamespace(String ns) {
+ jaxbNamespace = ns;
}
public static void addExtensions(ExtensionRegistry registry, String parentType, String elementType,
@@ -71,14 +83,21 @@
Class<? extends TExtensibilityElementImpl> elementTypeClass = Class.forName(elementType, true, cl)
.asSubclass(TExtensibilityElementImpl.class);
- addExtensions(registry, parentTypeClass, elementTypeClass);
+ addExtensions(registry, parentTypeClass, elementTypeClass, null);
}
public static void addExtensions(ExtensionRegistry registry,
Class<?> parentType,
- Class<? extends TExtensibilityElementImpl> cls) throws JAXBException {
+ Class<? extends TExtensibilityElementImpl> cls)
+ throws JAXBException {
+ addExtensions(registry, parentType, cls, null);
+ }
+ public static void addExtensions(ExtensionRegistry registry,
+ Class<?> parentType,
+ Class<? extends TExtensibilityElementImpl> cls,
+ String namespace) throws JAXBException {
- JAXBExtensionHelper helper = new JAXBExtensionHelper(cls);
+ JAXBExtensionHelper helper = new JAXBExtensionHelper(cls, namespace);
boolean found = false;
try {
Class<?> objectFactory = Class.forName(PackageUtils.getPackageName(cls) + ".ObjectFactory",
@@ -90,7 +109,12 @@
XmlElementDecl elementDecl = method.getAnnotation(XmlElementDecl.class);
if (null != elementDecl) {
- QName elementType = new QName(elementDecl.namespace(), elementDecl.name());
+ String name = elementDecl.name();
+ String ns = namespace != null ? namespace : elementDecl.namespace();
+ if (namespace != null) {
+ helper.setJaxbNamespace(elementDecl.namespace());
+ }
+ QName elementType = new QName(ns, name);
registry.registerDeserializer(parentType, elementType, helper);
registry.registerSerializer(parentType, elementType, helper);
registry.mapExtensionTypes(parentType, elementType, cls);
@@ -119,6 +143,10 @@
}
}
if (!StringUtils.isEmpty(ns) && !StringUtils.isEmpty(name)) {
+ if (namespace != null) {
+ helper.setJaxbNamespace(ns);
+ ns = namespace;
+ }
QName elementType = new QName(ns, name);
registry.registerDeserializer(parentType, elementType, helper);
registry.registerSerializer(parentType, elementType, helper);
@@ -229,7 +257,14 @@
try {
Unmarshaller u = getJAXBContext().createUnmarshaller();
- Object o = u.unmarshal(element);
+ Object o = null;
+ if (namespace == null) {
+ o = u.unmarshal(element);
+ } else {
+ XMLStreamReader reader = StaxUtils.createXMLStreamReader(element);
+ reader = new MappingReaderDelegate(reader);
+ o = u.unmarshal(reader);
+ }
if (o instanceof JAXBElement<?>) {
JAXBElement<?> el = (JAXBElement<?>)o;
o = el.getValue();
@@ -250,7 +285,76 @@
-
+ class MappingReaderDelegate extends StreamReaderDelegate {
+ MappingReaderDelegate(XMLStreamReader reader) {
+ super(reader);
+ }
+
+ @Override
+ public NamespaceContext getNamespaceContext() {
+ final NamespaceContext ctx = super.getNamespaceContext();
+ return new NamespaceContext() {
+ public String getNamespaceURI(String prefix) {
+ String ns = ctx.getNamespaceURI(prefix);
+ if (namespace.equals(ns)) {
+ ns = jaxbNamespace;
+ }
+ return ns;
+ }
+
+ public String getPrefix(String namespaceURI) {
+ if (jaxbNamespace.equals(namespaceURI)) {
+ return ctx.getPrefix(namespace);
+ }
+ return ctx.getPrefix(namespaceURI);
+ }
+
+ public Iterator getPrefixes(String namespaceURI) {
+ if (jaxbNamespace.equals(namespaceURI)) {
+ return ctx.getPrefixes(namespace);
+ }
+ return ctx.getPrefixes(namespaceURI);
+ }
+ };
+ }
+
+ @Override
+ public String getNamespaceURI(int index) {
+ String ns = super.getNamespaceURI(index);
+ if (namespace.equals(ns)) {
+ ns = jaxbNamespace;
+ }
+ return ns;
+ }
+
+ @Override
+ public String getNamespaceURI(String prefix) {
+ String ns = super.getNamespaceURI(prefix);
+ if (namespace.equals(ns)) {
+ ns = jaxbNamespace;
+ }
+ return ns;
+ }
+
+ @Override
+ public QName getName() {
+ QName qn = super.getName();
+ if (namespace.equals(qn.getNamespaceURI())) {
+ qn = new QName(jaxbNamespace, qn.getLocalPart());
+ }
+ return qn;
+ }
+
+ @Override
+ public String getNamespaceURI() {
+ String ns = super.getNamespaceURI();
+ if (namespace.equals(ns)) {
+ ns = jaxbNamespace;
+ }
+ return ns;
+ }
+
+ };
}
Modified: cxf/trunk/api/src/test/java/org/apache/cxf/wsdl/JAXBExtensionHelperTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/test/java/org/apache/cxf/wsdl/JAXBExtensionHelperTest.java?rev=681771&r1=681770&r2=681771&view=diff
==============================================================================
--- cxf/trunk/api/src/test/java/org/apache/cxf/wsdl/JAXBExtensionHelperTest.java (original)
+++ cxf/trunk/api/src/test/java/org/apache/cxf/wsdl/JAXBExtensionHelperTest.java Fri Aug 1 11:33:15 2008
@@ -131,7 +131,7 @@
ByteArrayOutputStream stream = new ByteArrayOutputStream();
- JAXBExtensionHelper helper = new JAXBExtensionHelper(NewServiceType.class);
+ JAXBExtensionHelper helper = new JAXBExtensionHelper(NewServiceType.class, null);
helper.marshall(javax.wsdl.Definition.class,
new QName("http://cxf.apache.org/test/hello_world", "newService"),
newService,
Modified: cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/CorbaBindingFactory.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/CorbaBindingFactory.java?rev=681771&r1=681770&r2=681771&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/CorbaBindingFactory.java (original)
+++ cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/CorbaBindingFactory.java Fri Aug 1 11:33:15 2008
@@ -23,7 +23,9 @@
import java.util.List;
import java.util.Set;
+import javax.annotation.PostConstruct;
import javax.annotation.Resource;
+import javax.xml.bind.JAXBException;
import org.apache.cxf.binding.AbstractBindingFactory;
import org.apache.cxf.binding.Binding;
@@ -41,9 +43,14 @@
import org.apache.cxf.transport.Destination;
import org.apache.cxf.transport.DestinationFactory;
import org.apache.cxf.ws.addressing.EndpointReferenceType;
+import org.apache.cxf.wsdl.JAXBExtensionHelper;
+import org.apache.cxf.wsdl.TExtensibilityElementImpl;
+import org.apache.cxf.wsdl.WSDLManager;
public class CorbaBindingFactory extends AbstractBindingFactory
implements ConduitInitiator, DestinationFactory {
+
+ private static final String YOKO_NAMESPACE = "http://schemas.apache.org/yoko/bindings/corba";
private List<String> transportIds;
private OrbConfig orbConfig = new OrbConfig();
@@ -57,6 +64,35 @@
public void setOrbSingletonClass(String cls) {
orbConfig.setOrbSingletonClass(cls);
}
+
+ @PostConstruct
+ void registerYokoCompatibleExtensors() {
+ WSDLManager manager = this.getBus().getExtension(WSDLManager.class);
+ createCompatExtensor(manager, javax.wsdl.Binding.class,
+ org.apache.cxf.binding.corba.wsdl.BindingType.class);
+ createCompatExtensor(manager, javax.wsdl.BindingOperation.class,
+ org.apache.cxf.binding.corba.wsdl.OperationType.class);
+ createCompatExtensor(manager, javax.wsdl.Definition.class,
+ org.apache.cxf.binding.corba.wsdl.TypeMappingType.class);
+ createCompatExtensor(manager, javax.wsdl.Port.class,
+ org.apache.cxf.binding.corba.wsdl.AddressType.class);
+ createCompatExtensor(manager, javax.wsdl.Port.class,
+ org.apache.cxf.binding.corba.wsdl.PolicyType.class);
+ }
+
+ private void createCompatExtensor(WSDLManager manager,
+ Class<?> parentType,
+ Class<? extends TExtensibilityElementImpl> elementType) {
+ try {
+ JAXBExtensionHelper.addExtensions(manager.getExtensionRegistry(),
+ parentType,
+ elementType,
+ YOKO_NAMESPACE);
+ } catch (JAXBException e) {
+ //ignore, just won't support the yoko extensors
+ }
+
+ }
public Binding createBinding(BindingInfo bindingInfo) {
CorbaBinding binding = new CorbaBinding();
Modified: cxf/trunk/rt/bindings/corba/src/main/resources/META-INF/cxf/bus-extensions.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/corba/src/main/resources/META-INF/cxf/bus-extensions.xml?rev=681771&r1=681770&r2=681771&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/corba/src/main/resources/META-INF/cxf/bus-extensions.xml (original)
+++ cxf/trunk/rt/bindings/corba/src/main/resources/META-INF/cxf/bus-extensions.xml Fri Aug 1 11:33:15 2008
@@ -21,6 +21,7 @@
<extension class="org.apache.cxf.binding.corba.CorbaBindingFactory" deferred="true">
<namespace>http://cxf.apache.org/bindings/corba</namespace>
+ <namespace>http://schemas.apache.org/yoko/bindings/corba</namespace>
</extension>
</extensions>
Modified: cxf/trunk/rt/bindings/corba/src/main/resources/META-INF/cxf/cxf-extension-corba.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/corba/src/main/resources/META-INF/cxf/cxf-extension-corba.xml?rev=681771&r1=681770&r2=681771&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/corba/src/main/resources/META-INF/cxf/cxf-extension-corba.xml (original)
+++ cxf/trunk/rt/bindings/corba/src/main/resources/META-INF/cxf/cxf-extension-corba.xml Fri Aug 1 11:33:15 2008
@@ -30,11 +30,13 @@
<property name="activationNamespaces">
<set>
<value>http://cxf.apache.org/bindings/corba</value>
+ <value>http://schemas.apache.org/yoko/bindings/corba</value>
</set>
</property>
<property name="transportIds">
<list>
- <value>http://cxf.apache.org/bindings/corba</value>
+ <value>http://cxf.apache.org/bindings/corba</value>
+ <value>http://schemas.apache.org/yoko/bindings/corba</value>
</list>
</property>
</bean>
Modified: cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/TestUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/TestUtils.java?rev=681771&r1=681770&r2=681771&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/TestUtils.java (original)
+++ cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/TestUtils.java Fri Aug 1 11:33:15 2008
@@ -73,6 +73,14 @@
"ComplexTypesCORBAPort");
CorbaBindingFactory corbaBF = (CorbaBindingFactory)factory;
return (CorbaDestination)corbaBF.getDestination(endpointInfo);
- }
+ }
+ public CorbaDestination getComplexTypesTestDestinationYoko() throws Exception {
+ endpointInfo = setupServiceInfo("http://cxf.apache.org/bindings/corba/ComplexTypes",
+ "/wsdl_corbabinding/ComplexTypesYoko.wsdl",
+ "ComplexTypesCORBAService",
+ "ComplexTypesCORBAPort");
+ CorbaBindingFactory corbaBF = (CorbaBindingFactory)factory;
+ return (CorbaDestination)corbaBF.getDestination(endpointInfo);
+ }
}
Modified: cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/types/CorbaHandlerUtilsTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/types/CorbaHandlerUtilsTest.java?rev=681771&r1=681770&r2=681771&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/types/CorbaHandlerUtilsTest.java (original)
+++ cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/types/CorbaHandlerUtilsTest.java Fri Aug 1 11:33:15 2008
@@ -70,15 +70,18 @@
props.put("yoko.orb.id", "CXF-CORBA-Server-Binding");
orb = ORB.init(new String[0], props);
- TestUtils testUtils = new TestUtils();
- //CorbaDestination destination = (CorbaDestination)getDestination();
- CorbaDestination destination = testUtils.getComplexTypesTestDestination();
+ CorbaDestination destination = getDestination();
service = destination.getBindingInfo().getService();
List<TypeMappingType> corbaTypes
= service.getDescription().getExtensors(TypeMappingType.class);
typeMap = CorbaUtils.createCorbaTypeMap(corbaTypes);
}
+ protected CorbaDestination getDestination() throws Exception {
+ TestUtils testUtils = new TestUtils();
+ return testUtils.getComplexTypesTestDestination();
+ }
+
@After
public void tearDown() throws Exception {
bus.shutdown(true);
@@ -90,27 +93,7 @@
}
}
}
-
- /*protected void setupServiceInfo(String ns, String wsdl, String serviceName, String portName) {
- URL wsdlUrl = getClass().getResource(wsdl);
- assertNotNull(wsdlUrl);
- WSDLServiceFactory factory = new WSDLServiceFactory(bus, wsdlUrl, new QName(ns, serviceName));
-
- Service service = factory.create();
- endpointInfo = service.getEndpointInfo(new QName(ns, portName));
-
- }
-
- public Destination getDestination() throws Exception {
- setupServiceInfo("http://cxf.apache.org/bindings/corba/ComplexTypes",
- "/wsdl/ComplexTypes.wsdl",
- "ComplexTypesCORBAService",
- "ComplexTypesCORBAPort");
- CorbaBindingFactory corbaBF = (CorbaBindingFactory)factory;
- Destination destination = corbaBF.getDestination(endpointInfo);
- assertNotNull(destination);
- return destination;
- }*/
+
@Test
public void testCreateTypeHandler() {
Added: cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/types/CorbaHandlerUtilsYokoNSTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/types/CorbaHandlerUtilsYokoNSTest.java?rev=681771&view=auto
==============================================================================
--- cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/types/CorbaHandlerUtilsYokoNSTest.java (added)
+++ cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/types/CorbaHandlerUtilsYokoNSTest.java Fri Aug 1 11:33:15 2008
@@ -0,0 +1,35 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.binding.corba.types;
+
+
+import org.apache.cxf.binding.corba.CorbaDestination;
+import org.apache.cxf.binding.corba.TestUtils;
+
+
+
+public class CorbaHandlerUtilsYokoNSTest extends CorbaHandlerUtilsTest {
+
+
+ protected CorbaDestination getDestination() throws Exception {
+ TestUtils testUtils = new TestUtils();
+ return testUtils.getComplexTypesTestDestinationYoko();
+ }
+
+}
Propchange: cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/types/CorbaHandlerUtilsYokoNSTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/types/CorbaHandlerUtilsYokoNSTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/bindings/corba/src/test/resources/wsdl_corbabinding/ComplexTypesYoko.wsdl
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/corba/src/test/resources/wsdl_corbabinding/ComplexTypesYoko.wsdl?rev=681771&view=auto
==============================================================================
--- cxf/trunk/rt/bindings/corba/src/test/resources/wsdl_corbabinding/ComplexTypesYoko.wsdl (added)
+++ cxf/trunk/rt/bindings/corba/src/test/resources/wsdl_corbabinding/ComplexTypesYoko.wsdl Fri Aug 1 11:33:15 2008
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<!-- To be replace by a Yoko generated IDLtoWSDL once types supported -->
+<definitions
+ targetNamespace="http://cxf.apache.org/bindings/corba/ComplexTypes"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:tns="http://cxf.apache.org/bindings/corba/ComplexTypes"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsd1="http://cxf.apache.org/bindings/corba/ComplexTypes/types"
+ xmlns:corba="http://schemas.apache.org/yoko/bindings/corba"
+ xmlns:corbatm="http://cxf.apache.org/bindings/corba/ComplexTypes/idl_types">
+ <types>
+ <schema targetNamespace="http://cxf.apache.org/bindings/corba/ComplexTypes/types"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <xsd:complexType name="TestArray">
+ <xsd:sequence>
+ <xsd:element name="item" type="xsd:int" minOccurs="5" maxOccurs="5"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="TestSequence">
+ <xsd:sequence>
+ <xsd:element name="item" type="xsd:short" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="TestBoundedSequence">
+ <xsd:sequence>
+ <xsd:element name="item" type="xsd:short" minOccurs="0" maxOccurs="5"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="TestEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="RED"/>
+ <xsd:enumeration value="GREEN"/>
+ <xsd:enumeration value="BLUE"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="TestStruct">
+ <xsd:sequence>
+ <xsd:element name="boolMember" type="xsd:boolean"/>
+ <xsd:element name="stringMember" type="xsd:string"/>
+ <xsd:element name="floatMember" type="xsd:float"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="TestUnion">
+ <xsd:choice>
+ <xsd:element name="case0" type="xsd:unsignedByte"/>
+ <xsd:element name="case12" type="xsd:string"/>
+ <xsd:element name="caseDef" type="xsd:long"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="_omg_TestUnion">
+ <xsd:sequence>
+ <xsd:element minOccurs="1" maxOccurs="1" name="discriminator" type="xsd:short"/>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="case0" type="xsd:unsignedByte"/>
+ <xsd:element name="case12" type="xsd:string"/>
+ <xsd:element name="caseDef" type="xsd:long"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="testOp">
+ <xsd:complexType>
+ <xsd:sequence>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="testOpResult">
+ <xsd:complexType>
+ <xsd:sequence>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </schema>
+ </types>
+ <message name="testOp">
+ <part name="parameters" element="xsd1:testOp"/>
+ </message>
+ <message name="testOpResponse">
+ <part name="parameters" element="xsd1:testOpResult"/>
+ </message>
+ <portType name="ComplexTypes">
+ <operation name="testOp">
+ <input message="tns:testOp" name="testOp"/>
+ <output message="tns:testOpResponse" name="testOpResponse"/>
+ </operation>
+ </portType>
+ <binding name="ComplexTypesCORBABinding" type="tns:ComplexTypes">
+ <corba:binding repositoryID="IDL:ComplexTypes:1.0"/>
+ <operation name="testOp">
+ <corba:operation name="testOp"/>
+ <input/>
+ <output/>
+ </operation>
+ </binding>
+ <service name="ComplexTypesCORBAService">
+ <port name="ComplexTypesCORBAPort" binding="tns:ComplexTypesCORBABinding">
+ <corba:address location="corbaloc::localhost:50000/ComplexTypes"/>
+ </port>
+ </service>
+ <corba:typeMapping targetNamespace="http://cxf.apache.org/bindings/corba/ComplexTypes/idl_types">
+ <corba:array name="TestArray" repositoryID="IDL:TestArray:1.0" type="xsd1:TestArray" elemtype="corba:long" bound="5"/>
+ <corba:sequence name="TestSequence" repositoryID="IDL:TestSequence:1.0" type="xsd1:TestSequence" elemtype="corba:short" bound="0"/>
+ <corba:sequence name="TestBoundedSequence" repositoryID="IDL:TestBoundedSequence:1.0" type="xsd1:TestBoundedSequence" elemtype="corba:short" bound="5"/>
+ <corba:fixed name="TestFixed" repositoryID="IDL:TestFixed:1.0" type="xsd:decimal" digits="5" scale="2"/>
+ <corba:enum name="TestEnum" type="xsd1:TestEnum" repositoryID="IDL:TestEnum:1.0">
+ <corba:enumerator value="RED"/>
+ <corba:enumerator value="GREEN"/>
+ <corba:enumerator value="BLUE"/>
+ </corba:enum>
+ <corba:struct name="TestStruct" type="xsd1:TestStruct" repositoryID="IDL:TestStruct:1.0">
+ <corba:member name="boolMember" idltype="corba:boolean"/>
+ <corba:member name="stringMember" idltype="corba:string"/>
+ <corba:member name="floatMember" idltype="corba:float"/>
+ </corba:struct>
+ <corba:union name="TestUnion" type="xsd1:TestUnion" discriminator="corba:short" repositoryID="IDL:TestUnion:1.0">
+ <corba:unionbranch name="case0" idltype="corba:octet">
+ <corba:case label="0"/>
+ </corba:unionbranch>
+ <corba:unionbranch name="case12" idltype="corba:wchar">
+ <corba:case label="1"/>
+ <corba:case label="2"/>
+ </corba:unionbranch>
+ <corba:unionbranch name="caseDef" idltype="corba:longlong" default="true"/>
+ </corba:union>
+ </corba:typeMapping>
+</definitions>
Propchange: cxf/trunk/rt/bindings/corba/src/test/resources/wsdl_corbabinding/ComplexTypesYoko.wsdl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/bindings/corba/src/test/resources/wsdl_corbabinding/ComplexTypesYoko.wsdl
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/rt/bindings/corba/src/test/resources/wsdl_corbabinding/ComplexTypesYoko.wsdl
------------------------------------------------------------------------------
svn:mime-type = text/xml