[jboss-svn-commits] JBL Code SVN: r20301 - in labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product: services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jun 4 09:41:28 EDT 2008


Author: tfennelly
Date: 2008-06-04 09:41:28 -0400 (Wed, 04 Jun 2008)
New Revision: 20301

Added:
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/JBESB_1713_SoapUIClientServiceMBeanUnitTest.java
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_JBESB_1713_01.xml
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_JBESB_1713_02.xml
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/handdator.wsdl
Modified:
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/soap/OGNLUtils.java
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBeanUnitTest.java
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/orderprocessing/expected_01.xml
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/orderprocessing/expected_01_JBESB-1329.xml
Log:
http://jira.jboss.com/jira/browse/JBESB-1713
http://jira.jboss.com/jira/browse/JBESB-1791

Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/soap/OGNLUtils.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/soap/OGNLUtils.java	2008-06-04 13:20:15 UTC (rev 20300)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/soap/OGNLUtils.java	2008-06-04 13:41:28 UTC (rev 20301)
@@ -67,40 +67,46 @@
     }
 
     public static String getOGNLExpression(Element element, String nameSpace) {
-        StringBuffer ognlExpression = new StringBuffer();
-        Node parent = element.getParentNode();
-        boolean isInBody = false;
+        String preassignedOgnl = element.getAttributeNS(JBOSSESB_SOAP_NS, OGNL_ATTRIB);
 
-        ognlExpression.append(getOGNLToken(element));
+        if(preassignedOgnl != null && !preassignedOgnl.equals("")) {
+            return preassignedOgnl;
+        } else {
+            StringBuffer ognlExpression = new StringBuffer();
+            Node parent = element.getParentNode();
+            boolean isInBody = false;
 
-        while (parent != null && parent.getNodeType() == Node.ELEMENT_NODE) {
-            Element parentElement = (Element) parent;
-            String parentName = YADOMUtil.getName(parentElement);
+            ognlExpression.append(getOGNLToken(element));
 
-            if (parentName.equalsIgnoreCase("body") && checkParentNameSpace( parent.getNamespaceURI(), nameSpace ) ) {
-                isInBody = true;
-                break;
+            while (parent != null && parent.getNodeType() == Node.ELEMENT_NODE) {
+                Element parentElement = (Element) parent;
+                String parentName = YADOMUtil.getName(parentElement);
+
+                if (parentName.equalsIgnoreCase("body") && checkParentNameSpace( parent.getNamespaceURI(), nameSpace ) ) {
+                    isInBody = true;
+                    break;
+                }
+
+                preassignedOgnl = parentElement.getAttributeNS(JBOSSESB_SOAP_NS, OGNL_ATTRIB);
+                if(preassignedOgnl != null && !preassignedOgnl.equals("")) {
+                    ognlExpression.insert(0, "." + preassignedOgnl);
+                    isInBody = true;
+                    break;
+                } else {
+                    ognlExpression.insert(0, getOGNLToken(parentElement));
+                }
+                parent = parent.getParentNode();
             }
 
-            String preassignedOgnl = parentElement.getAttributeNS(JBOSSESB_SOAP_NS, OGNL_ATTRIB);
-            if(preassignedOgnl != null && !preassignedOgnl.equals("")) {
-                ognlExpression.insert(0, "." + preassignedOgnl);
-                isInBody = true;
-                break;
-            } else {
-                ognlExpression.insert(0, getOGNLToken(parentElement));
+            if(!isInBody) {
+                return "";
             }
-            parent = parent.getParentNode();
-        }
 
-        if(!isInBody) {
-            return "";
+            // Remove the leading '.'
+            ognlExpression.deleteCharAt(0);
+
+            return ognlExpression.toString();
         }
-
-        // Remove the leading '.'
-        ognlExpression.deleteCharAt(0);
-
-        return ognlExpression.toString();
     }
 
     public static String getOGNLToken(Element element) {

Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java	2008-06-04 13:20:15 UTC (rev 20300)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java	2008-06-04 13:41:28 UTC (rev 20301)
@@ -38,6 +38,7 @@
 import org.milyn.resource.URIResourceLocator;
 import org.milyn.xml.XmlUtil;
 import org.w3c.dom.*;
+import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 
 import javax.xml.parsers.DocumentBuilder;
@@ -47,6 +48,7 @@
 import javax.xml.transform.stream.StreamResult;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
+import java.io.StringReader;
 import java.io.StringWriter;
 import java.util.*;
 
@@ -141,8 +143,8 @@
                 return operationInst;
             }
         }
-        
-        // Try clearing WSDL cache, WSDL may have updated 
+
+        // Try clearing WSDL cache, WSDL may have updated
         wsdls.remove(wsdl);
         wsdlInterfaces = getWsdlInterfaces(wsdl, httpClientProps);
 
@@ -153,7 +155,7 @@
                 return operationInst;
             }
         }
-        
+
         throw new UnsupportedOperationException("Operation '" + operation + "' not supported by WSDL '" + wsdl + "'.");
     }
 
@@ -163,13 +165,30 @@
         return new EsbWsdlLoader(wsdl, httpClient);
     }
 
-    private String buildRequest(String soapMessage, Map params, String smooksResource, String soapNs) throws IOException, SAXException {
-        Document messageDoc = getDocBuilder().parse(new ByteArrayInputStream(soapMessage.getBytes()));
+    private String buildRequest(String soapMessageTemplate, Map params, String smooksResource, String soapNs) throws IOException, SAXException {
+        Document messageDoc = getDocBuilder().parse(new InputSource(new StringReader(soapMessageTemplate)));
 
         Element docRoot = messageDoc.getDocumentElement();
 
+        // Purposely not using log levels to output because I want to make
+        // it as easy as possible for the developer to dump the SOAP during dev. They
+        // just need to set "dumpSOAP" in the param Map....
+        boolean dumpSOAP = params.containsKey("dumpSOAP");
+
+        if(dumpSOAP) {
+            dumpSOAP("SOAP Template:", docRoot);
+        }
         expandMessage(docRoot, params);
+        if(dumpSOAP) {
+            dumpSOAP("SOAP Template (Expanded):", docRoot);
+        }
+
         injectParameters(docRoot, params, soapNs);
+
+        if(dumpSOAP) {
+            dumpSOAP("SOAP Template (Populated):", docRoot);
+        }
+
         if(smooksResource != null) {
             return applySmooksTransform(smooksResource, messageDoc, params);
         } else {
@@ -177,14 +196,30 @@
         }
     }
 
+    private void dumpSOAP(String message, Element docRoot) {
+        System.out.println("------------------------------------------------------------------------------------------------------------------------------------------");
+        System.out.println(message + "\n");
+        try {
+            YADOMUtil.serialize(docRoot, new StreamResult(System.out));
+        } catch (ConfigurationException e) {
+            logger.error("Unable to dump SOAP.", e);
+        }
+        System.out.println("------------------------------------------------------------------------------------------------------------------------------------------");
+    }
+
     private String applySmooksTransform(String smooksResource, Document messageDoc, Map requestParams) throws IOException, SAXException {
         Smooks smooks = smooksCache.get(smooksResource);
 
         if(smooks == null) {
-            smooks = new Smooks();
-            smooks.addConfigurations("smooks-resource", new ByteArrayInputStream(smooksResource.getBytes("UTF-8")));
-            smooks.addConfigurations("cdu-creators", new URIResourceLocator().getResource("/META-INF/smooks-creators.xml"));
-            smooksCache.put(smooksResource, smooks);
+            synchronized (Smooks.class) {
+                smooks = smooksCache.get(smooksResource);
+                if(smooks == null) {
+                    smooks = new Smooks();
+                    smooks.addConfigurations("smooks-resource", new ByteArrayInputStream(smooksResource.getBytes("UTF-8")));
+                    smooks.addConfigurations("cdu-creators", new URIResourceLocator().getResource("/META-INF/smooks-creators.xml"));
+                    smooksCache.put(smooksResource, smooks);
+                }
+            }
         }
 
         StringWriter resultWriter = new StringWriter();
@@ -234,6 +269,10 @@
                 } else if(collectionSize == 1) {
                     // It's a collection, but no need to clone coz we
                     // already have an entry for it...
+                    if(clonePoint == element) {
+                        // If the element itself is the clone point, add the OGNL expression attribute...
+                        element.setAttributeNS(OGNLUtils.JBOSSESB_SOAP_NS, OGNLUtils.JBOSSESB_SOAP_NS_PREFIX + OGNLUtils.OGNL_ATTRIB, ognl + "[0]");
+                    }
                 } else {
                     // It's a collection and we need to do some cloning
                     if(clonePoint != null) {
@@ -382,7 +421,7 @@
             return;
         }
 
-        Element nextSibling = YADOMUtil.getNextSiblingElement(element);
+        Node insertPoint = element.getNextSibling();
         Node parent = element.getParentNode();
 
         element.setAttributeNS(OGNLUtils.JBOSSESB_SOAP_NS, OGNLUtils.JBOSSESB_SOAP_NS_PREFIX + OGNLUtils.OGNL_ATTRIB, ognl + "[0]");
@@ -391,12 +430,11 @@
 
             clone.setAttributeNS(OGNLUtils.JBOSSESB_SOAP_NS, OGNLUtils.JBOSSESB_SOAP_NS_PREFIX + IS_CLONE_ATTRIB, "true");
             clone.setAttributeNS(OGNLUtils.JBOSSESB_SOAP_NS, OGNLUtils.JBOSSESB_SOAP_NS_PREFIX + OGNLUtils.OGNL_ATTRIB, ognl + "[" + Integer.toString(i + 1) + "]");
-            if (nextSibling == null) {
+            if (insertPoint == null) {
                 parent.appendChild(clone);
             } else {
-                parent.insertBefore(clone, nextSibling);
+                parent.insertBefore(clone, insertPoint);
             }
-            nextSibling = YADOMUtil.getNextSiblingElement(clone);
         }
     }
 

Copied: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/JBESB_1713_SoapUIClientServiceMBeanUnitTest.java (from rev 19930, labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/JBESB_1713_SoapUIClientServiceMBeanUnitTest.java)
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/JBESB_1713_SoapUIClientServiceMBeanUnitTest.java	                        (rev 0)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/JBESB_1713_SoapUIClientServiceMBeanUnitTest.java	2008-06-04 13:41:28 UTC (rev 20301)
@@ -0,0 +1,163 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * 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,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.services.soapui;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.StringWriter;
+import java.util.*;
+
+import javax.xml.transform.stream.StreamResult;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.http.HttpClientFactory;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
+
+public class JBESB_1713_SoapUIClientServiceMBeanUnitTest extends TestCase {
+	
+    private class PostBlahMessage1 {
+    	public String arg0 = "argument 0";
+        public List<String> arg1;
+        public List<String> arg2;
+        public boolean arg3 = true;
+        public String arg4 = "argument 4";
+        public long arg5 = 1;
+        public long arg6 = 2;
+    }
+
+    private class PostBlahMessage2 {
+    	public String arg0 = "argument 0";
+        public String[] arg1;
+        public String[] arg2;
+        public boolean arg3 = true;
+        public String arg4 = "argument 4";
+        public long arg5 = 1;
+        public long arg6 = 2;
+    }
+
+    private void addBlahs(List<String> trains, int num) {
+        for(int i = 0; i < num; i++) {
+            trains.add(String.valueOf(i + 1));
+        }
+    }
+
+    private void addRoles(List<String> roles, int num) {
+        for(int i = 0; i < num; i++) {
+            roles.add(new String("Role " + (i + 1)));
+        }
+    }
+
+    private static final String WSDL_LOCATAION = "src/test/java/org/jboss/soa/esb/services/soapui";
+    private Properties properties;
+
+    protected void setUp() throws Exception {
+        properties = new Properties();
+    }
+
+    public void test_JBESB_1713_single() throws IOException, SAXException, ConfigurationException {
+        test_JBESB_1713(1, "expected_JBESB_1713_01.xml");
+    }
+
+    public void test_JBESB_1713_multiple() throws IOException, SAXException, ConfigurationException {
+        test_JBESB_1713(4, "expected_JBESB_1713_02.xml");
+    }
+
+    public void test_JBESB_1713(int num, String expected) throws IOException, SAXException, ConfigurationException {
+    	File wsdlFile = new File(WSDL_LOCATAION + "/handdator.wsdl");
+        SoapUIClientService mbean = new SoapUIClientService();
+        Map params = new HashMap();
+
+        params.put("dumpSOAP", null);
+
+        PostBlahMessage1 postBlahMessage1 = new PostBlahMessage1();
+        PostBlahMessage2 postBlahMessage2 = new PostBlahMessage2();
+
+        List<String> blahs1 = new ArrayList<String>();
+        List<String> roles1 = new ArrayList<String>();
+        String[] blahs2 = new String[num];
+        String[] roles2 = new String[num];
+
+        properties.setProperty(HttpClientFactory.TARGET_HOST_URL, wsdlFile.toURI().toString());
+
+        addBlahs(blahs1, num);
+        addRoles(roles1, num);
+        postBlahMessage1.arg1 = blahs1;
+        postBlahMessage1.arg2 = roles1;
+        blahs1.toArray(blahs2);
+        roles1.toArray(roles2);
+        postBlahMessage2.arg1 = blahs2;
+        postBlahMessage2.arg2 = roles2;
+
+        params.put("postBlahMessage", postBlahMessage1);
+
+        String message = mbean.buildRequest(wsdlFile.toURI().toString(), "postBlahMessage", params, properties, null, null);
+        assertTrue("Generated SOAP message not as expected. See " + expected + ".  Generated message: \n" + message, compareCharStreams(getClass().getResourceAsStream(expected), new ByteArrayInputStream(message.getBytes())));
+
+        params.put("postBlahMessage", postBlahMessage2);
+
+        message = mbean.buildRequest(wsdlFile.toURI().toString(), "postBlahMessage", params, properties, null, null);
+
+        assertTrue("Generated SOAP message not as expected. See " + expected + ".  Generated message: \n" + message, compareCharStreams(getClass().getResourceAsStream(expected), new ByteArrayInputStream(message.getBytes())));
+    }
+
+    // Lifted from milyn commons
+    public static boolean compareCharStreams(InputStream s1, InputStream s2) {
+        try {
+            final String xml1 = trimLines(s1).toString() ;
+            final String xml2 = trimLines(s2).toString() ;
+            
+            final Document doc1 = YADOMUtil.parse(xml1) ;
+            final Document doc2 = YADOMUtil.parse(xml2) ;
+            
+            final StringWriter writer1 = new StringWriter() ;
+            final StringWriter writer2 = new StringWriter() ;
+            YADOMUtil.serialize(doc1, new StreamResult(writer1)) ;
+            YADOMUtil.serialize(doc2, new StreamResult(writer2)) ;
+            return (writer1.toString().equals(writer2.toString())) ;
+        } catch (IOException e) {
+            // fail the comparison
+        } catch (SAXException e) {
+            // fail the comparison
+        } catch (ConfigurationException e) {
+            // fail the comparison
+        }
+
+        return false;
+    }
+    public static StringBuffer trimLines(InputStream charStream) throws IOException {
+        StringBuffer stringBuf = new StringBuffer();
+        BufferedReader reader = new BufferedReader(new InputStreamReader(charStream));
+        String line;
+
+        while((line = reader.readLine()) != null) {
+            stringBuf.append(line.trim());
+        }
+
+        return stringBuf;
+    }
+}
\ No newline at end of file

Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBeanUnitTest.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBeanUnitTest.java	2008-06-04 13:20:15 UTC (rev 20300)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBeanUnitTest.java	2008-06-04 13:41:28 UTC (rev 20301)
@@ -77,6 +77,8 @@
         List<OrderItem> items1 = new ArrayList<OrderItem>();
         OrderItem[] items2 = new OrderItem[4];
 
+        params.put("dumpSOAP", null);
+        
         properties.setProperty(HttpClientFactory.TARGET_HOST_URL, wsdlFile.toURI().toString());
 
         addOrderItems(items1);

Copied: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_JBESB_1713_01.xml (from rev 20274, labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_JBESB_1713_01.xml)
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_JBESB_1713_01.xml	                        (rev 0)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_JBESB_1713_01.xml	2008-06-04 13:41:28 UTC (rev 20301)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:x="http://x.y.x/">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <x:postBlahMessage>
+         <!--Optional:-->
+         <arg0>argument 0</arg0>
+         <!--Zero or more repetitions: - cloned-->
+         <arg1>1</arg1>
+         <!--Zero or more repetitions: - cloned-->
+         <arg2>Role 1</arg2>
+         <arg3>true</arg3>
+         <!--Optional:-->
+         <arg4>argument 4</arg4>
+         <arg5>1</arg5>
+         <arg6>2</arg6>
+      </x:postBlahMessage>
+   </soapenv:Body>
+</soapenv:Envelope>

Copied: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_JBESB_1713_02.xml (from rev 20274, labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_JBESB_1713_02.xml)
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_JBESB_1713_02.xml	                        (rev 0)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_JBESB_1713_02.xml	2008-06-04 13:41:28 UTC (rev 20301)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:x="http://x.y.x/">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <x:postBlahMessage>
+         <!--Optional:-->
+         <arg0>argument 0</arg0>
+         <!--Zero or more repetitions: - cloned-->
+         <arg1>1</arg1>
+<arg1>2</arg1>
+<arg1>3</arg1>
+<arg1>4</arg1>
+         <!--Zero or more repetitions: - cloned-->
+         <arg2>Role 1</arg2>
+<arg2>Role 2</arg2>
+<arg2>Role 3</arg2>
+<arg2>Role 4</arg2>
+         <arg3>true</arg3>
+         <!--Optional:-->
+         <arg4>argument 4</arg4>
+         <arg5>1</arg5>
+         <arg6>2</arg6>
+      </x:postBlahMessage>
+   </soapenv:Body>
+</soapenv:Envelope>

Copied: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/handdator.wsdl (from rev 19927, labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/handdator.wsdl)
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/handdator.wsdl	                        (rev 0)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/handdator.wsdl	2008-06-04 13:41:28 UTC (rev 20301)
@@ -0,0 +1,51 @@
+<definitions name='DummyHanddatorWSBeanService' targetNamespace='http://x.y.x/' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://x.y.x/' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
+ <types>
+  <xs:schema targetNamespace='http://x.y.x/' version='1.0' xmlns:tns='http://x.y.x/' xmlns:xs='http://www.w3.org/2001/XMLSchema'>
+   <xs:element name='postBlahMessage' type='tns:postBlahMessage'/>
+   <xs:element name='postBlahMessageResponse' type='tns:postBlahMessageResponse'/>
+   <xs:complexType name='postBlahMessage'>
+    <xs:sequence>
+     <xs:element minOccurs='0' name='arg0' type='xs:string'/>
+     <xs:element maxOccurs='unbounded' minOccurs='0' name='arg1' type='xs:string'/>
+     <xs:element maxOccurs='unbounded' minOccurs='0' name='arg2' type='xs:string'/>
+     <xs:element name='arg3' type='xs:boolean'/>
+     <xs:element minOccurs='0' name='arg4' type='xs:string'/>
+     <xs:element name='arg5' type='xs:long'/>
+     <xs:element name='arg6' type='xs:long'/>
+    </xs:sequence>
+   </xs:complexType>
+   <xs:complexType name='postBlahMessageResponse'>
+    <xs:sequence/>
+   </xs:complexType>
+  </xs:schema>
+ </types>
+ <message name='DummyHanddatorWSBean_postBlahMessageResponse'>
+  <part element='tns:postBlahMessageResponse' name='postBlahMessageResponse'></part>
+ </message>
+ <message name='DummyHanddatorWSBean_postBlahMessage'>
+  <part element='tns:postBlahMessage' name='postBlahMessage'></part>
+ </message>
+ <portType name='DummyHanddatorWSBean'>
+  <operation name='postBlahMessage' parameterOrder='postBlahMessage'>
+   <input message='tns:DummyHanddatorWSBean_postBlahMessage'></input>
+   <output message='tns:DummyHanddatorWSBean_postBlahMessageResponse'></output>
+  </operation>
+ </portType>
+ <binding name='DummyHanddatorWSBeanBinding' type='tns:DummyHanddatorWSBean'>
+  <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/>
+  <operation name='postBlahMessage'>
+   <soap:operation soapAction=''/>
+   <input>
+    <soap:body use='literal'/>
+   </input>
+   <output>
+    <soap:body use='literal'/>
+   </output>
+  </operation>
+ </binding>
+ <service name='DummyHanddatorWSBeanService'>
+  <port binding='tns:DummyHanddatorWSBeanBinding' name='DummyHanddatorWSBeanPort'>
+   <soap:address location='http://localhost:8380/HanddatorDummyWS/DummyHanddatorWSBean'/>
+  </port>
+ </service>
+</definitions>

Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/orderprocessing/expected_01.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/orderprocessing/expected_01.xml	2008-06-04 13:20:15 UTC (rev 20300)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/orderprocessing/expected_01.xml	2008-06-04 13:41:28 UTC (rev 20301)
@@ -14,9 +14,7 @@
                <name>item1</name>
                <!--Optional:-->
                <price>10.99</price>
-            </lineItems>
-            <!--Optional:-->
-            <lineItems>
+            </lineItems><lineItems>
                <!--Optional:-->
                <id>890</id>
                <!--Optional:-->
@@ -30,8 +28,10 @@
                <name>item3</name>
                <!--Optional:-->
                <price>76.34</price>
-            </lineItems><shipTo>Skeagh Bridge</shipTo>
+            </lineItems>
+            <!--Optional:-->
+            <shipTo>Skeagh Bridge</shipTo>
          </order>
       </end:processOrder>
    </soapenv:Body>
-</soapenv:Envelope>
\ No newline at end of file
+</soapenv:Envelope>

Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/orderprocessing/expected_01_JBESB-1329.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/orderprocessing/expected_01_JBESB-1329.xml	2008-06-04 13:20:15 UTC (rev 20300)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/orderprocessing/expected_01_JBESB-1329.xml	2008-06-04 13:41:28 UTC (rev 20301)
@@ -12,9 +12,7 @@
                <name>item1</name>
                <!--Optional:-->
                <price>10.99</price>
-            </lineItems>
-            <!--Optional:-->
-            <lineItems>
+            </lineItems><lineItems>
                <!--Optional:-->
                <id>890</id>
                <!--Optional:-->
@@ -28,10 +26,12 @@
                <name>item3</name>
                <!--Optional:-->
                <price>76.34</price>
-            </lineItems><id>123</id>
+            </lineItems>
             <!--Optional:-->
+            <id>123</id>
+            <!--Optional:-->
             <shipTo>Skeagh Bridge</shipTo>
          </order>
       </end:processOrder>
    </soapenv:Body>
-</soapenv:Envelope>
\ No newline at end of file
+</soapenv:Envelope>




More information about the jboss-svn-commits mailing list