[jbossws-commits] JBossWS SVN: r3632 - in branches/jbossws-2.0/jbossws-core: src/main/java/org/jboss/ws/tools/wsdl and 3 other directories.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Tue Jun 19 10:36:06 EDT 2007


Author: thomas.diesler at jboss.com
Date: 2007-06-19 10:36:05 -0400 (Tue, 19 Jun 2007)
New Revision: 3632

Modified:
   branches/jbossws-2.0/jbossws-core/.classpath
   branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java
   branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/tools/wsdl/WSDLDefinitionsFactory.java
   branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/tools/jbws1553/JBWS1553TestCase.java
   branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/atm-binding-1.wsdl
   branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/atm-service.wsdl
   branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/atm.wsdl
   branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/interface/account.wsdl
   branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/interface/frontend.wsdl
   branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/interface/ticket.wsdl
Log:
[JBWS-1553] fails to read operations for portType from different namespace

Modified: branches/jbossws-2.0/jbossws-core/.classpath
===================================================================
--- branches/jbossws-2.0/jbossws-core/.classpath	2007-06-19 14:28:49 UTC (rev 3631)
+++ branches/jbossws-2.0/jbossws-core/.classpath	2007-06-19 14:36:05 UTC (rev 3632)
@@ -21,7 +21,7 @@
 	<classpathentry kind="lib" path="thirdparty/mail.jar"/>
 	<classpathentry kind="lib" path="thirdparty/servlet-api.jar"/>
 	<classpathentry kind="lib" path="thirdparty/stax-api.jar"/>
-	<classpathentry kind="lib" path="thirdparty/wsdl4j.jar"/>
+	<classpathentry kind="lib" path="thirdparty/wsdl4j.jar" sourcepath="thirdparty/wsdl4j-src.jar"/>
 	<classpathentry kind="lib" path="thirdparty/wstx.jar"/>
 	<classpathentry kind="lib" path="thirdparty/xalan.jar"/>
 	<classpathentry kind="lib" path="thirdparty/xercesImpl.jar"/>

Modified: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java	2007-06-19 14:28:49 UTC (rev 3631)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java	2007-06-19 14:36:05 UTC (rev 3632)
@@ -29,6 +29,7 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
@@ -142,6 +143,14 @@
    // SWA handling
    private Map<QName, List<String>> skippedSWAParts = new HashMap<QName, List<String>>();
 
+   // It is generally unsafe to use the getter for a top level element on another top level element.
+   // For examples Binding.getPortType() returns a PortType which might might be undefined
+   // The lists below only contain "defined" top level elements
+   private Map<String, List<Service>> servicesByNamespace = new HashMap<String, List<Service>>();
+   private Map<String, List<Binding>> bindingsByNamespace = new HashMap<String, List<Binding>>();
+   private Map<String, List<PortType>> portTypesByNamespace = new HashMap<String, List<PortType>>();
+   private Map<String, List<Message>> messagesByNamespace = new HashMap<String, List<Message>>();
+
    /**
     * Takes a WSDL11 Definition element and converts into
     * our object graph that has been developed for WSDL20
@@ -159,6 +168,7 @@
       destWsdl.setWsdlNamespace(Constants.NS_WSDL11);
 
       processNamespaces(srcWsdl);
+      processTopLevelElements(srcWsdl);
       processTypes(srcWsdl, wsdlLoc);
       processUnknownExtensibilityElements(srcWsdl, destWsdl);
       processServices(srcWsdl);
@@ -171,6 +181,77 @@
       return destWsdl;
    }
 
+   private void processTopLevelElements(Definition srcWsdl)
+   {
+      String targetNS = srcWsdl.getTargetNamespace();
+
+      // Messages
+      Collection<Message> messages = srcWsdl.getMessages().values();
+      for (Message message : messages)
+      {
+         List<Message> list = messagesByNamespace.get(targetNS);
+         if (list == null)
+         {
+            list = new ArrayList<Message>();
+            messagesByNamespace.put(targetNS, list);
+         }
+         if (message.isUndefined() == false)
+            list.add(message);
+      }
+
+      // PortTypes
+      Collection<PortType> portTypes = srcWsdl.getPortTypes().values();
+      for (PortType portType : portTypes)
+      {
+         List<PortType> list = portTypesByNamespace.get(targetNS);
+         if (list == null)
+         {
+            list = new ArrayList<PortType>();
+            portTypesByNamespace.put(targetNS, list);
+         }
+         if (portType.isUndefined() == false)
+            list.add(portType);
+      }
+
+      // Bindings
+      Collection<Binding> bindings = srcWsdl.getBindings().values();
+      for (Binding binding : bindings)
+      {
+         List<Binding> list = bindingsByNamespace.get(targetNS);
+         if (list == null)
+         {
+            list = new ArrayList<Binding>();
+            bindingsByNamespace.put(targetNS, list);
+         }
+         if (binding.isUndefined() == false)
+            list.add(binding);
+      }
+
+      // Services
+      Collection<Service> services = srcWsdl.getServices().values();
+      for (Service service : services)
+      {
+         List<Service> list = servicesByNamespace.get(targetNS);
+         if (list == null)
+         {
+            list = new ArrayList<Service>();
+            servicesByNamespace.put(targetNS, list);
+         }
+         list.add(service);
+      }
+
+      // Imports
+      Collection<List<Import>> importLists = srcWsdl.getImports().values();
+      for (List<Import> imports : importLists)
+      {
+         for (Import imp : imports)
+         {
+            Definition impWsdl = imp.getDefinition();
+            processTopLevelElements(impWsdl);
+         }
+      }
+   }
+
    private void cleanupTemporaryFiles()
    {
       for (File current : tempFiles)
@@ -214,18 +295,18 @@
          destWsdl.registerNamespaceURI(nsURI, prefix);
       }
    }
-   
+
    private void processUnknownExtensibilityElements(ElementExtensible src, Extendable dest) throws WSDLException
    {
       List extElements = src.getExtensibilityElements();
-      for (int i=0; i<extElements.size(); i++)
+      for (int i = 0; i < extElements.size(); i++)
       {
          ExtensibilityElement extElement = (ExtensibilityElement)extElements.get(i);
          processPolicyElements(extElement, dest);
          //add processing of further extensibility element types below
       }
    }
-   
+
    private void processPolicyElements(ExtensibilityElement extElement, Extendable dest)
    {
       if (extElement instanceof UnknownExtensibilityElement)
@@ -238,19 +319,17 @@
             copyMissingNamespaceDeclarations(element, srcElement);
             if (element.getLocalName().equals("Policy"))
             {
-               dest.addExtensibilityElement(
-                     new WSDLExtensibilityElement(Constants.WSDL_ELEMENT_POLICY,element));
+               dest.addExtensibilityElement(new WSDLExtensibilityElement(Constants.WSDL_ELEMENT_POLICY, element));
             }
             else if (element.getLocalName().equals("PolicyReference"))
             {
-               dest.addExtensibilityElement(
-                     new WSDLExtensibilityElement(Constants.WSDL_ELEMENT_POLICYREFERENCE,element));
+               dest.addExtensibilityElement(new WSDLExtensibilityElement(Constants.WSDL_ELEMENT_POLICYREFERENCE, element));
             }
-            
+
          }
       }
    }
-   
+
    private void processTypes(Definition srcWsdl, URL wsdlLoc) throws IOException, WSDLException
    {
       log.trace("BEGIN processTypes: " + wsdlLoc);
@@ -352,7 +431,7 @@
          parent = parent.getParentNode();
       }
    }
-   
+
    private void copyMissingNamespaceDeclarations(Element destElement, Element srcElement)
    {
       String prefix = destElement.getPrefix();
@@ -365,24 +444,24 @@
       {
          nsUri = null;
       }
-      if (prefix!=null && nsUri == null)
+      if (prefix != null && nsUri == null)
       {
-         destElement.setAttributeNS(Constants.NS_XMLNS,"xmlns:"+prefix,srcElement.lookupNamespaceURI(prefix));
-         
+         destElement.setAttributeNS(Constants.NS_XMLNS, "xmlns:" + prefix, srcElement.lookupNamespaceURI(prefix));
+
       }
-      
+
       NamedNodeMap attributes = destElement.getAttributes();
       for (int i = 0; i < attributes.getLength(); i++)
       {
          Attr attr = (Attr)attributes.item(i);
          String attrPrefix = attr.getPrefix();
-         if (attrPrefix!=null && !attr.getName().startsWith("xmlns") && destElement.lookupNamespaceURI(attrPrefix) == null)
+         if (attrPrefix != null && !attr.getName().startsWith("xmlns") && destElement.lookupNamespaceURI(attrPrefix) == null)
          {
-            destElement.setAttributeNS(Constants.NS_XMLNS,"xmlns:"+attrPrefix,srcElement.lookupNamespaceURI(attrPrefix));
+            destElement.setAttributeNS(Constants.NS_XMLNS, "xmlns:" + attrPrefix, srcElement.lookupNamespaceURI(attrPrefix));
          }
       }
       NodeList childrenList = destElement.getChildNodes();
-      for (int i=0; i<childrenList.getLength(); i++)
+      for (int i = 0; i < childrenList.getLength(); i++)
       {
          Node node = childrenList.item(i);
          if (node instanceof Element)
@@ -543,14 +622,14 @@
       if (destWsdl.getInterface(qname) == null)
       {
          WSDLInterface destInterface = new WSDLInterface(destWsdl, qname);
-         
+
          //policy extensions
          QName policyURIsProp = (QName)srcPortType.getExtensionAttribute(Constants.WSDL_ATTRIBUTE_WSP_POLICYURIS);
          if (policyURIsProp != null && !"".equalsIgnoreCase(policyURIsProp.getLocalPart()))
          {
             destInterface.addProperty(new WSDLProperty(Constants.WSDL_PROPERTY_POLICYURIS, policyURIsProp.getLocalPart()));
          }
-         
+
          // eventing extensions
          QName eventSourceProp = (QName)srcPortType.getExtensionAttribute(Constants.WSDL_ATTRIBUTE_WSE_EVENTSOURCE);
          if (eventSourceProp != null && eventSourceProp.getLocalPart().equals(Boolean.TRUE.toString()))
@@ -914,9 +993,7 @@
 
       if (destWsdl.getBinding(srcBindingQName) == null)
       {
-         PortType srcPortType = srcBinding.getPortType();
-         if (srcPortType == null)
-            throw new WSDLException(WSDLException.INVALID_WSDL, "Cannot find port type for binding: " + srcBindingQName);
+         PortType srcPortType = getDefinedPortType(srcBinding);
 
          // Get binding type
          String bindingType = null;
@@ -979,13 +1056,71 @@
       return true;
    }
 
+   /** The port might reference a binding which is defined in another wsdl
+    */
+   private Binding getDefinedBinding(Port srcPort) throws WSDLException
+   {
+      Binding srcBinding = srcPort.getBinding();
+      if (srcBinding == null)
+         throw new WSDLException(WSDLException.INVALID_WSDL, "Cannot find binding for port: " + srcPort.getName());
+
+      QName srcBindingName = srcBinding.getQName();
+      if (srcBinding.isUndefined())
+      {
+         String nsURI = srcBindingName.getNamespaceURI();
+         List<Binding> bindings = bindingsByNamespace.get(nsURI);
+         if (bindings == null)
+            throw new WSDLException(WSDLException.INVALID_WSDL, "Cannot find bindings for namespace: " + nsURI);
+         
+         for (Binding auxBinding : bindings)
+         {
+            if (srcBindingName.equals(auxBinding.getQName()))
+            {
+               srcBinding = auxBinding;
+               break;
+            }
+         }
+      }
+      
+      return srcBinding;
+   }
+
+   /** The binding might reference a port type which is defined in another wsdl
+    */
+   private PortType getDefinedPortType(Binding srcBinding) throws WSDLException
+   {
+      QName srcBindingQName = srcBinding.getQName();
+
+      PortType srcPortType = srcBinding.getPortType();
+      if (srcPortType == null)
+         throw new WSDLException(WSDLException.INVALID_WSDL, "Cannot find port type for binding: " + srcBindingQName);
+
+      QName srcPortTypeName = srcPortType.getQName();
+      if (srcPortType.isUndefined())
+      {
+         String nsURI = srcPortTypeName.getNamespaceURI();
+         List<PortType> portTypes = portTypesByNamespace.get(nsURI);
+         if (portTypes == null)
+            throw new WSDLException(WSDLException.INVALID_WSDL, "Cannot find port types for namespace: " + nsURI);
+
+         for (PortType auxPortType : portTypes)
+         {
+            if (srcPortTypeName.equals(auxPortType.getQName()))
+            {
+               srcPortType = auxPortType;
+               break;
+            }
+         }
+      }
+
+      return srcPortType;
+   }
+
    /**
     * Identify and mark message parts that belong to
     * an SWA binding and can be skipped when processing this WSDL
-    * @param srcBinding
-    * @param srcWsdl
     */
-   private void preProcessSWAParts(Binding srcBinding, Definition srcWsdl)
+   private void preProcessSWAParts(Binding srcBinding, Definition srcWsdl) throws WSDLException
    {
 
       Iterator opIt = srcBinding.getBindingOperations().iterator();
@@ -1003,7 +1138,7 @@
       }
    }
 
-   private void markSWAParts(List extensions, Binding srcBinding, Definition srcWsdl)
+   private void markSWAParts(List extensions, Binding srcBinding, Definition srcWsdl) throws WSDLException
    {
       Iterator extIt = extensions.iterator();
       while (extIt.hasNext())
@@ -1012,7 +1147,7 @@
          if (o instanceof MIMEMultipartRelated)
          {
 
-            QName portTypeName = srcBinding.getPortType().getQName();
+            QName portTypeName = getDefinedPortType(srcBinding).getQName();
 
             if (log.isTraceEnabled())
                log.trace("SWA found on portType" + portTypeName);
@@ -1038,13 +1173,13 @@
       }
    }
 
-   private Map<QName, Binding> getPortTypeBindings(Definition srcWsdl)
+   private Map<QName, Binding> getPortTypeBindings(Definition srcWsdl) throws WSDLException
    {
       getAllDefinedBindings(srcWsdl);
       return portTypeBindings;
    }
 
-   private Map<QName, Binding> getAllDefinedBindings(Definition srcWsdl)
+   private Map<QName, Binding> getAllDefinedBindings(Definition srcWsdl) throws WSDLException
    {
       if (allBindings != null)
          return allBindings;
@@ -1057,7 +1192,7 @@
       {
          Binding srcBinding = (Binding)itBinding.next();
          allBindings.put(srcBinding.getQName(), srcBinding);
-         portTypeBindings.put(srcBinding.getPortType().getQName(), srcBinding);
+         portTypeBindings.put(getDefinedPortType(srcBinding).getQName(), srcBinding);
       }
 
       // Bindings not available when pulled in through <wsdl:import>
@@ -1072,7 +1207,7 @@
             Port srcPort = (Port)itPort.next();
             Binding srcBinding = srcPort.getBinding();
             allBindings.put(srcBinding.getQName(), srcBinding);
-            portTypeBindings.put(srcBinding.getPortType().getQName(), srcBinding);
+            portTypeBindings.put(getDefinedPortType(srcBinding).getQName(), srcBinding);
          }
       }
 
@@ -1229,7 +1364,7 @@
          {
             SOAP12Body body = (SOAP12Body)extElement;
             processEncodingStyle(body, destBindingOperation);
-            
+
             String namespaceURI = body.getNamespaceURI();
             destBindingOperation.setNamespaceURI(namespaceURI);
          }
@@ -1415,7 +1550,7 @@
    {
       log.trace("processPort: " + srcPort.getName());
 
-      Binding srcBinding = srcPort.getBinding();
+      Binding srcBinding = getDefinedBinding(srcPort);
       QName endpointName = new QName(srcWsdl.getTargetNamespace(), srcPort.getName());
       WSDLEndpoint destEndpoint = new WSDLEndpoint(destService, endpointName);
       destEndpoint.setBinding(srcBinding.getQName());

Modified: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/tools/wsdl/WSDLDefinitionsFactory.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/tools/wsdl/WSDLDefinitionsFactory.java	2007-06-19 14:28:49 UTC (rev 3631)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/tools/wsdl/WSDLDefinitionsFactory.java	2007-06-19 14:36:05 UTC (rev 3632)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
 package org.jboss.ws.tools.wsdl;
 
 // $Id$
@@ -98,8 +98,9 @@
       if (wsdlLocation == null)
          throw new IllegalArgumentException("URL cannot be null");
 
-      if(log.isDebugEnabled()) log.debug("parse: " + wsdlLocation.toExternalForm());
-      
+      if (log.isDebugEnabled())
+         log.debug("parse: " + wsdlLocation.toExternalForm());
+
       EntityResolver entityResolver = new JBossWSEntityResolver();
       WSDLDefinitions wsdlDefinitions = null;
       try
@@ -108,7 +109,7 @@
          String defaultNamespace = getDefaultNamespace(wsdlDoc);
          if (Constants.NS_WSDL11.equals(defaultNamespace))
          {
-			WSDLFactory wsdlFactory = WSDLFactory.newInstance(JBossWSDLFactoryImpl.class.getName());
+            WSDLFactory wsdlFactory = WSDLFactory.newInstance(JBossWSDLFactoryImpl.class.getName());
             WSDLReader wsdlReader = wsdlFactory.newWSDLReader();
             wsdlReader.setFeature("javax.wsdl.verbose", false);
 
@@ -122,15 +123,15 @@
                Boolean flag = (Boolean)entry.getValue();
                wsdlReader.setFeature(key, flag.booleanValue());
             }
-            
+
             Definition definition = wsdlReader.readWSDL(new WSDLLocatorImpl(entityResolver, wsdlLocation));
             wsdlDefinitions = new WSDL11Reader().processDefinition(definition, wsdlLocation);
             wsdlDefinitions.setWsdlDocument(wsdlDoc);
          }
          else
-		{
+         {
             throw new WSDLException("Invalid default namespace: " + defaultNamespace);
-		}
+         }
 
          if (log.isTraceEnabled())
          {

Modified: branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/tools/jbws1553/JBWS1553TestCase.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/tools/jbws1553/JBWS1553TestCase.java	2007-06-19 14:28:49 UTC (rev 3631)
+++ branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/tools/jbws1553/JBWS1553TestCase.java	2007-06-19 14:36:05 UTC (rev 3632)
@@ -21,39 +21,41 @@
  */
 package org.jboss.test.ws.tools.jbws1553;
 
+// $Id$
+
 import java.io.File;
 import java.net.URL;
 
 import javax.xml.namespace.QName;
 
+import junit.framework.TestCase;
+
 import org.jboss.ws.metadata.wsdl.WSDLDefinitions;
 import org.jboss.ws.metadata.wsdl.WSDLEndpoint;
-import org.jboss.ws.metadata.wsdl.WSDLInterface;
 import org.jboss.ws.metadata.wsdl.WSDLService;
 import org.jboss.ws.tools.wsdl.WSDLDefinitionsFactory;
 
-import junit.framework.TestCase;
-
 /**
+ * [JBWS-1553] fails to read operations for portType from different namespace
+ * 
+ * http://jira.jboss.org/jira/browse/JBWS-1553
+ * 
  * @author <a href="mailto:alex.guizar at jboss.com">Alejandro Guizar</a>
- * @version $Revision$
  */
 public class JBWS1553TestCase extends TestCase
 {
    private WSDLDefinitions definitions;
-   private static WSDLDefinitionsFactory definitionsFactory = WSDLDefinitionsFactory.newInstance();
 
    protected void setUp() throws Exception
    {
       URL wsdlLocation = new File("resources/tools/jbws1553/atm-service.wsdl").toURL();
-      definitions = definitionsFactory.parse(wsdlLocation);
+      definitions = WSDLDefinitionsFactory.newInstance().parse(wsdlLocation);
    }
 
    public void testPortType()
    {
-      WSDLService atmService = definitions.getService("AtmFrontEndService");
-      WSDLEndpoint endpoint = atmService.getEndpoint(new QName("urn:samples:atm", "FrontEndPort"));
-      WSDLInterface _interface = endpoint.getInterface();
-      assertEquals(new QName("urn:samples:frontend", "FrontEnd"), _interface.getName());
+      WSDLService wsdlService = definitions.getService("AtmFrontEndService");
+      WSDLEndpoint wsdlEndpoint = wsdlService.getEndpoint(new QName("urn:samples:atm", "FrontEndPort"));
+      assertEquals(new QName("urn:samples:atm2", "FrontEnd"), wsdlEndpoint.getInterface().getName());
    }
 }

Modified: branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/atm-binding-1.wsdl
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/atm-binding-1.wsdl	2007-06-19 14:28:49 UTC (rev 3631)
+++ branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/atm-binding-1.wsdl	2007-06-19 14:36:05 UTC (rev 3632)
@@ -1,95 +1,85 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<definitions targetNamespace="urn:samples:frontend"
-  xmlns:tns="urn:samples:frontend"
-  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
-  xmlns="http://schemas.xmlsoap.org/wsdl/">
-
-  <import namespace="urn:samples:frontend" location="interface/frontend.wsdl" />
-
+<definitions targetNamespace="urn:samples:atm2" xmlns:tns="urn:samples:atm2" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+  <import namespace="urn:samples:atm" location="atm.wsdl"/>
   <binding name="FrontEndBinding" type="tns:FrontEnd">
-
-    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
-
+    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
     <operation name="connect">
-      <soap:operation soapAction="urn:samples:frontend:connect" />
+      <soap:operation soapAction="urn:samples:atm2:connect"/>
       <input>
-        <soap:body use="literal" namespace="urn:samples:frontend" />
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
       </input>
       <output>
-        <soap:body use="literal" namespace="urn:samples:frontend" />
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
       </output>
     </operation>
-
     <operation name="disconnect">
-      <soap:operation soapAction="urn:samples:frontend:disconnect" />
+      <soap:operation soapAction="urn:samples:atm2:disconnect"/>
       <input>
-        <soap:body use="literal" namespace="urn:samples:frontend" />
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
       </input>
     </operation>
-
     <operation name="status">
-      <soap:operation soapAction="urn:samples:frontend:status" />
+      <soap:operation soapAction="urn:samples:atm2:status"/>
       <input>
-        <soap:body use="literal" namespace="urn:samples:frontend" />
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
       </input>
       <output>
-        <soap:body use="literal" namespace="urn:samples:frontend" />
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
       </output>
     </operation>
-
     <operation name="logOn">
-      <soap:operation soapAction="urn:samples:frontend:logOn" />
+      <soap:operation soapAction="urn:samples:atm2:logOn"/>
       <input>
-        <soap:body use="literal" namespace="urn:samples:frontend" />
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
       </input>
       <output>
-        <soap:body use="literal" namespace="urn:samples:frontend" />
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
       </output>
       <fault name="unauthorizedAccess">
-        <soap:fault name="unauthorizedAccess" use="literal" />
+        <soap:fault name="unauthorizedAccess" use="literal"/>
       </fault>
     </operation>
-
     <operation name="logOff">
-      <soap:operation soapAction="urn:samples:frontend:logOff" />
+      <soap:operation soapAction="urn:samples:atm2:logOff"/>
       <input>
-        <soap:body use="literal" namespace="urn:samples:frontend" />
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
       </input>
     </operation>
-
     <operation name="getBalance">
-      <soap:operation soapAction="urn:samples:frontend:getBalance" />
+      <soap:operation soapAction="urn:samples:atm2:getBalance"/>
       <input>
-        <soap:body use="literal" namespace="urn:samples:frontend" />
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
       </input>
       <output>
-        <soap:body use="literal" namespace="urn:samples:frontend" />
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
       </output>
     </operation>
-
     <operation name="deposit">
-      <soap:operation soapAction="urn:samples:frontend:deposit" />
+      <soap:operation soapAction="urn:samples:atm2:deposit"/>
       <input>
-        <soap:body use="literal" namespace="urn:samples:frontend" />
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
       </input>
       <output>
-        <soap:body use="literal" namespace="urn:samples:frontend" />
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
       </output>
     </operation>
-
     <operation name="withdraw">
-      <soap:operation soapAction="urn:samples:frontend:withdraw" />
+      <soap:operation soapAction="urn:samples:atm2:withdraw"/>
       <input>
-        <soap:body use="literal" namespace="urn:samples:frontend" />
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
       </input>
       <output>
-        <soap:body use="literal" namespace="urn:samples:frontend" />
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
       </output>
       <fault name="insufficientFunds">
-        <soap:fault name="insufficientFunds" use="literal" />
+        <soap:fault name="insufficientFunds" use="literal"/>
       </fault>
     </operation>
-
+    <operation name="myop">
+      <soap:operation soapAction="urn:samples:atm2:myop"/>
+      <input>
+        <soap:body use="literal" namespace="urn:samples:atm2"/>
+      </input>
+    </operation>
   </binding>
-
-</definitions>
+</definitions>
\ No newline at end of file

Modified: branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/atm-service.wsdl
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/atm-service.wsdl	2007-06-19 14:28:49 UTC (rev 3631)
+++ branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/atm-service.wsdl	2007-06-19 14:36:05 UTC (rev 3632)
@@ -1,15 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<definitions targetNamespace="urn:samples:atm" xmlns:tns="urn:samples:atm"
-  xmlns:front="urn:samples:frontend"
-  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+<definitions targetNamespace="urn:samples:atm" xmlns:tns="urn:samples:atm" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:bindingNS2="urn:samples:atm2"
   xmlns="http://schemas.xmlsoap.org/wsdl/">
-
-  <import namespace="urn:samples:frontend" location="atm-binding-1.wsdl" />
-
+  <import namespace="urn:samples:atm2" location="atm-binding-1.wsdl"/>
   <service name="AtmFrontEndService">
-    <port name="FrontEndPort" binding="front:FrontEndBinding">
-      <soap:address location="REPLACE_WITH_ACTUAL_URI" />
+    <port name="FrontEndPort" binding="bindingNS2:FrontEndBinding">
+      <soap:address location="REPLACE_WITH_ACTUAL_URI"/>
     </port>
   </service>
-
-</definitions>
+</definitions>
\ No newline at end of file

Modified: branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/atm.wsdl
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/atm.wsdl	2007-06-19 14:28:49 UTC (rev 3631)
+++ branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/atm.wsdl	2007-06-19 14:36:05 UTC (rev 3632)
@@ -1,57 +1,27 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<definitions targetNamespace="urn:samples:atm"
-  xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:samples:atm"
-  xmlns:front="urn:samples:frontend" xmlns:tic="urn:samples:ticket"
-  xmlns:acc="urn:samples:account"
-  xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
-  xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
-  <import namespace="urn:samples:frontend" location="interface/frontend.wsdl" />
-  <import namespace="urn:samples:ticket" location="interface/ticket.wsdl" />
-  <import namespace="urn:samples:account" location="interface/account.wsdl" />
-
-  <!-- customer name property -->
-  <bpel:property name="customerId" type="xsd:string" />
-
-  <!-- location of costumerId inside messages -->
-  <bpel:propertyAlias propertyName="tns:customerId"
-    messageType="front:logOnRequest" part="customerName" />
-  <bpel:propertyAlias propertyName="tns:customerId"
-    messageType="front:balanceChange" part="customerName" />
-  <bpel:propertyAlias propertyName="tns:customerId"
-    messageType="acc:customerMessage" part="customerName" />
-  <bpel:propertyAlias propertyName="tns:customerId"
-    messageType="acc:accountOperation" part="body" query="/body/customerName" />
-
-  <!-- ticket number property -->
-  <bpel:property name="ticketId" type="xsd:int" />
-
-  <!-- location of ticketId inside messages -->
-  <bpel:propertyAlias propertyName="tns:ticketId"
-    messageType="tic:ticketMessage" part="ticketNo" />
-  <bpel:propertyAlias propertyName="tns:ticketId"
-    messageType="front:logOnRequest" part="ticketNo" />
-
-  <!-- relationship between the ATM and the process -->
-  <plt:partnerLinkType name="Atm-Front">
-    <plt:role name="FrontEnd">
-      <plt:portType name="front:FrontEnd" />
-    </plt:role>
-  </plt:partnerLinkType>
-
-  <!-- relationship between the process and the ticket issuer -->
-  <plt:partnerLinkType name="Front-Ticket">
-    <plt:role name="TicketIssuer">
-      <plt:portType name="tic:TicketIssuer" />
-    </plt:role>
-  </plt:partnerLinkType>
-
-  <!-- relationship between the process and the account system -->
-  <plt:partnerLinkType name="Front-Account">
-    <plt:role name="AccountSystem">
-      <plt:portType name="acc:AccountSystem" />
-    </plt:role>
-  </plt:partnerLinkType>
-
+<definitions targetNamespace="urn:samples:atm" xmlns:tns="urn:samples:atm" xmlns:atm="urn:samples:atm2" xmlns:acc="urn:samples:account"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:plt2="http://schemas.xmlsoap.org/ws/2004/03/partner-link/"
+  xmlns:bpel2="http://schemas.xmlsoap.org/ws/2004/03/business-process/" xmlns:tic="urn:samples:ticket" xmlns="http://schemas.xmlsoap.org/wsdl/">
+  <import namespace="urn:samples:account" location="interface/account.wsdl"/>
+  <import namespace="urn:samples:ticket" location="interface/ticket.wsdl"/>
+  <import namespace="urn:samples:atm2" location="interface/frontend.wsdl"/>
+  <bpel2:property name="customerId" type="xsd:string"/>
+  <bpel2:propertyAlias propertyName="tns:customerId" messageType="atm:logOnRequest" part="customerName"/>
+  <bpel2:propertyAlias propertyName="tns:customerId" messageType="atm:balanceChange" part="customerName"/>
+  <bpel2:propertyAlias propertyName="tns:customerId" messageType="acc:customerMessage" part="customerName"/>
+  <bpel2:propertyAlias propertyName="tns:customerId" messageType="acc:accountOperation" part="body">
+    <bpel2:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">/body/customerName</bpel2:query>
+  </bpel2:propertyAlias>
+  <bpel2:property name="ticketId" type="xsd:int"/>
+  <bpel2:propertyAlias propertyName="tns:ticketId" messageType="tic:ticketMessage" part="ticketNo"/>
+  <bpel2:propertyAlias propertyName="tns:ticketId" messageType="atm:logOnRequest" part="ticketNo"/>
+  <plt2:partnerLinkType name="Atm-Front">
+    <plt2:role name="FrontEnd" portType="atm:FrontEnd"/>
+  </plt2:partnerLinkType>
+  <plt2:partnerLinkType name="Front-Ticket">
+    <plt2:role name="TicketIssuer" portType="tic:TicketIssuer"/>
+  </plt2:partnerLinkType>
+  <plt2:partnerLinkType name="Front-Account">
+    <plt2:role name="AccountSystem" portType="acc:AccountSystem"/>
+  </plt2:partnerLinkType>
 </definitions>
\ No newline at end of file

Modified: branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/interface/account.wsdl
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/interface/account.wsdl	2007-06-19 14:28:49 UTC (rev 3631)
+++ branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/interface/account.wsdl	2007-06-19 14:36:05 UTC (rev 3632)
@@ -1,69 +1,43 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<definitions targetNamespace="urn:samples:account"
-  xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:samples:account"
-  xmlns:typ="urn:samples:account" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/
-      http://schemas.xmlsoap.org/wsdl/">
-
+<definitions targetNamespace="urn:samples:account" xmlns:tns="urn:samples:account" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:typ="urn:samples:account" xmlns="http://schemas.xmlsoap.org/wsdl/">
   <types>
-
-    <schema targetNamespace="urn:samples:account"
-      xmlns="http://www.w3.org/2001/XMLSchema">
-
+    <schema targetNamespace="urn:samples:account" xmlns="http://www.w3.org/2001/XMLSchema">
+      
       <!-- account data transfer type -->
       <complexType name="AccountOperation">
         <sequence>
-          <element name="customerName" type="xsd:string" />
-          <element name="amount" type="xsd:double" />
+          <element name="customerName" type="xsd:string"/>
+          <element name="amount" type="xsd:double"/>
         </sequence>
       </complexType>
-
+      
     </schema>
-
   </types>
-
-  <!-- customer name wrapper -->
-  <message name="customerMessage">
-    <part name="customerName" type="xsd:string" />
-  </message>
-
-  <!-- access check response -->
   <message name="accessMessage">
-    <part name="granted" type="xsd:boolean" />
+    <part name="granted" type="xsd:boolean"/>
   </message>
-
-  <!-- account balance wrapper -->
-  <message name="balanceMessage">
-    <part name="balance" type="xsd:double" />
+  <message name="customerMessage">
+    <part name="customerName" type="xsd:string"/>
   </message>
-
-  <!-- account operation request -->
   <message name="accountOperation">
-    <part name="body" type="typ:AccountOperation" />
+    <part name="body" type="tns:AccountOperation"/>
   </message>
-
-  <!-- published account functions -->
+  <message name="balanceMessage">
+    <part name="balance" type="xsd:double"/>
+  </message>
   <portType name="AccountSystem">
-
-    <!-- tell whether a customer has an active account -->
     <operation name="checkAccess">
-      <input message="tns:customerMessage" />
-      <output message="tns:accessMessage" />
+      <input message="tns:customerMessage"/>
+      <output message="tns:accessMessage"/>
     </operation>
-
-    <!-- retrieve the balance of an account -->
     <operation name="queryBalance">
-      <input message="tns:customerMessage" />
-      <output message="tns:balanceMessage" />
+      <input message="tns:customerMessage"/>
+      <output message="tns:balanceMessage"/>
     </operation>
-
-    <!-- increase/decrease the balance of an account -->
     <operation name="updateBalance">
-      <input message="tns:accountOperation" />
-      <output message="tns:balanceMessage" />
+      <input message="tns:accountOperation"/>
+      <output message="tns:balanceMessage"/>
     </operation>
-
   </portType>
-
 </definitions>
\ No newline at end of file

Modified: branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/interface/frontend.wsdl
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/interface/frontend.wsdl	2007-06-19 14:28:49 UTC (rev 3631)
+++ branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/interface/frontend.wsdl	2007-06-19 14:36:05 UTC (rev 3632)
@@ -1,122 +1,89 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<definitions targetNamespace="urn:samples:frontend"
-  xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:samples:frontend"
-  xmlns:typ="urn:samples:frontend" xmlns:tic="urn:samples:ticket"
-  xmlns:acc="urn:samples:account" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/
-      http://schemas.xmlsoap.org/wsdl/">
-
-  <import namespace="urn:samples:ticket" location="ticket.wsdl" />
-  <import namespace="urn:samples:account" location="account.wsdl" />
-
+<definitions targetNamespace="urn:samples:atm2" xmlns:tns="urn:samples:atm2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:acc="urn:samples:account"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:typ="urn:samples:atm2" xmlns:tic="urn:samples:ticket" xmlns="http://schemas.xmlsoap.org/wsdl/">
+  <import namespace="urn:samples:account" location="account.wsdl"/>
+  <import namespace="urn:samples:ticket" location="ticket.wsdl"/>
   <types>
-
-    <schema targetNamespace="urn:samples:frontend"
-      xmlns="http://www.w3.org/2001/XMLSchema">
-
+    <schema targetNamespace="urn:samples:atm2" xmlns="http://www.w3.org/2001/XMLSchema">
+      
       <complexType name="UnauthorizedAccess">
         <sequence>
-          <element name="customerName" type="xsd:string" />
+          <element name="customerName" type="xsd:string"/>
         </sequence>
       </complexType>
-
-      <element name="unauthorizedAccess" type="typ:UnauthorizedAccess" />
-
+      
+      <element name="unauthorizedAccess" type="typ:UnauthorizedAccess"/>
+      
       <complexType name="InsufficientFunds">
         <sequence>
-          <element name="customerName" type="xsd:string" />
-          <element name="amount" type="xsd:double" />
+          <element name="customerName" type="xsd:string"/>
+          <element name="amount" type="xsd:double"/>
         </sequence>
       </complexType>
-
-      <element name="insufficientFunds" type="typ:InsufficientFunds" />
-
+      
+      <element name="insufficientFunds" type="typ:InsufficientFunds"/>
+      
     </schema>
-
   </types>
-
-  <message name="connectRequest" />
-
-  <message name="logOnRequest">
-    <part name="ticketNo" type="xsd:int" />
-    <part name="customerName" type="xsd:string" />
+  <message name="unauthorizedAccess">
+    <part name="detail" element="tns:unauthorizedAccess"/>
   </message>
-
-  <message name="logOnResponse" />
-
+  <message name="connectRequest">
+  </message>
+  <message name="mymessage">
+    <part name="body" type="xsd:string"/>
+  </message>
   <message name="statusResponse">
-    <part name="status" type="xsd:string" />
+    <part name="status" type="xsd:string"/>
   </message>
-
   <message name="balanceChange">
-    <part name="customerName" type="xsd:string" />
-    <part name="amount" type="xsd:double" />
+    <part name="customerName" type="xsd:string"/>
+    <part name="amount" type="xsd:double"/>
   </message>
-
-  <message name="unauthorizedAccess">
-    <part name="detail" element="typ:unauthorizedAccess" />
+  <message name="logOnRequest">
+    <part name="ticketNo" type="xsd:int"/>
+    <part name="customerName" type="xsd:string"/>
   </message>
-
   <message name="insufficientFunds">
-    <part name="detail" element="typ:insufficientFunds" />
+    <part name="detail" element="tns:insufficientFunds"/>
   </message>
-
-  <message name="mymessage">
-    <part name="body" type="xsd:string" />
+  <message name="logOnResponse">
   </message>
-
-  <!-- bank functions available to ATMs -->
   <portType name="FrontEnd">
-
-    <!-- initiate bank connection -->
     <operation name="connect">
-      <input message="tns:connectRequest" />
-      <output message="tic:ticketMessage" />
+      <input message="tns:connectRequest"/>
+      <output message="tic:ticketMessage"/>
     </operation>
-
-    <!-- terminate bank connection -->
     <operation name="disconnect">
-      <input message="tic:ticketMessage" />
+      <input message="tic:ticketMessage"/>
     </operation>
-
-    <!-- retrieve bank connection status -->
     <operation name="status">
-      <input message="tic:ticketMessage" />
-      <output message="tns:statusResponse" />
+      <input message="tic:ticketMessage"/>
+      <output message="tns:statusResponse"/>
     </operation>
-
-    <!-- initiate customer session -->
     <operation name="logOn">
-      <input message="tns:logOnRequest" />
-      <output message="tns:logOnResponse" />
-      <fault name="unauthorizedAccess" message="tns:unauthorizedAccess" />
+      <input message="tns:logOnRequest"/>
+      <output message="tns:logOnResponse"/>
+      <fault name="unauthorizedAccess" message="tns:unauthorizedAccess"/>
     </operation>
-
-    <!-- terminate customer session -->
     <operation name="logOff">
-      <input message="acc:customerMessage" />
+      <input message="acc:customerMessage"/>
     </operation>
-
-    <!-- retrieve account balance -->
     <operation name="getBalance">
-      <input message="acc:customerMessage" />
-      <output message="acc:balanceMessage" />
+      <input message="acc:customerMessage"/>
+      <output message="acc:balanceMessage"/>
     </operation>
-
-    <!-- increase account balance -->
     <operation name="deposit">
-      <input message="tns:balanceChange" />
-      <output message="acc:balanceMessage" />
+      <input message="tns:balanceChange"/>
+      <output message="acc:balanceMessage"/>
     </operation>
-
-    <!-- decrease account balance -->
     <operation name="withdraw">
-      <input message="tns:balanceChange" />
-      <output message="acc:balanceMessage" />
-      <fault name="insufficientFunds" message="tns:insufficientFunds" />
+      <input message="tns:balanceChange"/>
+      <output message="acc:balanceMessage"/>
+      <fault name="insufficientFunds" message="tns:insufficientFunds"/>
     </operation>
-
+    <operation name="myop">
+      <input message="tns:mymessage"/>
+    </operation>
   </portType>
-
 </definitions>
\ No newline at end of file

Modified: branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/interface/ticket.wsdl
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/interface/ticket.wsdl	2007-06-19 14:28:49 UTC (rev 3631)
+++ branches/jbossws-2.0/jbossws-core/src/test/resources/tools/jbws1553/interface/ticket.wsdl	2007-06-19 14:36:05 UTC (rev 3632)
@@ -1,28 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<definitions targetNamespace="urn:samples:ticket" xmlns:tns="urn:samples:ticket"
-  xmlns="http://schemas.xmlsoap.org/wsdl/"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/
-      http://schemas.xmlsoap.org/wsdl/">
-
-  <!-- ticket creation request -->
-  <message name="ticketRequest" />
-
-  <!-- ticket number wrapper -->
+<definitions targetNamespace="urn:samples:ticket" xmlns:tns="urn:samples:ticket" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/">
   <message name="ticketMessage">
-    <part name="ticketNo" type="xsd:int" />
+    <part name="ticketNo" type="xsd:int"/>
   </message>
-
-  <!-- interface to ticket issuer service -->
+  <message name="ticketRequest">
+  </message>
   <portType name="TicketIssuer">
-
-    <!-- generate a ticket number, distinct from previous calls -->
     <operation name="createTicket">
-      <input message="tns:ticketRequest" />
-      <output message="tns:ticketMessage" />
+      <input message="tns:ticketRequest"/>
+      <output message="tns:ticketMessage"/>
     </operation>
-
   </portType>
-
 </definitions>
\ No newline at end of file




More information about the jbossws-commits mailing list