You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yoko-commits@incubator.apache.org by en...@apache.org on 2006/08/04 10:17:43 UTC

svn commit: r428681 - in /incubator/yoko/trunk/tools/src: main/java/org/apache/yoko/tools/processors/idl/ test/java/org/apache/yoko/tools/processors/ test/resources/idl/

Author: enolan
Date: Fri Aug  4 03:17:40 2006
New Revision: 428681

URL: http://svn.apache.org/viewvc?rev=428681&view=rev
Log:
Yoko-115- applying matteo's patch to fix Generate input/output wsdl:message and xml schema element for IDL operations with no in/out parameters.

Added:
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/OperationVisitor.java   (with props)
    incubator/yoko/trunk/tools/src/test/resources/idl/Oneway.idl
    incubator/yoko/trunk/tools/src/test/resources/idl/expected_Oneway.wsdl   (with props)
Modified:
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessagePartVisitor.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessageVisitor.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ReturnParameterVisitor.java
    incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java
    incubator/yoko/trunk/tools/src/test/resources/idl/expected_Exception.wsdl
    incubator/yoko/trunk/tools/src/test/resources/idl/expected_HelloWorld.wsdl
    incubator/yoko/trunk/tools/src/test/resources/idl/expected_Primitives.wsdl
    incubator/yoko/trunk/tools/src/test/resources/idl/expected_Struct.wsdl

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessagePartVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessagePartVisitor.java?rev=428681&r1=428680&r2=428681&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessagePartVisitor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessagePartVisitor.java Fri Aug  4 03:17:40 2006
@@ -21,7 +21,6 @@
 
 import javax.wsdl.Definition;
 import javax.wsdl.Message;
-import javax.wsdl.Part;
 
 import javax.xml.namespace.QName;
 
@@ -41,6 +40,7 @@
     static final String IN_PARAMETER = "inparameter";
     static final String OUT_PARAMETER = "outparameter";
     static final String INOUT_PARAMETER = "inoutparameter";
+    static final String RETURN_PARAMETER = "return";
 
     Definition definition;
     Message inputMsg;
@@ -110,22 +110,22 @@
             AST typeNode = node.getFirstChild();
             String partName = getPartNameNode(typeNode).toString();
             ArgType param = createCorbaParam(partName, ModeType.IN);
-            Part input = createInputPart(partName, param, typeNode);
+            createInputParameter(partName, param, typeNode);
             break;
         }
         case IDLTokenTypes.LITERAL_inout: {
             AST typeNode = node.getFirstChild();
             String partName = getPartNameNode(typeNode).toString();
             ArgType param = createCorbaParam(partName, ModeType.INOUT);
-            Part input = createInputPart(partName, param, typeNode);
-            Part output = createOutputPart(partName, param, typeNode);
+            createInputParameter(partName, param, typeNode);
+            createOutputParameter(partName, param, typeNode);
             break;
         }
         case IDLTokenTypes.LITERAL_out: {
             AST typeNode = node.getFirstChild();
             String partName = getPartNameNode(typeNode).toString();
             ArgType param = createCorbaParam(partName, ModeType.OUT);
-            Part output = createOutputPart(partName, param, typeNode);
+            createOutputParameter(partName, param, typeNode);
             break;
         }
         case IDLTokenTypes.LITERAL_void: {
@@ -133,47 +133,25 @@
             break;
         }
         default: {
-            String partName = "return";
+            String partName = RETURN_PARAMETER;
             ArgType param = createCorbaReturn(partName);
-            Part part = createOutputPart(partName, param, node);
+            createOutputParameter(partName, param, node);
         }
         }
     }
 
-    private Part createInputPart(String partName, ArgType param, AST typeNode) {
-        Part part;
+    private void createInputParameter(String partName, ArgType param, AST typeNode) {
         QName element = inputMsg.getQName();
-        if (inputMsg.getParts().size() == 0) {
-            part = definition.createPart();
-            part.setName(IN_PARAMETER);
-            part.setElementName(element);
-            typesVisitor.addWrapper(element, inWrappingSequence);
-            inputMsg.addPart(part);
-        } else {
-            part = (Part) inputMsg.getParts().get(0);
-        }        
         inWrappedElement = typesVisitor.addElement(inWrappingSequence, element, partName);
         typesVisitor.setCurrentPart(inWrappedElement, partName, param);
         typesVisitor.visit(typeNode);
-        return part;
     }
 
-    private Part createOutputPart(String partName, ArgType param, AST typeNode) {
-        Part part;
+    private void createOutputParameter(String partName, ArgType param, AST typeNode) {
         QName element = outputMsg.getQName();
-        if (outputMsg.getParts().size() == 0) {
-            part = definition.createPart();
-            part.setName(OUT_PARAMETER);
-            part.setElementName(element);
-            typesVisitor.addWrapper(element, outWrappingSequence);
-            outputMsg.addPart(part);
-        } else {
-            part = (Part) outputMsg.getParts().get(0);
-        }
         outWrappedElement = typesVisitor.addElement(outWrappingSequence, element, partName);
         typesVisitor.setCurrentPart(outWrappedElement, partName, param);
         typesVisitor.visit(typeNode);
-        return part;
     }
 
     private ArgType createCorbaParam(String partName, ModeType mode) {

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessageVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessageVisitor.java?rev=428681&r1=428680&r2=428681&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessageVisitor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/MessageVisitor.java Fri Aug  4 03:17:40 2006
@@ -43,6 +43,10 @@
 
 public class MessageVisitor implements ASTVisitor {
 
+    static final String IN_PARAMETER = "inparameter";
+    static final String OUT_PARAMETER = "outparameter";
+    static final String INOUT_PARAMETER = "inoutparameter";
+
     Definition definition;
 
     Operation operation;
@@ -94,9 +98,6 @@
         while (node2 != null) {
             switch (node2.getType()) {
             case IDLTokenTypes.LITERAL_in: {
-                if (inputMessage == null) {
-                    inputMessage = createInputMessage();
-                }
                 if (partVisitor.getInputMessage() == null) {                
                     partVisitor.setInputMessage(inputMessage);
                     partVisitor.setCorbaOperation(corbaOperation);
@@ -105,16 +106,10 @@
                 break;
             }
             case IDLTokenTypes.LITERAL_inout: {
-                if (inputMessage == null) {
-                    inputMessage = createInputMessage();
-                }
                 if (partVisitor.getInputMessage() == null) {                
                     partVisitor.setInputMessage(inputMessage);
                     partVisitor.setCorbaOperation(corbaOperation);
                 }
-                if (outputMessage == null) {
-                    outputMessage = createOutputMessage();
-                }
                 if (partVisitor.getOutputMessage() == null) {               
                     partVisitor.setOutputMessage(outputMessage);
                     partVisitor.setCorbaOperation(corbaOperation);
@@ -123,9 +118,6 @@
                 break;
             }
             case IDLTokenTypes.LITERAL_out: {
-                if (outputMessage == null) {
-                    outputMessage = createOutputMessage();
-                }
                 if (partVisitor.getOutputMessage() == null) {               
                     partVisitor.setOutputMessage(outputMessage);
                     partVisitor.setCorbaOperation(corbaOperation);
@@ -148,9 +140,6 @@
                 break;
             }
             default: {
-                if (outputMessage == null) {
-                    outputMessage = createOutputMessage();
-                }
                 if (returnParameterVisitor.getOutputMessage() == null) {               
                     returnParameterVisitor.setOutputMessage(outputMessage);
                     returnParameterVisitor.setCorbaOperation(corbaOperation);
@@ -161,60 +150,91 @@
             node2 = getNextMessagePartNode(node2);
         }
         boolean emptyMessage = false;
-        if (inputMessage == null) {
-            inputMessage = createInputMessage();
-        }
         if (partVisitor.getInputMessage() == null) {
             partVisitor.setInputMessage(inputMessage);
             emptyMessage = true;
         }
-        if (outputMessage == null) {
-            outputMessage = createOutputMessage();
-        }
         if (partVisitor.getOutputMessage() == null) {               
             partVisitor.setOutputMessage(outputMessage);
             emptyMessage = true;
         }
+        if (returnParameterVisitor.getOutputMessage() == null) {
+            emptyMessage = true;
+        }
         if (emptyMessage) {
             //try to visit the part visitor & create a empty sequence complex type.
         }
 
     }
 
-    private Message createInputMessage() {
-        Input input = definition.createInput();
-        Message msg = definition.createMessage();
-        msg.setQName(new QName(definition.getTargetNamespace(), operation.getName()));
-        input.setMessage(msg);
-        String msgName = operation.getName() + "Request";
-        input.setName(msgName);
-        msg.setUndefined(false);
-        operation.setInput(input);
-        definition.addMessage(msg);
+    public void createInputMessage() {
+        // message
+        if (inputMessage == null) {
+            Input input = definition.createInput();
+            Message msg = definition.createMessage();
+            msg.setQName(new QName(definition.getTargetNamespace(), operation.getName()));
+            input.setMessage(msg);
+            String msgName = operation.getName() + "Request";
+            input.setName(msgName);
+            msg.setUndefined(false);
+            operation.setInput(input);
+            definition.addMessage(msg);
+            
+            BindingInput bindingInput = definition.createBindingInput();
+            bindingInput.setName(msgName);        
+            bindingOperation.setBindingInput(bindingInput);
+            
+            inputMessage = msg;
+        }
+        
+        // message - part
+        Part part;
+        QName element = inputMessage.getQName();
+        if (inputMessage.getParts().size() == 0) {
+            part = definition.createPart();
+            part.setName(IN_PARAMETER);
+            part.setElementName(element);
+            typesVisitor.addWrapper(element, inWrappingSequence);
+            inputMessage.addPart(part);
+        } else {
+            part = (Part) inputMessage.getParts().get(0);
+        }        
+
+    }
+
+    public void createOutputMessage() {
+        // message
+        if  (outputMessage == null) {
+            Output output = definition.createOutput();
+            Message msg = definition.createMessage();
+            msg.setQName(new QName(definition.getTargetNamespace(), operation.getName() + "Response"));
+            output.setMessage(msg);
+            String msgName = operation.getName() + "Response";
+            output.setName(msgName);
+            msg.setUndefined(false);
+            operation.setOutput(output);
+            definition.addMessage(msg);
+    
+            BindingOutput bindingOutput = definition.createBindingOutput();
+            bindingOutput.setName(msgName);
+            bindingOperation.setBindingOutput(bindingOutput);
+            
+            outputMessage = msg;
+        }
         
-        BindingInput bindingInput = definition.createBindingInput();
-        bindingInput.setName(msgName);        
-        bindingOperation.setBindingInput(bindingInput);
-
-        return msg;
-    }
-
-    private Message createOutputMessage() {
-        Output output = definition.createOutput();
-        Message msg = definition.createMessage();
-        msg.setQName(new QName(definition.getTargetNamespace(), operation.getName() + "Response"));
-        output.setMessage(msg);
-        String msgName = operation.getName() + "Response";
-        output.setName(msgName);
-        msg.setUndefined(false);
-        operation.setOutput(output);
-        definition.addMessage(msg);
-
-        BindingOutput bindingOutput = definition.createBindingOutput();
-        bindingOutput.setName(msgName);
-        bindingOperation.setBindingOutput(bindingOutput);
+        // message - part
+        Part part;
+        QName element = outputMessage.getQName();
+        if (outputMessage.getParts().size() == 0) {
+            part = definition.createPart();
+            part.setName(OUT_PARAMETER);
+            part.setElementName(element);
+            typesVisitor.addWrapper(element, outWrappingSequence);
+            outputMessage.addPart(part);
+        } else {
+            part = (Part) outputMessage.getParts().get(0);
+        }
 
-        return msg;
     }
     
     private void createFaultMessage(AST node) {

Added: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/OperationVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/OperationVisitor.java?rev=428681&view=auto
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/OperationVisitor.java (added)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/OperationVisitor.java Fri Aug  4 03:17:40 2006
@@ -0,0 +1,95 @@
+/**
+ * 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.yoko.tools.processors.idl;
+
+import javax.wsdl.Binding;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.Definition;
+import javax.wsdl.Operation;
+import javax.wsdl.PortType;
+import javax.wsdl.WSDLException;
+import javax.wsdl.extensions.ExtensionRegistry;
+
+import antlr.ASTVisitor;
+import antlr.collections.AST;
+
+import org.apache.schemas.yoko.bindings.corba.OperationType;
+
+import org.apache.yoko.tools.common.CORBAConstants;
+
+public class OperationVisitor implements ASTVisitor {
+
+    private WSDLASTVisitor wsdlASTVisitor;
+    private Definition definition;
+    private ExtensionRegistry extReg;
+    private PortType portType;
+    private Binding binding;
+    
+    public OperationVisitor(WSDLASTVisitor visitor,
+                            PortType wsdlPortType,
+                            Binding wsdlBinding) {
+        wsdlASTVisitor = visitor;
+        definition = visitor.getDefinition();
+        extReg = definition.getExtensionRegistry();
+        portType = wsdlPortType;
+        binding = wsdlBinding;
+    }
+    
+    public void visit(AST node) {
+        MessageVisitor msgVisitor = new MessageVisitor(wsdlASTVisitor);
+        Operation op = definition.createOperation();
+        op.setName(node.toString());
+        op.setUndefined(false);
+        portType.addOperation(op);
+        BindingOperation bindingOperation = createBindingOperation(binding, op);
+        msgVisitor.setOperation(op);
+        msgVisitor.setBindingOperation(bindingOperation);
+        AST node2 = node.getFirstChild();
+        if (node2 != null && node2.getType() == IDLTokenTypes.LITERAL_oneway) {
+            // oneway operations map to operations with input message
+            msgVisitor.createInputMessage();
+        } else {
+            // normal operations map to request-response operations
+            // with input and output messages
+            msgVisitor.createInputMessage();
+            msgVisitor.createOutputMessage();
+        }
+        msgVisitor.visit(node);
+        node = node.getNextSibling();
+    }
+
+    private BindingOperation createBindingOperation(Binding wsdlBinding, Operation op) {
+        BindingOperation bindingOperation = definition.createBindingOperation();
+        OperationType operationType = null;
+        try {
+            operationType = (OperationType)extReg.createExtension(BindingOperation.class,
+                                                                  CORBAConstants.NE_CORBA_OPERATION);
+        } catch (WSDLException ex) {
+            throw new RuntimeException(ex);
+        }
+        operationType.setName(op.getName());
+        bindingOperation.addExtensibilityElement(operationType);
+        bindingOperation.setOperation(op);
+        bindingOperation.setName(op.getName());
+        binding.addBindingOperation(bindingOperation);
+        return bindingOperation;
+    }
+
+}

Propchange: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/OperationVisitor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java?rev=428681&r1=428680&r2=428681&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java Fri Aug  4 03:17:40 2006
@@ -23,9 +23,7 @@
 import java.util.Map;
 
 import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
 import javax.wsdl.Definition;
-import javax.wsdl.Operation;
 import javax.wsdl.PortType;
 import javax.wsdl.WSDLException;
 import javax.wsdl.extensions.ExtensionRegistry;
@@ -36,7 +34,6 @@
 import antlr.collections.AST;
 
 import org.apache.schemas.yoko.bindings.corba.BindingType;
-import org.apache.schemas.yoko.bindings.corba.OperationType;
 
 import org.apache.yoko.tools.common.CORBAConstants;
 
@@ -83,26 +80,16 @@
                 typesVisitor.visit(node2);
                 break;
             default:
-                visitOperation(binding, node2);
+                OperationVisitor operationVisitor = new OperationVisitor(wsdlASTVisitor,
+                                                                         portType,
+                                                                         binding);
+                operationVisitor.visit(node2);     
                 break;
             }
             node2 = node2.getNextSibling();
         }
     }
 
-    public void visitOperation(Binding binding, AST node) {
-        MessageVisitor msgVisitor = new MessageVisitor(wsdlASTVisitor);
-        Operation op = definition.createOperation();
-        op.setName(node.toString());
-        op.setUndefined(false);
-        portType.addOperation(op);
-        BindingOperation bindingOperation = createBindingOperation(binding, op);
-        msgVisitor.setOperation(op);
-        msgVisitor.setBindingOperation(bindingOperation);
-        msgVisitor.visit(node);
-        node = node.getNextSibling();
-    }
-
     public Binding createBinding() {
         String bname = portType.getQName().getLocalPart() + "CORBABinding";
         QName bqname = new QName(definition.getTargetNamespace(),
@@ -129,23 +116,6 @@
         binding.setUndefined(false);
         definition.addBinding(binding);
         return binding;
-    }
-
-    public BindingOperation createBindingOperation(Binding binding, Operation op) {
-        BindingOperation bindingOperation = definition.createBindingOperation();
-        OperationType operationType = null;
-        try {
-            operationType = (OperationType)extReg.createExtension(BindingOperation.class,
-                                                                  CORBAConstants.NE_CORBA_OPERATION);
-        } catch (WSDLException ex) {
-            throw new RuntimeException(ex);
-        }
-        operationType.setName(op.getName());
-        bindingOperation.addExtensibilityElement(operationType);
-        bindingOperation.setOperation(op);
-        bindingOperation.setName(op.getName());
-        binding.addBindingOperation(bindingOperation);
-        return bindingOperation;
     }
 
     private boolean queryBinding(QName bqname) {

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ReturnParameterVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ReturnParameterVisitor.java?rev=428681&r1=428680&r2=428681&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ReturnParameterVisitor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ReturnParameterVisitor.java Fri Aug  4 03:17:40 2006
@@ -21,7 +21,6 @@
 
 import javax.wsdl.Definition;
 import javax.wsdl.Message;
-import javax.wsdl.Part;
 
 import javax.xml.namespace.QName;
 
@@ -66,28 +65,17 @@
         corbaOperation = op;
     }
 
-    private Part createOutputPart(String partName, ArgType param, AST typeNode) {
-        Part part;
+    private void createOutputParameter(String partName, ArgType param, AST typeNode) {
         QName element = outputMsg.getQName();
-        if (outputMsg.getParts().size() == 0) {
-            part = definition.createPart();
-            part.setName(OUT_PARAMETER);
-            part.setElementName(element);
-            typesVisitor.addWrapper(element, outWrappingSequence);
-            outputMsg.addPart(part);
-        } else {
-            part = (Part) outputMsg.getParts().get(0);
-        }
         outWrappedElement = typesVisitor.addElement(outWrappingSequence, element, partName);
         typesVisitor.setCurrentPart(outWrappedElement, partName, param);
         typesVisitor.visit(typeNode);
-        return part;
     }
    
     public void visit(AST node) {
         String partName = RETURN_PARAMETER;
         ArgType param = createCorbaReturn(partName);
-        createOutputPart(partName, param, node);        
+        createOutputParameter(partName, param, node);        
     }
     
     private ArgType createCorbaReturn(String partName) {

Modified: incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java?rev=428681&r1=428680&r2=428681&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java (original)
+++ incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java Fri Aug  4 03:17:40 2006
@@ -142,4 +142,8 @@
         testWSDLGeneration("/idl/Struct.idl", "/idl/expected_Struct.wsdl");
     }
 
+    public void testOnewayGeneration() throws Exception {
+        testWSDLGeneration("/idl/Oneway.idl", "/idl/expected_Oneway.wsdl");
+    }
+
 }

Added: incubator/yoko/trunk/tools/src/test/resources/idl/Oneway.idl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idl/Oneway.idl?rev=428681&view=auto
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idl/Oneway.idl (added)
+++ incubator/yoko/trunk/tools/src/test/resources/idl/Oneway.idl Fri Aug  4 03:17:40 2006
@@ -0,0 +1,16 @@
+interface OperationTest {
+
+	oneway void onewayOperation    ();
+	oneway void onewayInOperation  (in string inString);
+	oneway void onewayInInOperation(in string inString1, in string inString2);
+
+	void voidInOperation   (in    long inLong);
+	void voidOutOperation  (out   long outLong);
+	void voidInOutOperation(inout long inOutLong);
+
+	short shortInOperation   (in    short inShort);
+	short shortOutOperation  (out   short outShort);
+	short shortInOutOperation(inout short inOutShort);
+	short shortOperation     ();
+
+};

Modified: incubator/yoko/trunk/tools/src/test/resources/idl/expected_Exception.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idl/expected_Exception.wsdl?rev=428681&r1=428680&r2=428681&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idl/expected_Exception.wsdl (original)
+++ incubator/yoko/trunk/tools/src/test/resources/idl/expected_Exception.wsdl Fri Aug  4 03:17:40 2006
@@ -36,22 +36,22 @@
           </xs:element>
         </xs:sequence>
       </xs:complexType>
-      <xs:element name="methodResponse">
+      <xs:element name="method">
         <xs:complexType>
           <xs:sequence>
-            <xs:element name="return" type="xs:string">
-            </xs:element>
-            <xs:element name="out_long" type="xs:int">
+            <xs:element name="in_string" type="xs:string">
             </xs:element>
             <xs:element name="inout_short" type="xs:short">
             </xs:element>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="method">
+      <xs:element name="methodResponse">
         <xs:complexType>
           <xs:sequence>
-            <xs:element name="in_string" type="xs:string">
+            <xs:element name="return" type="xs:string">
+            </xs:element>
+            <xs:element name="out_long" type="xs:int">
             </xs:element>
             <xs:element name="inout_short" type="xs:short">
             </xs:element>
@@ -66,6 +66,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="raiseExternalExceptionResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
     </xs:schema>
   </wsdl:types>
   <wsdl:message name="LongException">
@@ -84,6 +90,7 @@
     <wsdl:part name="exception" element="tns:EmptyException"/>
   </wsdl:message>
   <wsdl:message name="raiseExternalExceptionResponse">
+    <wsdl:part name="outparameter" element="tns:raiseExternalExceptionResponse"/>
   </wsdl:message>
   <wsdl:message name="raiseExternalException">
     <wsdl:part name="inparameter" element="tns:raiseExternalException"/>

Modified: incubator/yoko/trunk/tools/src/test/resources/idl/expected_HelloWorld.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idl/expected_HelloWorld.wsdl?rev=428681&r1=428680&r2=428681&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idl/expected_HelloWorld.wsdl (original)
+++ incubator/yoko/trunk/tools/src/test/resources/idl/expected_HelloWorld.wsdl Fri Aug  4 03:17:40 2006
@@ -3,18 +3,18 @@
   <corba:typeMapping targetNamespace="http://schemas.apache.org/yoko/idl/HelloWorld/typemap" />
   <wsdl:types>
     <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://schemas.apache.org/yoko/idl/HelloWorld" xmlns="http://schemas.apache.org/yoko/idl/HelloWorld" xmlns:xs="http://www.w3.org/2001/XMLSchema">
-      <xs:element name="greetMeResponse">
+      <xs:element name="greetMe">
         <xs:complexType>
           <xs:sequence>
-            <xs:element name="return" type="xs:string">
+            <xs:element name="return_message" type="xs:string">
             </xs:element>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="greetMe">
+      <xs:element name="greetMeResponse">
         <xs:complexType>
           <xs:sequence>
-            <xs:element name="return_message" type="xs:string">
+            <xs:element name="return" type="xs:string">
             </xs:element>
           </xs:sequence>
         </xs:complexType>

Added: incubator/yoko/trunk/tools/src/test/resources/idl/expected_Oneway.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idl/expected_Oneway.wsdl?rev=428681&view=auto
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idl/expected_Oneway.wsdl (added)
+++ incubator/yoko/trunk/tools/src/test/resources/idl/expected_Oneway.wsdl Fri Aug  4 03:17:40 2006
@@ -0,0 +1,324 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://schemas.apache.org/yoko/idl/Oneway" xmlns:tns="http://schemas.apache.org/yoko/idl/Oneway" xmlns:corba="http://schemas.apache.org/yoko/bindings/corba" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <corba:typeMapping targetNamespace="http://schemas.apache.org/yoko/idl/Oneway/typemap" />
+  <wsdl:types>
+    <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://schemas.apache.org/yoko/idl/Oneway" xmlns="http://schemas.apache.org/yoko/idl/Oneway" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+      <xs:element name="onewayOperation">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="onewayInOperation">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="inString" type="xs:string">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="onewayInInOperation">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="inString1" type="xs:string">
+            </xs:element>
+            <xs:element name="inString2" type="xs:string">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="voidInOperation">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="inLong" type="xs:int">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="voidInOperationResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="voidOutOperation">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="voidOutOperationResponse">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="outLong" type="xs:int">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="voidInOutOperation">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="inOutLong" type="xs:int">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="voidInOutOperationResponse">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="inOutLong" type="xs:int">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="shortInOperation">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="inShort" type="xs:short">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="shortInOperationResponse">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="return" type="xs:short">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="shortOutOperation">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="shortOutOperationResponse">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="return" type="xs:short">
+            </xs:element>
+            <xs:element name="outShort" type="xs:short">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="shortInOutOperation">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="inOutShort" type="xs:short">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="shortInOutOperationResponse">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="return" type="xs:short">
+            </xs:element>
+            <xs:element name="inOutShort" type="xs:short">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="shortOperation">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="shortOperationResponse">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="return" type="xs:short">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:schema>
+  </wsdl:types>
+  <wsdl:message name="shortInOutOperationResponse">
+    <wsdl:part name="outparameter" element="tns:shortInOutOperationResponse"/>
+  </wsdl:message>
+  <wsdl:message name="onewayInOperation">
+    <wsdl:part name="inparameter" element="tns:onewayInOperation"/>
+  </wsdl:message>
+  <wsdl:message name="shortOutOperation">
+    <wsdl:part name="inparameter" element="tns:shortOutOperation"/>
+  </wsdl:message>
+  <wsdl:message name="voidInOperation">
+    <wsdl:part name="inparameter" element="tns:voidInOperation"/>
+  </wsdl:message>
+  <wsdl:message name="shortOperationResponse">
+    <wsdl:part name="outparameter" element="tns:shortOperationResponse"/>
+  </wsdl:message>
+  <wsdl:message name="shortOperation">
+    <wsdl:part name="inparameter" element="tns:shortOperation"/>
+  </wsdl:message>
+  <wsdl:message name="voidOutOperationResponse">
+    <wsdl:part name="outparameter" element="tns:voidOutOperationResponse"/>
+  </wsdl:message>
+  <wsdl:message name="onewayOperation">
+    <wsdl:part name="inparameter" element="tns:onewayOperation"/>
+  </wsdl:message>
+  <wsdl:message name="shortInOperationResponse">
+    <wsdl:part name="outparameter" element="tns:shortInOperationResponse"/>
+  </wsdl:message>
+  <wsdl:message name="voidInOutOperationResponse">
+    <wsdl:part name="outparameter" element="tns:voidInOutOperationResponse"/>
+  </wsdl:message>
+  <wsdl:message name="voidInOperationResponse">
+    <wsdl:part name="outparameter" element="tns:voidInOperationResponse"/>
+  </wsdl:message>
+  <wsdl:message name="onewayInInOperation">
+    <wsdl:part name="inparameter" element="tns:onewayInInOperation"/>
+  </wsdl:message>
+  <wsdl:message name="shortInOperation">
+    <wsdl:part name="inparameter" element="tns:shortInOperation"/>
+  </wsdl:message>
+  <wsdl:message name="shortOutOperationResponse">
+    <wsdl:part name="outparameter" element="tns:shortOutOperationResponse"/>
+  </wsdl:message>
+  <wsdl:message name="shortInOutOperation">
+    <wsdl:part name="inparameter" element="tns:shortInOutOperation"/>
+  </wsdl:message>
+  <wsdl:message name="voidOutOperation">
+    <wsdl:part name="inparameter" element="tns:voidOutOperation"/>
+  </wsdl:message>
+  <wsdl:message name="voidInOutOperation">
+    <wsdl:part name="inparameter" element="tns:voidInOutOperation"/>
+  </wsdl:message>
+  <wsdl:portType name="OperationTest">
+    <wsdl:operation name="onewayOperation">
+      <wsdl:input name="onewayOperationRequest" message="tns:onewayOperation"/>
+    </wsdl:operation>
+    <wsdl:operation name="onewayInOperation">
+      <wsdl:input name="onewayInOperationRequest" message="tns:onewayInOperation"/>
+    </wsdl:operation>
+    <wsdl:operation name="onewayInInOperation">
+      <wsdl:input name="onewayInInOperationRequest" message="tns:onewayInInOperation"/>
+    </wsdl:operation>
+    <wsdl:operation name="voidInOperation">
+      <wsdl:input name="voidInOperationRequest" message="tns:voidInOperation"/>
+      <wsdl:output name="voidInOperationResponse" message="tns:voidInOperationResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="voidOutOperation">
+      <wsdl:input name="voidOutOperationRequest" message="tns:voidOutOperation"/>
+      <wsdl:output name="voidOutOperationResponse" message="tns:voidOutOperationResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="voidInOutOperation">
+      <wsdl:input name="voidInOutOperationRequest" message="tns:voidInOutOperation"/>
+      <wsdl:output name="voidInOutOperationResponse" message="tns:voidInOutOperationResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="shortInOperation">
+      <wsdl:input name="shortInOperationRequest" message="tns:shortInOperation"/>
+      <wsdl:output name="shortInOperationResponse" message="tns:shortInOperationResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="shortOutOperation">
+      <wsdl:input name="shortOutOperationRequest" message="tns:shortOutOperation"/>
+      <wsdl:output name="shortOutOperationResponse" message="tns:shortOutOperationResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="shortInOutOperation">
+      <wsdl:input name="shortInOutOperationRequest" message="tns:shortInOutOperation"/>
+      <wsdl:output name="shortInOutOperationResponse" message="tns:shortInOutOperationResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="shortOperation">
+      <wsdl:input name="shortOperationRequest" message="tns:shortOperation"/>
+      <wsdl:output name="shortOperationResponse" message="tns:shortOperationResponse"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="OperationTestCORBABinding" type="tns:OperationTest">
+    <corba:binding repositoryID="IDL:OperationTest:1.0" />
+    <wsdl:operation name="onewayOperation">
+      <corba:operation name="onewayOperation" />
+      <wsdl:input name="onewayOperationRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="onewayInOperation">
+      <corba:operation name="onewayInOperation">
+        <corba:param mode="in" name="inString" idltype="corba:string" />
+      </corba:operation>
+      <wsdl:input name="onewayInOperationRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="onewayInInOperation">
+      <corba:operation name="onewayInInOperation">
+        <corba:param mode="in" name="inString1" idltype="corba:string" />
+        <corba:param mode="in" name="inString2" idltype="corba:string" />
+      </corba:operation>
+      <wsdl:input name="onewayInInOperationRequest">
+      </wsdl:input>
+    </wsdl:operation>
+    <wsdl:operation name="voidInOperation">
+      <corba:operation name="voidInOperation">
+        <corba:param mode="in" name="inLong" idltype="corba:long" />
+      </corba:operation>
+      <wsdl:input name="voidInOperationRequest">
+      </wsdl:input>
+      <wsdl:output name="voidInOperationResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="voidOutOperation">
+      <corba:operation name="voidOutOperation">
+        <corba:param mode="out" name="outLong" idltype="corba:long" />
+      </corba:operation>
+      <wsdl:input name="voidOutOperationRequest">
+      </wsdl:input>
+      <wsdl:output name="voidOutOperationResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="voidInOutOperation">
+      <corba:operation name="voidInOutOperation">
+        <corba:param mode="inout" name="inOutLong" idltype="corba:long" />
+      </corba:operation>
+      <wsdl:input name="voidInOutOperationRequest">
+      </wsdl:input>
+      <wsdl:output name="voidInOutOperationResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="shortInOperation">
+      <corba:operation name="shortInOperation">
+        <corba:param mode="in" name="inShort" idltype="corba:short" />
+        <corba:return name="return" idltype="corba:short" />
+      </corba:operation>
+      <wsdl:input name="shortInOperationRequest">
+      </wsdl:input>
+      <wsdl:output name="shortInOperationResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="shortOutOperation">
+      <corba:operation name="shortOutOperation">
+        <corba:param mode="out" name="outShort" idltype="corba:short" />
+        <corba:return name="return" idltype="corba:short" />
+      </corba:operation>
+      <wsdl:input name="shortOutOperationRequest">
+      </wsdl:input>
+      <wsdl:output name="shortOutOperationResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="shortInOutOperation">
+      <corba:operation name="shortInOutOperation">
+        <corba:param mode="inout" name="inOutShort" idltype="corba:short" />
+        <corba:return name="return" idltype="corba:short" />
+      </corba:operation>
+      <wsdl:input name="shortInOutOperationRequest">
+      </wsdl:input>
+      <wsdl:output name="shortInOutOperationResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="shortOperation">
+      <corba:operation name="shortOperation">
+        <corba:return name="return" idltype="corba:short" />
+      </corba:operation>
+      <wsdl:input name="shortOperationRequest">
+      </wsdl:input>
+      <wsdl:output name="shortOperationResponse">
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="OperationTestCORBAService">
+    <wsdl:port name="OperationTestCORBAPort" binding="tns:OperationTestCORBABinding">
+      <corba:address location="IOR:" />
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>

Propchange: incubator/yoko/trunk/tools/src/test/resources/idl/expected_Oneway.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/yoko/trunk/tools/src/test/resources/idl/expected_Oneway.wsdl
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: incubator/yoko/trunk/tools/src/test/resources/idl/expected_Primitives.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idl/expected_Primitives.wsdl?rev=428681&r1=428680&r2=428681&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idl/expected_Primitives.wsdl (original)
+++ incubator/yoko/trunk/tools/src/test/resources/idl/expected_Primitives.wsdl Fri Aug  4 03:17:40 2006
@@ -11,6 +11,12 @@
           </xs:element>
         </xs:sequence>
       </xs:complexType>
+      <xs:element name="getShort">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getShortResponse">
         <xs:complexType>
           <xs:sequence>
@@ -27,6 +33,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setShortResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetShort">
         <xs:complexType>
           <xs:sequence>
@@ -43,6 +55,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="getUnsignedShort">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getUnsignedShortResponse">
         <xs:complexType>
           <xs:sequence>
@@ -59,6 +77,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setUnsignedShortResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetUnsignedShort">
         <xs:complexType>
           <xs:sequence>
@@ -75,6 +99,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="getLong">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getLongResponse">
         <xs:complexType>
           <xs:sequence>
@@ -91,6 +121,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setLongResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetLong">
         <xs:complexType>
           <xs:sequence>
@@ -107,6 +143,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="getUnsignedLong">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getUnsignedLongResponse">
         <xs:complexType>
           <xs:sequence>
@@ -123,6 +165,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setUnsignedLongResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetUnsignedLong">
         <xs:complexType>
           <xs:sequence>
@@ -139,6 +187,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="getLongLong">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getLongLongResponse">
         <xs:complexType>
           <xs:sequence>
@@ -155,6 +209,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setLongLongResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetLongLong">
         <xs:complexType>
           <xs:sequence>
@@ -171,6 +231,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="getUnsignedLongLong">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getUnsignedLongLongResponse">
         <xs:complexType>
           <xs:sequence>
@@ -187,6 +253,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setUnsignedLongLongResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetUnsignedLongLong">
         <xs:complexType>
           <xs:sequence>
@@ -203,6 +275,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="getFloat">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getFloatResponse">
         <xs:complexType>
           <xs:sequence>
@@ -219,6 +297,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setFloatResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetFloat">
         <xs:complexType>
           <xs:sequence>
@@ -235,6 +319,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="getDouble">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getDoubleResponse">
         <xs:complexType>
           <xs:sequence>
@@ -251,6 +341,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setDoubleResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetDouble">
         <xs:complexType>
           <xs:sequence>
@@ -267,6 +363,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="getChar">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getCharResponse">
         <xs:complexType>
           <xs:sequence>
@@ -283,6 +385,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setCharResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetChar">
         <xs:complexType>
           <xs:sequence>
@@ -299,6 +407,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="getWChar">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getWCharResponse">
         <xs:complexType>
           <xs:sequence>
@@ -315,6 +429,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setWCharResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetWChar">
         <xs:complexType>
           <xs:sequence>
@@ -331,6 +451,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="getString">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getStringResponse">
         <xs:complexType>
           <xs:sequence>
@@ -347,6 +473,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setStringResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetString">
         <xs:complexType>
           <xs:sequence>
@@ -363,6 +495,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="getWstring">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getWstringResponse">
         <xs:complexType>
           <xs:sequence>
@@ -379,6 +517,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setWstringResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetWstring">
         <xs:complexType>
           <xs:sequence>
@@ -395,6 +539,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="getBoolean">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getBooleanResponse">
         <xs:complexType>
           <xs:sequence>
@@ -411,6 +561,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setBooleanResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetBoolean">
         <xs:complexType>
           <xs:sequence>
@@ -427,6 +583,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="getOctet">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getOctetResponse">
         <xs:complexType>
           <xs:sequence>
@@ -443,6 +605,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setOctetResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetOctet">
         <xs:complexType>
           <xs:sequence>
@@ -459,6 +627,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="getStringArray">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getStringArrayResponse">
         <xs:complexType>
           <xs:sequence>
@@ -475,6 +649,12 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
+      <xs:element name="setStringArrayResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
       <xs:element name="getSetStringArray">
         <xs:complexType>
           <xs:sequence>
@@ -497,12 +677,14 @@
     <wsdl:part name="inparameter" element="tns:getSetWChar"/>
   </wsdl:message>
   <wsdl:message name="getLong">
-  </wsdl:message>
-  <wsdl:message name="getChar">
+    <wsdl:part name="inparameter" element="tns:getLong"/>
   </wsdl:message>
   <wsdl:message name="getSetUnsignedLong">
     <wsdl:part name="inparameter" element="tns:getSetUnsignedLong"/>
   </wsdl:message>
+  <wsdl:message name="getChar">
+    <wsdl:part name="inparameter" element="tns:getChar"/>
+  </wsdl:message>
   <wsdl:message name="getWCharResponse">
     <wsdl:part name="outparameter" element="tns:getWCharResponse"/>
   </wsdl:message>
@@ -513,6 +695,7 @@
     <wsdl:part name="outparameter" element="tns:getLongLongResponse"/>
   </wsdl:message>
   <wsdl:message name="getString">
+    <wsdl:part name="inparameter" element="tns:getString"/>
   </wsdl:message>
   <wsdl:message name="getSetCharResponse">
     <wsdl:part name="outparameter" element="tns:getSetCharResponse"/>
@@ -524,8 +707,10 @@
     <wsdl:part name="inparameter" element="tns:getSetShort"/>
   </wsdl:message>
   <wsdl:message name="getStringArray">
+    <wsdl:part name="inparameter" element="tns:getStringArray"/>
   </wsdl:message>
   <wsdl:message name="setWCharResponse">
+    <wsdl:part name="outparameter" element="tns:setWCharResponse"/>
   </wsdl:message>
   <wsdl:message name="getSetBoolean">
     <wsdl:part name="inparameter" element="tns:getSetBoolean"/>
@@ -536,16 +721,20 @@
   <wsdl:message name="getSetLongResponse">
     <wsdl:part name="outparameter" element="tns:getSetLongResponse"/>
   </wsdl:message>
-  <wsdl:message name="getBoolean">
-  </wsdl:message>
   <wsdl:message name="getBooleanResponse">
     <wsdl:part name="outparameter" element="tns:getBooleanResponse"/>
   </wsdl:message>
+  <wsdl:message name="getBoolean">
+    <wsdl:part name="inparameter" element="tns:getBoolean"/>
+  </wsdl:message>
   <wsdl:message name="getShort">
+    <wsdl:part name="inparameter" element="tns:getShort"/>
   </wsdl:message>
   <wsdl:message name="getUnsignedShort">
+    <wsdl:part name="inparameter" element="tns:getUnsignedShort"/>
   </wsdl:message>
   <wsdl:message name="getWstring">
+    <wsdl:part name="inparameter" element="tns:getWstring"/>
   </wsdl:message>
   <wsdl:message name="setShort">
     <wsdl:part name="inparameter" element="tns:setShort"/>
@@ -554,10 +743,13 @@
     <wsdl:part name="outparameter" element="tns:getWstringResponse"/>
   </wsdl:message>
   <wsdl:message name="setUnsignedLongLongResponse">
+    <wsdl:part name="outparameter" element="tns:setUnsignedLongLongResponse"/>
   </wsdl:message>
   <wsdl:message name="setShortResponse">
+    <wsdl:part name="outparameter" element="tns:setShortResponse"/>
   </wsdl:message>
   <wsdl:message name="setStringArrayResponse">
+    <wsdl:part name="outparameter" element="tns:setStringArrayResponse"/>
   </wsdl:message>
   <wsdl:message name="getSetWstringResponse">
     <wsdl:part name="outparameter" element="tns:getSetWstringResponse"/>
@@ -581,6 +773,7 @@
     <wsdl:part name="outparameter" element="tns:getFloatResponse"/>
   </wsdl:message>
   <wsdl:message name="getWChar">
+    <wsdl:part name="inparameter" element="tns:getWChar"/>
   </wsdl:message>
   <wsdl:message name="getUnsignedLongLongResponse">
     <wsdl:part name="outparameter" element="tns:getUnsignedLongLongResponse"/>
@@ -592,13 +785,16 @@
     <wsdl:part name="outparameter" element="tns:getSetLongLongResponse"/>
   </wsdl:message>
   <wsdl:message name="getFloat">
+    <wsdl:part name="inparameter" element="tns:getFloat"/>
   </wsdl:message>
   <wsdl:message name="getUnsignedLongLong">
+    <wsdl:part name="inparameter" element="tns:getUnsignedLongLong"/>
   </wsdl:message>
   <wsdl:message name="getSetUnsignedShort">
     <wsdl:part name="inparameter" element="tns:getSetUnsignedShort"/>
   </wsdl:message>
   <wsdl:message name="setBooleanResponse">
+    <wsdl:part name="outparameter" element="tns:setBooleanResponse"/>
   </wsdl:message>
   <wsdl:message name="setWChar">
     <wsdl:part name="inparameter" element="tns:setWChar"/>
@@ -616,18 +812,22 @@
     <wsdl:part name="inparameter" element="tns:setWstring"/>
   </wsdl:message>
   <wsdl:message name="getOctet">
+    <wsdl:part name="inparameter" element="tns:getOctet"/>
   </wsdl:message>
   <wsdl:message name="setChar">
     <wsdl:part name="inparameter" element="tns:setChar"/>
   </wsdl:message>
   <wsdl:message name="setUnsignedShortResponse">
+    <wsdl:part name="outparameter" element="tns:setUnsignedShortResponse"/>
   </wsdl:message>
   <wsdl:message name="getSetUnsignedLongLongResponse">
     <wsdl:part name="outparameter" element="tns:getSetUnsignedLongLongResponse"/>
   </wsdl:message>
   <wsdl:message name="setDoubleResponse">
+    <wsdl:part name="outparameter" element="tns:setDoubleResponse"/>
   </wsdl:message>
   <wsdl:message name="setStringResponse">
+    <wsdl:part name="outparameter" element="tns:setStringResponse"/>
   </wsdl:message>
   <wsdl:message name="getShortResponse">
     <wsdl:part name="outparameter" element="tns:getShortResponse"/>
@@ -642,11 +842,13 @@
     <wsdl:part name="outparameter" element="tns:getDoubleResponse"/>
   </wsdl:message>
   <wsdl:message name="getUnsignedLong">
+    <wsdl:part name="inparameter" element="tns:getUnsignedLong"/>
   </wsdl:message>
   <wsdl:message name="getSetChar">
     <wsdl:part name="inparameter" element="tns:getSetChar"/>
   </wsdl:message>
   <wsdl:message name="setUnsignedLongResponse">
+    <wsdl:part name="outparameter" element="tns:setUnsignedLongResponse"/>
   </wsdl:message>
   <wsdl:message name="getSetStringArrayResponse">
     <wsdl:part name="outparameter" element="tns:getSetStringArrayResponse"/>
@@ -691,6 +893,7 @@
     <wsdl:part name="outparameter" element="tns:getStringResponse"/>
   </wsdl:message>
   <wsdl:message name="setFloatResponse">
+    <wsdl:part name="outparameter" element="tns:setFloatResponse"/>
   </wsdl:message>
   <wsdl:message name="setFloat">
     <wsdl:part name="inparameter" element="tns:setFloat"/>
@@ -699,6 +902,7 @@
     <wsdl:part name="outparameter" element="tns:getSetFloatResponse"/>
   </wsdl:message>
   <wsdl:message name="getDouble">
+    <wsdl:part name="inparameter" element="tns:getDouble"/>
   </wsdl:message>
   <wsdl:message name="getSetStringArray">
     <wsdl:part name="inparameter" element="tns:getSetStringArray"/>
@@ -710,6 +914,7 @@
     <wsdl:part name="outparameter" element="tns:getSetUnsignedLongResponse"/>
   </wsdl:message>
   <wsdl:message name="setLongResponse">
+    <wsdl:part name="outparameter" element="tns:setLongResponse"/>
   </wsdl:message>
   <wsdl:message name="getStringArrayResponse">
     <wsdl:part name="outparameter" element="tns:getStringArrayResponse"/>
@@ -718,17 +923,22 @@
     <wsdl:part name="inparameter" element="tns:getSetWstring"/>
   </wsdl:message>
   <wsdl:message name="setCharResponse">
+    <wsdl:part name="outparameter" element="tns:setCharResponse"/>
   </wsdl:message>
   <wsdl:message name="getLongLong">
+    <wsdl:part name="inparameter" element="tns:getLongLong"/>
   </wsdl:message>
   <wsdl:message name="setDouble">
     <wsdl:part name="inparameter" element="tns:setDouble"/>
   </wsdl:message>
   <wsdl:message name="setOctetResponse">
+    <wsdl:part name="outparameter" element="tns:setOctetResponse"/>
   </wsdl:message>
   <wsdl:message name="setLongLongResponse">
+    <wsdl:part name="outparameter" element="tns:setLongLongResponse"/>
   </wsdl:message>
   <wsdl:message name="setWstringResponse">
+    <wsdl:part name="outparameter" element="tns:setWstringResponse"/>
   </wsdl:message>
   <wsdl:message name="setLongLong">
     <wsdl:part name="inparameter" element="tns:setLongLong"/>

Modified: incubator/yoko/trunk/tools/src/test/resources/idl/expected_Struct.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idl/expected_Struct.wsdl?rev=428681&r1=428680&r2=428681&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idl/expected_Struct.wsdl (original)
+++ incubator/yoko/trunk/tools/src/test/resources/idl/expected_Struct.wsdl Fri Aug  4 03:17:40 2006
@@ -68,18 +68,18 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="getCompensationResponse">
+      <xs:element name="getCompensation">
         <xs:complexType>
           <xs:sequence>
-            <xs:element name="return" type="Compensation">
+            <xs:element name="emp2" type="Employee">
             </xs:element>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="getCompensation">
+      <xs:element name="getCompensationResponse">
         <xs:complexType>
           <xs:sequence>
-            <xs:element name="emp2" type="Employee">
+            <xs:element name="return" type="Compensation">
             </xs:element>
           </xs:sequence>
         </xs:complexType>