Author: antelder
Date: Tue Nov 6 11:00:39 2012
New Revision: 1406092
URL: http://svn.apache.org/viewvc?rev=1406092&view=rev
Log:
TUSCANY-4072: Add test from Robin Yu for Tuscany fails to retrieve XSD
type/element for nested WSDL with diff namespace(wsdl resolver issue)
Added:
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/ (with props)
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/pom.xml
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/main/
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/java/
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/java/test/
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/java/test/NestedInlineSchemasWSDLResolverTestCase.java
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/ImportedImportedOrderService.wsdl
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/ImportedOrderService.wsdl
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/Order.xsd
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/OrderService.wsdl
Propchange: tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Nov 6 11:00:39 2012
@@ -0,0 +1,20 @@
+target
+work
+dojo
+*.iws
+*.ipr
+*.iml
+derby.log
+maven.log
+maven-eclipse.xml
+build.xml
+build-dependency.xml
+velocity.log*
+junit*.properties
+surefire*.properties
+.project
+.classpath
+.settings
+.deployables
+.wtpmodules
+.externalToolBuilders
Added: tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/pom.xml
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/pom.xml?rev=1406092&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/pom.xml (added)
+++ tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/pom.xml Tue Nov 6
11:00:39 2012
@@ -0,0 +1,39 @@
+<?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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-itest</artifactId>
+ <version>2.5-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>itest-nested-wsdl</artifactId>
+ <name>Apache Tuscany SCA iTest nested WSDL</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-base-runtime-pom</artifactId>
+ <type>pom</type>
+ <version>2.5-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+</project>
Added:
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/java/test/NestedInlineSchemasWSDLResolverTestCase.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/java/test/NestedInlineSchemasWSDLResolverTestCase.java?rev=1406092&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/java/test/NestedInlineSchemasWSDLResolverTestCase.java
(added)
+++
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/java/test/NestedInlineSchemasWSDLResolverTestCase.java
Tue Nov 6 11:00:39 2012
@@ -0,0 +1,218 @@
+/*
+ * 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 test;
+
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.wsdl.Binding;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.Port;
+import javax.wsdl.Service;
+import javax.xml.namespace.QName;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory;
+import org.apache.tuscany.sca.binding.ws.impl.WebServiceBindingFactoryImpl;
+import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.contribution.ContributionFactory;
+import org.apache.tuscany.sca.contribution.DefaultContributionFactory;
+import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
+import
org.apache.tuscany.sca.contribution.resolver.DefaultModelResolverExtensionPoint;
+import org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+import
org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint;
+import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.DefaultFactoryExtensionPoint;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.FactoryExtensionPoint;
+import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
+import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition;
+import org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory;
+import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface;
+import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract;
+import org.apache.tuscany.sca.interfacedef.wsdl.xml.WSDLDocumentProcessor;
+import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
+import org.apache.tuscany.sca.policy.PolicyFactory;
+import org.junit.Test;
+
+public class NestedInlineSchemasWSDLResolverTestCase extends TestCase {
+
+ protected ExtensionPointRegistry extRegistry = null;
+ protected static ContributionFactory contributionFactory = null;
+ protected static FactoryExtensionPoint factoryExtensionPoint = null;
+ protected static ModelResolverExtensionPoint
modelResolverExtensionPoint = null;
+
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ extRegistry = new DefaultExtensionPointRegistry();
+ factoryExtensionPoint = new
DefaultFactoryExtensionPoint(extRegistry);
+
+ contributionFactory = new DefaultContributionFactory();
+ WebServiceBindingFactory wsBindingFactory = new
WebServiceBindingFactoryImpl();
+ PolicyFactory policyFactory = new DefaultPolicyFactory();
+ javax.wsdl.factory.WSDLFactory wsdlFactory =
javax.wsdl.factory.WSDLFactory.newInstance();
+ factoryExtensionPoint.addFactory(wsBindingFactory);
+ factoryExtensionPoint.addFactory(policyFactory);
+ factoryExtensionPoint.addFactory(wsdlFactory);
+ factoryExtensionPoint.addFactory(contributionFactory);
+
+ extRegistry.addExtensionPoint(factoryExtensionPoint);
+
+ modelResolverExtensionPoint = new
DefaultModelResolverExtensionPoint(extRegistry);
+ extRegistry.addExtensionPoint(modelResolverExtensionPoint);
+
+ // URLArtifactProcessorExtensionPoint
urlArtifactProcessorExtensionPoint
+ // = new DefaultURLArtifactProcessorExtensionPoint(extRegistry);
+ //
extRegistry.addExtensionPoint(urlArtifactProcessorExtensionPoint);
+ }
+
+ @Test
+ public void testNestedWSDLParsing() throws MalformedURLException,
ContributionReadException, URISyntaxException {
+ URL url =
NestedInlineSchemasWSDLResolverTestCase.class.getClassLoader().getResource("OrderService.wsdl");
+
+ Contribution contribution =
contributionFactory.createContribution();
+ ModelResolver resolver = new
ExtensibleModelResolver(contribution, modelResolverExtensionPoint,
factoryExtensionPoint);
+ contribution.setModelResolver(resolver);
+
+ // URLArtifactProcessorExtensionPoint documentProcessors =
+ //
extRegistry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
+ // URLArtifactProcessor<WSDLDefinition> wsdlProcessor =
+ // documentProcessors.getProcessor(WSDLDefinition.class);
+ WSDLDocumentProcessor wsdlProcessor = new
WSDLDocumentProcessor(extRegistry, null);
+ ProcessorContext context = new ProcessorContext();
+ final java.net.URI uri = url.toURI();
+ WSDLDefinition wsdlDef = (WSDLDefinition)
wsdlProcessor.read(null, uri, url, context);
+ resolver.addModel(wsdlDef, context);
+ wsdlDef = resolver.resolveModel(WSDLDefinition.class, wsdlDef,
context);
+
+ Map<?, ?> services = wsdlDef.getDefinition().getAllServices();
+ // System.out.println(wsdlDef.getDefinition().getBinding(new
QName("http://OrderService/OrderService/rootwsdl",
+ // "OrderServiceHttpBinding")).isUndefined());
+ assertEquals(1, services.size());
+ for (Iterator<?> iterator = services.keySet().iterator();
iterator.hasNext();) {
+ QName serviceKey = (QName) iterator.next();
+ assertEquals(new
QName("http://OrderService/OrderService/rootwsdl", "OrderServiceHttpService"),
serviceKey);
+ Service service = (Service) services.get(serviceKey);
+ Map<?, ?> ports = service.getPorts();
+ for (Iterator<?> iterator2 = ports.keySet().iterator();
iterator2.hasNext();) {
+ String portKey = (String) iterator2.next();
+ assertEquals("OrderServiceHttpPort", portKey);
+ Port port = service.getPort(portKey);
+ Binding binding = port.getBinding();
+
+ assertEquals(new
QName("http://OrderService/OrderService/rootwsdl", "OrderServiceHttpBinding"),
binding.getQName());
+ assertEquals(new
QName("http://OrderService/OrderService/importwsdl", "OrderService"),
binding.getPortType().getQName());
+ assertEquals(3,
binding.getPortType().getOperations().size());
+ List<?> bindingOperations =
binding.getBindingOperations();
+ assertEquals(3, bindingOperations.size());
+ List<String> expectedOperations = new
ArrayList<String>();
+ expectedOperations.add("retrieveOrder");
+ expectedOperations.add("writeOrder");
+ expectedOperations.add("updateOrderStatus");
+ boolean flag = false;
+ for (Object obj : bindingOperations) {
+ BindingOperation operation =
(BindingOperation) obj;
+
assertTrue(expectedOperations.contains(operation.getName()));
+
+ if
("retrieveOrder".equals(operation.getName())) {
+ assertEquals(new
QName("http://OrderService/OrderService/importwsdl",
"retrieveOrderRequestMsg"), operation.getOperation().getInput()
+
.getMessage().getQName());
+ flag = true;
+
+ }
+ //
System.out.println(operation.getOperation().getInput().getMessage().getParts());
+ Map<?, ?> parts =
operation.getOperation().getInput().getMessage().getParts();
+ assertEquals(1, parts.size());
+ for (Iterator<?> iterator3 =
parts.keySet().iterator(); iterator3.hasNext();) {
+ Object object = (Object)
iterator3.next();
+ System.out.println("\t\tpart:"
+ parts.get(object));
+ }
+ }
+ assertTrue(flag);
+ }
+ }
+
+ // TODO: this should be one bug of open sca
+ System.out.println(wsdlDef.getXmlSchemaElement(new
QName("http://OrderService/OrderService/importwsdl/importwsdl",
"retrieveOrder")));
+ System.out.println(wsdlDef.getXmlSchemaElement(new
QName("http://OrderService/importwsdl", "OrderElement")));
+ System.out.println(wsdlDef.getXmlSchemaType(new
QName("http://OrderService/importwsdl", "Order")));
+ System.out.println(wsdlDef.getXmlSchemaElement(new
QName("http://OrderService/OrderService/importwsdl", "updateOrderStatus")));
+// TODO: fails assertNotNull(wsdlDef.getXmlSchemaElement(new
QName("http://OrderService/OrderService/importwsdl/importwsdl",
"retrieveOrder")));
+ assertNotNull(wsdlDef.getXmlSchemaElement(new
QName("http://OrderService/importwsdl", "OrderElement")));
+ assertNotNull(wsdlDef.getXmlSchemaType(new
QName("http://OrderService/importwsdl", "Order")));
+ assertNotNull(wsdlDef.getXmlSchemaElement(new
QName("http://OrderService/OrderService/importwsdl", "updateOrderStatus")));
+
+ testCreateInterfaceContract(contribution, wsdlDef, services);
+ }
+
+ //TODO: How to test InterfaceContract
+ private void testCreateInterfaceContract(Contribution contribution,
WSDLDefinition wsdlDef, Map<?, ?> services) {
+ for (Iterator<?> iterator = services.keySet().iterator();
iterator.hasNext();) {
+ QName serviceKey = (QName) iterator.next();
+ Service service = (Service) services.get(serviceKey);
+ Map<?, ?> ports = service.getPorts();
+ for (Iterator<?> iterator2 = ports.keySet().iterator();
iterator2.hasNext();) {
+ String portKey = (String) iterator2.next();
+ Port port = service.getPort(portKey);
+ try {
+ WSDLFactory wsdlFactory =
extRegistry.getExtensionPoint(FactoryExtensionPoint.class).getFactory(WSDLFactory.class);
+ WSDLInterface nwi =
wsdlFactory.createWSDLInterface(port.getBinding().getPortType(), wsdlDef,
contribution.getModelResolver(), null);
+ assertNotNull(nwi);
+
//nwi.resetDataBinding(BODataBinding.NAME);
+ nwi.setWsdlDefinition(wsdlDef);
+ WSDLInterfaceContract wsdlIC =
wsdlFactory.createWSDLInterfaceContract();
+ wsdlIC.setInterface(nwi);
+
+ assertEquals(3,
nwi.getOperations().size());
+
+ assertEquals(1,
nwi.getOperations().get(0).getInputType().getLogical().size());
+ assertEquals(1,
nwi.getOperations().get(1).getInputType().getLogical().size());
+ assertEquals(1,
nwi.getOperations().get(2).getInputType().getLogical().size());
+ assertEquals(1,
nwi.getOperations().get(0).getOutputType().getLogical().size());
+ assertEquals(1,
nwi.getOperations().get(1).getOutputType().getLogical().size());
+ assertEquals(1,
nwi.getOperations().get(2).getOutputType().getLogical().size());
+
+
assertNotNull(nwi.getOperations().get(0).getInputType());
+// TODO: fails assertEquals(new
QName("http://OrderService/OrderService/rootwsdl", "retrieveOrder"),
((XMLType)nwi.getOperations().get(0).getInputType().getLogical().get(0).getLogical()).getElementName());
+
assertNotNull(nwi.getOperations().get(0).getOutputType());
+// TODO: fails assertEquals(new
QName("http://OrderService/OrderService/rootwsdl", "retrieveOrderResponse"),
((XMLType)nwi.getOperations().get(0).getOutputType().getLogical().get(0).getLogical()).getElementName());
+ assertEquals(0,
nwi.getOperations().get(0).getFaultTypes().size());
+
+ assertEquals(0,
nwi.getOperations().get(1).getFaultTypes().size());
+ assertEquals(0,
nwi.getOperations().get(2).getFaultTypes().size());
+ assertEquals(0,
nwi.getOperations().get(0).getFaultTypes().size());
+ } catch (InvalidInterfaceException e) {
+ e.printStackTrace();
+ assertNull(e);
+ }
+ }
+ }
+ }
+}
Added:
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/ImportedImportedOrderService.wsdl
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/ImportedImportedOrderService.wsdl?rev=1406092&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/ImportedImportedOrderService.wsdl
(added)
+++
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/ImportedImportedOrderService.wsdl
Tue Nov 6 11:00:39 2012
@@ -0,0 +1,60 @@
+<?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.
+-->
+<wsdl:definitions name="OrderService"
+
targetNamespace="http://OrderService/OrderService/importwsdl/importwsdl"
xmlns:bons1="http://OrderService/importwsdl"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:this="http://OrderService/OrderService/importwsdl/importwsdl">
+ <wsdl:types>
+ <xsd:schema
targetNamespace="http://OrderService/OrderService/importwsdl">
+ <xsd:import namespace="http://OrderService/importwsdl"
+ schemaLocation="Order.xsd" />
+ <xsd:element name="retrieveOrder">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="orderID"
nillable="true" type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="retrieveOrderResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="order"
nillable="true" type="bons1:Order" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="writeOrder">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="order"
nillable="true" type="bons1:Order" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="writeOrderResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element
name="writeOrderStatus" nillable="true"
+ type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+</wsdl:definitions>
Added:
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/ImportedOrderService.wsdl
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/ImportedOrderService.wsdl?rev=1406092&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/ImportedOrderService.wsdl
(added)
+++
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/ImportedOrderService.wsdl
Tue Nov 6 11:00:39 2012
@@ -0,0 +1,78 @@
+<?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.
+-->
+<wsdl:definitions name="OrderService"
+ targetNamespace="http://OrderService/OrderService/importwsdl"
xmlns:im="http://OrderService/OrderService/importwsdl/importwsdl"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:this="http://OrderService/OrderService/importwsdl">
+ <wsdl:import location="ImportedImportedOrderService.wsdl"
namespace="http://OrderService/OrderService/importwsdl/importwsdl" />
+ <wsdl:types>
+ <xsd:schema
targetNamespace="http://OrderService/OrderService/importwsdl">
+ <xsd:element name="updateOrderStatus">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="orderID"
nillable="true" type="xsd:string" />
+ <xsd:element name="newStatus"
nillable="true" type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="updateOrderStatusResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="rc"
nillable="true" type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="retrieveOrderRequestMsg">
+ <wsdl:part element="this:retrieveOrder"
name="retrieveOrderParameters" />
+ </wsdl:message>
+ <wsdl:message name="retrieveOrderResponseMsg">
+ <wsdl:part element="this:retrieveOrderResponse"
name="retrieveOrderResult" />
+ </wsdl:message>
+ <wsdl:message name="writeOrderRequestMsg">
+ <wsdl:part element="this:writeOrder"
name="writeOrderParameters" />
+ </wsdl:message>
+ <wsdl:message name="writeOrderResponseMsg">
+ <wsdl:part element="this:writeOrderResponse"
name="writeOrderResult" />
+ </wsdl:message>
+ <wsdl:message name="updateOrderStatusRequestMsg">
+ <wsdl:part element="this:updateOrderStatus"
name="updateOrderStatusParameter" />
+ </wsdl:message>
+ <wsdl:message name="updateOrderStatusResponseMsg">
+ <wsdl:part element="this:updateOrderStatusResponse"
name="updateOrderStatusResult" />
+ </wsdl:message>
+ <wsdl:portType name="OrderService">
+ <wsdl:operation name="retrieveOrder">
+ <wsdl:input message="this:retrieveOrderRequestMsg"
name="retrieveOrderRequest" />
+ <wsdl:output message="this:retrieveOrderResponseMsg"
name="retrieveOrderResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="writeOrder">
+ <wsdl:input message="this:writeOrderRequestMsg"
name="writeOrderRequest" />
+ <wsdl:output message="this:writeOrderResponseMsg"
name="writeOrderResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="updateOrderStatus">
+ <wsdl:input message="this:updateOrderStatusRequestMsg"
+ name="updateOrderStatusRequest" />
+ <wsdl:output message="this:updateOrderStatusResponseMsg"
+ name="updateOrderStatusResponse" />
+ </wsdl:operation>
+ </wsdl:portType>
+</wsdl:definitions>
Added:
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/Order.xsd
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/Order.xsd?rev=1406092&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/Order.xsd
(added)
+++
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/Order.xsd
Tue Nov 6 11:00:39 2012
@@ -0,0 +1,54 @@
+<?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.
+-->
+<xsd:schema targetNamespace="http://OrderService/importwsdl"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:complexType name="Order">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="orderID"
+ type="xsd:string">
+ </xsd:element>
+ <xsd:element minOccurs="0" name="customerID"
+ type="xsd:string">
+ </xsd:element>
+ <xsd:element minOccurs="0" name="description"
+ type="xsd:string">
+ </xsd:element>
+ <xsd:element minOccurs="0" name="status"
+ type="xsd:string">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="OrderElement">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="orderID"
+ type="xsd:string">
+ </xsd:element>
+ <xsd:element minOccurs="0" name="customerID"
+ type="xsd:string">
+ </xsd:element>
+ <xsd:element minOccurs="0" name="description"
+ type="xsd:string">
+ </xsd:element>
+ <xsd:element minOccurs="0" name="status"
+ type="xsd:string">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:element>
+</xsd:schema>
\ No newline at end of file
Added:
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/OrderService.wsdl
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/OrderService.wsdl?rev=1406092&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/OrderService.wsdl
(added)
+++
tuscany/sca-java-2.x/trunk/testing/itest/nested-wsdl/src/test/resources/OrderService.wsdl
Tue Nov 6 11:00:39 2012
@@ -0,0 +1,67 @@
+<?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.
+-->
+<wsdl:definitions name="OrderService"
+ targetNamespace="http://OrderService/OrderService/rootwsdl"
xmlns:im="http://OrderService/OrderService/importwsdl"
+ xmlns:tns="http://OrderService/OrderService/rootwsdl"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:this="http://OrderService/OrderService/rootwsdl">
+ <wsdl:import location="ImportedOrderService.wsdl"
namespace="http://OrderService/OrderService/importwsdl" />
+ <wsdl:binding name="OrderServiceHttpBinding"
+ type="im:OrderService">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="retrieveOrder">
+ <soap:operation soapAction="" />
+ <wsdl:input name="retrieveOrderRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="retrieveOrderResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="writeOrder">
+ <soap:operation soapAction="" />
+ <wsdl:input name="writeOrderRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="writeOrderResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="updateOrderStatus">
+ <soap:operation soapAction="" />
+ <wsdl:input name="updateOrderStatusRequest">
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="updateOrderStatusResponse">
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="OrderServiceHttpService">
+ <wsdl:port binding="this:OrderServiceHttpBinding"
+ name="OrderServiceHttpPort">
+ <soap:address
+
location="http://localhost:9080/OrderService.WSBindingWeb/sca/OrderServiceExport"
/>
+ </wsdl:port>
+ </wsdl:service>
+
+</wsdl:definitions>