[jboss-svn-commits] JBL Code SVN: r11957 - in labs/jbossesb/trunk/product/services: soapui-client and 20 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri May 18 12:42:44 EDT 2007


Author: tfennelly
Date: 2007-05-18 12:42:43 -0400 (Fri, 18 May 2007)
New Revision: 11957

Added:
   labs/jbossesb/trunk/product/services/soapui-client/
   labs/jbossesb/trunk/product/services/soapui-client/build.xml
   labs/jbossesb/trunk/product/services/soapui-client/pom.xml
   labs/jbossesb/trunk/product/services/soapui-client/src/
   labs/jbossesb/trunk/product/services/soapui-client/src/lib/
   labs/jbossesb/trunk/product/services/soapui-client/src/lib/commons-codec-1.2.jar
   labs/jbossesb/trunk/product/services/soapui-client/src/lib/commons-httpclient-3.0.1.jar
   labs/jbossesb/trunk/product/services/soapui-client/src/lib/commons-logging-1.0.4.jar
   labs/jbossesb/trunk/product/services/soapui-client/src/lib/jboss-system-client.jar
   labs/jbossesb/trunk/product/services/soapui-client/src/lib/jboss-system.jar
   labs/jbossesb/trunk/product/services/soapui-client/src/lib/jsr173_1.0_api-xmlbeans-2.2.0.jar
   labs/jbossesb/trunk/product/services/soapui-client/src/lib/looks-2.1.2.jar
   labs/jbossesb/trunk/product/services/soapui-client/src/lib/milyn-commons-0.9-SNAPSHOT.jar
   labs/jbossesb/trunk/product/services/soapui-client/src/lib/ognl-2.6.9.jar
   labs/jbossesb/trunk/product/services/soapui-client/src/lib/soapui-1.7.jar
   labs/jbossesb/trunk/product/services/soapui-client/src/lib/soapui-xmlbeans-1.7.jar
   labs/jbossesb/trunk/product/services/soapui-client/src/lib/wsdl4j-1.6.2.jar
   labs/jbossesb/trunk/product/services/soapui-client/src/lib/xbean-2.2.0.jar
   labs/jbossesb/trunk/product/services/soapui-client/src/main/
   labs/jbossesb/trunk/product/services/soapui-client/src/main/java/
   labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/
   labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/
   labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/
   labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/
   labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/
   labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/
   labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/DomUtils.java
   labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java
   labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBean.java
   labs/jbossesb/trunk/product/services/soapui-client/src/main/resources/
   labs/jbossesb/trunk/product/services/soapui-client/src/main/resources/META-INF/
   labs/jbossesb/trunk/product/services/soapui-client/src/main/resources/META-INF/jboss-service.xml
   labs/jbossesb/trunk/product/services/soapui-client/src/test/
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/BPELRetailer.wsdl
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Customer.wsdl
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Customer.xsd
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/CustomerOrder.xsd
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Retailer.wsdl
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/RetailerCallback.wsdl
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Shipping.wsdl
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBeanUnitTest.java
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/StandardTypes.xsd
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_01.xml
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_02.xml
   labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_03.xml
   labs/jbossesb/trunk/product/services/soapui-client/src/test/resources/
Log:
Added the soapUI client.  Now handles collections on the request.

Added: labs/jbossesb/trunk/product/services/soapui-client/build.xml
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/build.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/build.xml	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,181 @@
+<!--
+   **** THIS SCRIPT WAS GENERATED BY MAVEN
+-->
+
+<project name="soapui-client" default="sar" basedir=".">
+    <property file="${user.home}/.m2/maven.properties"/>
+    <property name="maven.build.output" value="target/classes"/>
+    <property name="maven.build.directory" value="target"/>
+    <property name="maven.build.final.name" value="soapui-client"/>
+    <property name="maven.test.reports" value="${maven.build.directory}/test-reports"/>
+    <property name="maven.test.output" value="target/test-classes"/>
+    <property name="maven.repo.local" value="${user.home}/.m2/repository"/>
+    <path id="build.classpath">
+        <!-- fileset dir="${maven.repo.local}">
+            <include name="eviware/soapui-xmlbeans/1.7/soapui-xmlbeans-1.7.jar"/>
+            <include name="commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"/>
+            <include name="xmlbeans/xbean/2.2.0/xbean-2.2.0.jar"/>
+            <include name="commons-codec/commons-codec/1.2/commons-codec-1.2.jar"/>
+            <include name="eviware/soapui/1.7/soapui-1.7.jar"/>
+            <include name="com/jgoodies/looks/2.1.2/looks-2.1.2.jar"/>
+            <include name="commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar"/>
+        </fileset -->
+        <fileset dir="src/lib" includes="*.jar" />
+        <fileset dir="../../../../lib/ext" includes="*.jar" />
+    </path>
+    <target name="clean" description="Clean the output directory">
+        <delete dir="${maven.build.directory}"/>
+    </target>
+    <target name="compile" depends="get-deps" description="Compile the code">
+        <mkdir dir="${maven.build.output}"/>
+        <javac destdir="${maven.build.output}" excludes="**/package.html" debug="true" deprecation="true"
+               optimize="false">
+            <src>
+                <pathelement location="src/main/java"/>
+            </src>
+            <classpath refid="build.classpath"/>
+        </javac>
+        <copy todir="${maven.build.output}">
+            <fileset dir="src/main/java">
+                <exclude name="**/*.java"/>
+            </fileset>
+        </copy>
+        <copy todir="${maven.build.output}">
+            <fileset dir="src/main/resources"/>
+        </copy>
+    </target>
+    <target name="jar" depends="compile,test" description="Clean the JAR">
+        <jar jarfile="${maven.build.directory}/${maven.build.final.name}.jar" basedir="${maven.build.output}"
+             excludes="**/package.html"/>
+    </target>
+    <target name="sar" depends="clean,jar" description="SAR">
+        <delete dir="${maven.build.directory}/sar" />
+        <mkdir dir="${maven.build.directory}/sar" />
+        <copy todir="${maven.build.directory}/sar">
+            <fileset dir="src" includes="lib/*.jar" excludes="lib/jboss-*.jar" />
+            <fileset dir="src/main/resources" />
+        </copy>
+        <copy todir="${maven.build.directory}/sar">
+            <!-- fileset dir="${maven.build.directory}" includes="${maven.build.final.name}.jar" / -->
+            <fileset dir="${maven.build.directory}/classes" />
+        </copy>
+
+        <jar jarfile="${maven.build.directory}/${maven.build.final.name}.sar" basedir="${maven.build.directory}/sar" />
+    </target>
+    <target name="compile-tests" depends="junit-present, compile" description="Compile the test code"
+            if="junit.present">
+        <mkdir dir="${maven.test.output}"/>
+        <javac destdir="${maven.test.output}" excludes="**/package.html" debug="true" deprecation="true"
+               optimize="false">
+            <src>
+                <pathelement location="src/test/java"/>
+            </src>
+            <classpath>
+                <path refid="build.classpath"/>
+                <pathelement location="${maven.build.output}"/>
+            </classpath>
+        </javac>
+        <copy todir="${maven.test.output}">
+            <fileset dir="src/test/java">
+                <exclude name="**/*.java"/>
+            </fileset>
+        </copy>
+        <copy todir="${maven.test.output}">
+            <fileset dir="src/test/resources"/>
+        </copy>
+    </target>
+    <target name="test" depends="junit-present, compile-tests" if="junit.present" description="Run the test cases">
+        <mkdir dir="${maven.test.reports}"/>
+        <junit printSummary="yes" haltonerror="true" haltonfailure="true" fork="true" dir=".">
+            <sysproperty key="basedir" value="."/>
+            <formatter type="xml"/>
+            <formatter type="plain" usefile="false"/>
+            <classpath>
+                <path refid="build.classpath"/>
+                <pathelement location="${maven.build.output}"/>
+                <pathelement location="${maven.test.output}"/>
+            </classpath>
+            <batchtest todir="${maven.test.reports}">
+                <fileset dir="src/test/java">
+                    <include name="**/*Test.java"/>
+                    <exclude name="**/*Abstract*Test.java"/>
+                </fileset>
+            </batchtest>
+        </junit>
+    </target>
+    <target name="test-junit-present">
+        <available classname="junit.framework.Test" property="junit.present"/>
+    </target>
+    <target name="junit-present" depends="test-junit-present" unless="junit.present">
+        <echo>================================= WARNING ================================</echo>
+        <echo>Junit isn&apos;t present in your $ANT_HOME/lib directory. Tests not executed.</echo>
+        <echo>==========================================================================</echo>
+    </target>
+    <target name="test-offline">
+        <condition property="maven.mode.offline">
+            <equals arg1="${build.sysclasspath}" arg2="only"/>
+        </condition>
+    </target>
+    <target name="get-deps" depends="test-offline" description="Download all dependencies" unless="maven.mode.offline">
+        <mkdir dir="${maven.repo.local}"/>
+        <!--
+        <get src="http://repository.jboss.com/maven2//eviware/soapui-xmlbeans/1.7/soapui-xmlbeans-1.7.jar"
+             dest="${maven.repo.local}/eviware/soapui-xmlbeans/1.7/soapui-xmlbeans-1.7.jar" usetimestamp="true"
+             ignoreerrors="true"/>
+        <get src="http://www.eviware.com/repository/maven2//eviware/soapui-xmlbeans/1.7/soapui-xmlbeans-1.7.jar"
+             dest="${maven.repo.local}/eviware/soapui-xmlbeans/1.7/soapui-xmlbeans-1.7.jar" usetimestamp="true"
+             ignoreerrors="true"/>
+        <get src="http://repo1.maven.org/maven2/eviware/soapui-xmlbeans/1.7/soapui-xmlbeans-1.7.jar"
+             dest="${maven.repo.local}/eviware/soapui-xmlbeans/1.7/soapui-xmlbeans-1.7.jar" usetimestamp="true"
+             ignoreerrors="true"/>
+        <get src="http://repository.jboss.com/maven2//commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"
+             dest="${maven.repo.local}/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"
+             usetimestamp="true" ignoreerrors="true"/>
+        <get src="http://www.eviware.com/repository/maven2//commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"
+             dest="${maven.repo.local}/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"
+             usetimestamp="true" ignoreerrors="true"/>
+        <get src="http://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"
+             dest="${maven.repo.local}/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"
+             usetimestamp="true" ignoreerrors="true"/>
+        <get src="http://repository.jboss.com/maven2//xmlbeans/xbean/2.2.0/xbean-2.2.0.jar"
+             dest="${maven.repo.local}/xmlbeans/xbean/2.2.0/xbean-2.2.0.jar" usetimestamp="true" ignoreerrors="true"/>
+        <get src="http://www.eviware.com/repository/maven2//xmlbeans/xbean/2.2.0/xbean-2.2.0.jar"
+             dest="${maven.repo.local}/xmlbeans/xbean/2.2.0/xbean-2.2.0.jar" usetimestamp="true" ignoreerrors="true"/>
+        <get src="http://repo1.maven.org/maven2/xmlbeans/xbean/2.2.0/xbean-2.2.0.jar"
+             dest="${maven.repo.local}/xmlbeans/xbean/2.2.0/xbean-2.2.0.jar" usetimestamp="true" ignoreerrors="true"/>
+        <get src="http://repository.jboss.com/maven2//commons-codec/commons-codec/1.2/commons-codec-1.2.jar"
+             dest="${maven.repo.local}/commons-codec/commons-codec/1.2/commons-codec-1.2.jar" usetimestamp="true"
+             ignoreerrors="true"/>
+        <get src="http://www.eviware.com/repository/maven2//commons-codec/commons-codec/1.2/commons-codec-1.2.jar"
+             dest="${maven.repo.local}/commons-codec/commons-codec/1.2/commons-codec-1.2.jar" usetimestamp="true"
+             ignoreerrors="true"/>
+        <get src="http://repo1.maven.org/maven2/commons-codec/commons-codec/1.2/commons-codec-1.2.jar"
+             dest="${maven.repo.local}/commons-codec/commons-codec/1.2/commons-codec-1.2.jar" usetimestamp="true"
+             ignoreerrors="true"/>
+        <get src="http://repository.jboss.com/maven2//eviware/soapui/1.7/soapui-1.7.jar"
+             dest="${maven.repo.local}/eviware/soapui/1.7/soapui-1.7.jar" usetimestamp="true" ignoreerrors="true"/>
+        <get src="http://www.eviware.com/repository/maven2//eviware/soapui/1.7/soapui-1.7.jar"
+             dest="${maven.repo.local}/eviware/soapui/1.7/soapui-1.7.jar" usetimestamp="true" ignoreerrors="true"/>
+        <get src="http://repo1.maven.org/maven2/eviware/soapui/1.7/soapui-1.7.jar"
+             dest="${maven.repo.local}/eviware/soapui/1.7/soapui-1.7.jar" usetimestamp="true" ignoreerrors="true"/>
+        <get src="http://repository.jboss.com/maven2//com/jgoodies/looks/2.1.2/looks-2.1.2.jar"
+             dest="${maven.repo.local}/com/jgoodies/looks/2.1.2/looks-2.1.2.jar" usetimestamp="true"
+             ignoreerrors="true"/>
+        <get src="http://www.eviware.com/repository/maven2//com/jgoodies/looks/2.1.2/looks-2.1.2.jar"
+             dest="${maven.repo.local}/com/jgoodies/looks/2.1.2/looks-2.1.2.jar" usetimestamp="true"
+             ignoreerrors="true"/>
+        <get src="http://repo1.maven.org/maven2/com/jgoodies/looks/2.1.2/looks-2.1.2.jar"
+             dest="${maven.repo.local}/com/jgoodies/looks/2.1.2/looks-2.1.2.jar" usetimestamp="true"
+             ignoreerrors="true"/>
+        <get src="http://repository.jboss.com/maven2//commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar"
+             dest="${maven.repo.local}/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar"
+             usetimestamp="true" ignoreerrors="true"/>
+        <get src="http://www.eviware.com/repository/maven2//commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar"
+             dest="${maven.repo.local}/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar"
+             usetimestamp="true" ignoreerrors="true"/>
+        <get src="http://repo1.maven.org/maven2/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar"
+             dest="${maven.repo.local}/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar"
+             usetimestamp="true" ignoreerrors="true"/>
+        -->
+    </target>
+</project>
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/build.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/services/soapui-client/pom.xml
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/pom.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/pom.xml	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.jboss.soa.esb</groupId>
+    <artifactId>soapui-client</artifactId>
+    <version>4.2.MR2</version>
+    <name>SOAPUI Client ESB Service</name>
+    <description>SOAPUI Client Service</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>wsdl4j</groupId>
+            <artifactId>wsdl4j</artifactId>
+            <version>1.6.2</version>
+            <systemPath>${basedir}/src/lib/wsdl4j-1.6.2.jar</systemPath>
+            <scope>system</scope>
+        </dependency>
+        <dependency>
+            <groupId>eviware</groupId>
+            <artifactId>soapui</artifactId>
+            <version>1.7</version>
+        </dependency>
+        <dependency>
+            <groupId>eviware</groupId>
+            <artifactId>soapui-xmlbeans</artifactId>
+            <version>1.7</version>
+        </dependency>
+        <dependency>
+            <groupId>xmlbeans</groupId>
+            <artifactId>xbean</artifactId>
+            <version>2.2.0</version>
+        </dependency>
+        <dependency>
+            <groupId>xmlbeans</groupId>
+            <artifactId>jsr173_1.0_api-xmlbeans</artifactId>
+            <version>1.0</version>
+            <systemPath>${basedir}/src/lib/jsr173_1.0_api-xmlbeans-2.2.0.jar</systemPath>
+            <scope>system</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.jgoodies</groupId>
+            <artifactId>looks</artifactId>
+            <version>2.1.2</version>
+        </dependency>
+        <dependency>
+            <groupId>jboss</groupId>
+            <artifactId>jboss-system</artifactId>
+            <version>4.0.x</version>
+            <systemPath>${basedir}/src/lib/jboss-system.jar</systemPath>
+            <scope>system</scope>
+        </dependency>
+        <dependency>
+            <groupId>jboss</groupId>
+            <artifactId>jboss-system-client</artifactId>
+            <version>4.0.x</version>
+            <systemPath>${basedir}/src/lib/jboss-system-client.jar</systemPath>
+            <scope>system</scope>
+        </dependency>
+        <dependency>
+            <groupId>jboss</groupId>
+            <artifactId>jbossall-client</artifactId>
+            <version>4.0.x</version>
+            <systemPath>${basedir}/../../../../lib/ext/jbossall-client.jar</systemPath>
+            <scope>system</scope>
+        </dependency>
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+            <version>1.0.4</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-httpclient</groupId>
+            <artifactId>commons-httpclient</artifactId>
+            <version>3.0.1</version>
+        </dependency>
+        <dependency>
+            <groupId>milyn</groupId>
+            <artifactId>milyn-commons</artifactId>
+            <version>0.9-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>ognl</groupId>
+            <artifactId>ognl</artifactId>
+            <version>2.6.9</version>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.1</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+            <version>1.2.8</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <defaultGoal>jboss-packaging:sar</defaultGoal>
+        <plugins>
+            <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>1.5</source>
+                    <target>1.5</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>jboss-packaging-maven-plugin</artifactId>
+                <version>2.0-SNAPSHOT</version>
+                <configuration>
+                    <!-- Required config - doesn't seem to pick it up from here by default. -->
+                    <deploymentDescriptorFile>${basedir}/src/main/resources/META-INF/jboss-service.xml
+                    </deploymentDescriptorFile>
+                </configuration>
+            </plugin>
+        </plugins>
+        <resources>
+            <resource>
+                <directory>src/main/java</directory>
+                <excludes>
+                    <exclude>**/*.java</exclude>
+                </excludes>
+            </resource>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+        <testResources>
+            <testResource>
+                <directory>src/test/java</directory>
+                <excludes>
+                    <exclude>**/*.java</exclude>
+                </excludes>
+            </testResource>
+            <testResource>
+                <directory>src/test/resources</directory>
+            </testResource>
+        </testResources>
+    </build>
+
+    <repositories>
+        <repository>
+            <id>JBoss Repo</id>
+            <url>http://repository.jboss.com/maven2/</url>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+        <repository>
+            <id>SOAP UI Repo</id>
+            <url>http://www.eviware.com/repository/maven2/</url>
+        </repository>
+    </repositories>
+    <pluginRepositories>
+        <pluginRepository>
+            <id>Codehaus Snapshots</id>
+            <url>http://snapshots.repository.codehaus.org/</url>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+        </pluginRepository>
+    </pluginRepositories>
+</project>
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/pom.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/services/soapui-client/src/lib/commons-codec-1.2.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/lib/commons-codec-1.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/soapui-client/src/lib/commons-httpclient-3.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/lib/commons-httpclient-3.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/soapui-client/src/lib/commons-logging-1.0.4.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/lib/commons-logging-1.0.4.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/soapui-client/src/lib/jboss-system-client.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/lib/jboss-system-client.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/soapui-client/src/lib/jboss-system.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/lib/jboss-system.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/soapui-client/src/lib/jsr173_1.0_api-xmlbeans-2.2.0.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/lib/jsr173_1.0_api-xmlbeans-2.2.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/soapui-client/src/lib/looks-2.1.2.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/lib/looks-2.1.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/soapui-client/src/lib/milyn-commons-0.9-SNAPSHOT.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/lib/milyn-commons-0.9-SNAPSHOT.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/soapui-client/src/lib/ognl-2.6.9.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/lib/ognl-2.6.9.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/soapui-client/src/lib/soapui-1.7.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/lib/soapui-1.7.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/soapui-client/src/lib/soapui-xmlbeans-1.7.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/lib/soapui-xmlbeans-1.7.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/soapui-client/src/lib/wsdl4j-1.6.2.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/lib/wsdl4j-1.6.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/soapui-client/src/lib/xbean-2.2.0.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/lib/xbean-2.2.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/DomUtils.java
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/DomUtils.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/DomUtils.java	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,108 @@
+/*
+ * 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 org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Element;
+
+import java.util.List;
+import java.util.Vector;
+
+/**
+ * DOM utility methods for the SOAPUI client.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class DomUtils {
+    /**
+     * Count the DOM element nodes before the supplied node, having the specified
+     * tag name, not including the node itself.
+     * <p/>
+     * Counts the sibling nodes.
+     *
+     * @param node    Node whose element siblings are to be counted.
+     * @param tagName The tag name of the sibling elements to be counted.
+     * @return The number of siblings elements before the supplied node with the
+     *         specified tag name.
+     */
+    protected static int countElementsBefore(Node node, String tagName) {
+        Node parent = node.getParentNode();
+
+        NodeList siblings = parent.getChildNodes();
+        int count = 0;
+        int siblingCount = siblings.getLength();
+
+        for (int i = 0; i < siblingCount; i++) {
+            Node sibling = siblings.item(i);
+
+            if (sibling == node) {
+                break;
+            }
+            if (sibling.getNodeType() == Node.ELEMENT_NODE && ((Element) sibling).getTagName().equals(tagName)) {
+                count++;
+            }
+        }
+
+        return count;
+    }
+
+    /**
+     * Copy the nodes of a NodeList into the supplied list.
+     * <p/>
+     * This is not a cloneCollectionTemplateElement.  It's just a copy of the node references.
+     * <p/>
+     * Allows iteration over the Nodelist using the copy in the knowledge that
+     * the list will remain the same length, even if we modify the underlying NodeList.
+     * Using the NodeList can result in problems because elements can get removed from
+     * the list while we're iterating over it.
+     * <p/>
+     * <i>This code was acquired donated by the Milyn Smooks project.</i>
+     *
+     * @param nodeList Nodelist to copy.
+     * @return List copy.
+     */
+    public static List<Node> copyNodeList(NodeList nodeList) {
+        List<Node> copy = new Vector<Node>();
+
+        if (nodeList != null) {
+            int nodeCount = nodeList.getLength();
+
+            for (int i = 0; i < nodeCount; i++) {
+                copy.add(nodeList.item(i));
+            }
+        }
+
+        return copy;
+    }
+
+    protected static Element getNextSiblingElement(Node node) {
+        Node nextSibling = node.getNextSibling();
+
+        while (nextSibling != null) {
+            if (nextSibling.getNodeType() == Node.ELEMENT_NODE) {
+                return (Element) nextSibling;
+            }
+            nextSibling = nextSibling.getNextSibling();
+        }
+
+        return null;
+    }
+}


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/DomUtils.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,332 @@
+/*
+ * 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 com.eviware.soapui.impl.wsdl.WsdlInterface;
+import com.eviware.soapui.impl.wsdl.WsdlProject;
+import com.eviware.soapui.model.iface.Operation;
+
+import java.io.IOException;
+import java.io.ByteArrayInputStream;
+import java.util.*;
+
+import org.jboss.system.ServiceMBeanSupport;
+import org.w3c.dom.*;
+import org.xml.sax.SAXException;
+import org.milyn.xml.XmlUtil;
+import org.apache.log4j.Logger;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.ParserConfigurationException;
+
+import ognl.OgnlException;
+import ognl.Ognl;
+
+/**
+ * Soap UI Soap Client Service MBean.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SoapUIClientService extends ServiceMBeanSupport implements SoapUIClientServiceMBean {
+
+    private static final String SOAPUICL_NS = "http://jbossesb.jboss.org/soapui-client";
+    private static final String SOAPUICL_NS_PREFIX = "soapui:";
+    private static final String IS_CLONE_ATTRIB = "is-cloneCollectionTemplateElement";
+    private static final String OGNL_ATTRIB = "ognl";
+    private static Logger logger = Logger.getLogger(SoapUIClientService.class);
+    private Map<String, WsdlInterface[]> wsdls = new HashMap<String, WsdlInterface[]>();
+    private DocumentBuilder docBuilder;
+
+    /**
+     * Public default constructor.
+     */
+    public SoapUIClientService() {
+        DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
+        docBuilderFactory.setNamespaceAware(true);
+        try {
+            docBuilder = docBuilderFactory.newDocumentBuilder();
+        } catch (ParserConfigurationException e) {
+            throw new RuntimeException("Failed to construct DocumentBuilder instance.", e);
+        }
+    }
+
+    /**
+     * Build a SOAP request for the specified operation on the specified WSDL.
+     *
+     * @param wsdl      WSDL URL.
+     * @param operation Operation name.
+     * @param params    Message parameter map.
+     * @return The SOAP Message.
+     * @throws IOException Failed to load WSDL.
+     */
+    public String buildRequest(String wsdl, String operation, Map params) throws IOException, UnsupportedOperationException, SAXException {
+        Operation operationInst = getOperation(wsdl, operation);
+        String requestTemplate = operationInst.getRequestAt(0).getRequestContent();
+
+        return injectParameters(requestTemplate, params);
+    }
+
+    /**
+     * Populate the supplied SOAP responseObject from the supplied soapMessage.
+     *
+     * @param wsdl      WSDL URL.
+     * @param operation Operation name.
+     * @param soapMessage The soap message containing the data.
+     * @param responseObject The soap response object to be populated fromthe data in the soap message.
+     * @return The populated responseObject, or a fault object if the message contains a fault.
+     * @throws IOException Failed to load WSDL.
+     * @throws UnsupportedOperationException Operation not supported on specified WSDL.
+     * @throws SAXException Failed to parse the SOAP message.
+     */
+    public Object populateResponse(String wsdl, String operation, String soapMessage, Object responseObject) throws IOException, UnsupportedOperationException, SAXException {
+        throw new UnsupportedOperationException("Not yet implemented!");
+    }
+
+    /**
+     * Get the 1st endpoint from the specified WSDL.
+     *
+     * @param wsdl      WSDL URL.
+     * @return The operation endpoint URL.
+     * @throws IOException Failed to load WSDL.
+     */
+    public String getEndpoint(String wsdl) throws IOException {
+        WsdlInterface[] wsdlInterfaces = getWsdlInterfaces(wsdl);
+
+        return wsdlInterfaces[0].getEndpoints()[0];
+    }
+
+    private WsdlInterface[] getWsdlInterfaces(String wsdl) throws IOException {
+        try {
+            WsdlInterface[] wsdlInterfaces = wsdls.get(wsdl);
+            if (wsdlInterfaces == null) {
+                WsdlProject wsdlProject = new WsdlProject();
+                wsdlInterfaces = wsdlProject.importWsdl(wsdl, true);
+                wsdls.put(wsdl, wsdlInterfaces);
+            }
+            return wsdlInterfaces;
+        } catch (Exception e) {
+            IOException ioe = new IOException("Failed to import WSDL '" + wsdl + "'.");
+            ioe.initCause(e);
+            throw ioe;
+        }
+    }
+
+    private Operation getOperation(String wsdl, String operation) throws IOException, UnsupportedOperationException {
+        WsdlInterface[] wsdlInterfaces = getWsdlInterfaces(wsdl);
+
+        for (WsdlInterface wsdlInterface : wsdlInterfaces) {
+            Operation operationInst = wsdlInterface.getOperationByName(operation);
+
+            if (operationInst != null) {
+                return operationInst;
+            }
+        }
+        throw new UnsupportedOperationException("Operation '" + operation + "' not supported by WSDL '" + wsdl + "'.");
+    }
+
+    private String injectParameters(String soapMessage, Map params) throws IOException, SAXException {
+        Document messageDoc = docBuilder.parse(new ByteArrayInputStream(soapMessage.getBytes()));
+        Element docRoot = messageDoc.getDocumentElement();
+
+        expandMessage(docRoot, params);
+        injectParameters(docRoot, params);
+
+        return XmlUtil.serialize(messageDoc.getChildNodes());
+    }
+
+    /**
+     * Expand the message to accommodate data collections.
+     * <p/>
+     * It basically just clones the message where appropriate.
+     *
+     * @param element The element to be processed.
+     * @param params The message params.  Uses the message params to
+     * decide whether or not cloning is required.
+     */
+    private void expandMessage(Element element, Map params) {
+
+        // If this element is not a cloneCollectionTemplateElement, check does it need to be cloned...
+        if(!element.hasAttributeNS(SOAPUICL_NS, IS_CLONE_ATTRIB)) {
+            String ognl = getOGNLExpression(element);
+            Object param;
+            try {
+                param = Ognl.getValue(ognl, params);
+                if(param != null) {
+                    Class paramRuntime = param.getClass();
+
+                    if(paramRuntime.isArray()) {
+                        Element item = getCollectionItemElement(element);
+                        // It's an "array" containing node.  Grab the first/only
+                        // Element in it and clone it the required number of times.
+                        cloneCollectionTemplateElement(item, ((Object[])param).length - 1, ognl);
+                    } else if(Collection.class.isAssignableFrom(paramRuntime)) {
+                        Element item = getCollectionItemElement(element);
+                        // It's a "collection" containing node.  Grab the first/only
+                        // Element in it and clone it the required number of times.
+                        cloneCollectionTemplateElement(item, ((Collection)param).size() - 1, ognl);
+                    }
+                }
+            } catch (OgnlException ex) {
+                if(logger.isDebugEnabled()) {
+                    logger.debug("OGNL Error.", ex);
+                }
+            }
+        }
+
+        // Now do the same for the child elements...
+        List<Node> children = DomUtils.copyNodeList(element.getChildNodes());
+        for (Node node : children) {
+            if (node.getNodeType() == Node.ELEMENT_NODE) {
+                expandMessage((Element) node, params);
+            }
+        }
+    }
+
+    private Element getCollectionItemElement(Element element) {
+        Node firstNode = element.getFirstChild();
+        Element firstElement = null;
+
+        // Basicall, find the first Element child...
+        if(firstNode != null) {
+            if(firstNode.getNodeType() == Node.ELEMENT_NODE) {
+                firstElement = (Element)firstNode;
+            } else {
+                firstElement = DomUtils.getNextSiblingElement(firstNode);
+            }
+        }
+
+        if(firstElement == null) {
+            logger.warn("Message template not in sync with parameter map.  Map contains a collection at a point at which the WSDL doesn't support this collection. Element: " + element.getLocalName());
+        }
+
+        return firstElement;
+    }
+
+    /**
+     * Clone a collection node.
+     * <p/>
+     * Note we have to frig with the OGNL expressions for collections/arrays because the
+     * collection entry is represented by [0], [1] etc in the OGNL expression, not the actual
+     * element name on the DOM e.g. collection node "order/items/item" (where "item" is the
+     * actual collection entry) maps to the OGNL expression "order.items[0]" etc.
+     *  
+     * @param element The collection/array "entry" sub-branch.
+     * @param cloneCount The number of times it needs to be cloned.
+     * @param ognl The OGNL expression for the collection/array. Not including the
+     * indexing part. 
+     */
+    private void cloneCollectionTemplateElement(Element element, int cloneCount, String ognl) {
+        if(element == null) {
+            return;
+        }
+
+        Element nextSibling = DomUtils.getNextSiblingElement(element);
+        Node parent = element.getParentNode();
+
+        element.setAttributeNS(SOAPUICL_NS, SOAPUICL_NS_PREFIX + OGNL_ATTRIB, ognl + "[0]");
+        for(int i = 0; i < cloneCount; i++) {
+            Element clone = (Element) element.cloneNode(true);
+
+            clone.setAttributeNS(SOAPUICL_NS, SOAPUICL_NS_PREFIX + IS_CLONE_ATTRIB, "true");
+            clone.setAttributeNS(SOAPUICL_NS, SOAPUICL_NS_PREFIX + OGNL_ATTRIB, ognl + "[" + Integer.toString(i + 1) + "]");
+            if(nextSibling == null) {
+                parent.appendChild(clone);
+            } else {
+                parent.insertBefore(clone, nextSibling);
+            }
+            nextSibling = DomUtils.getNextSiblingElement(clone);
+        }
+    }
+
+    private void injectParameters(Element element, Map params) {
+        NodeList children = element.getChildNodes();
+        int childCount = children.getLength();
+
+        for (int i = 0; i < childCount; i++) {
+            Node node = children.item(i);
+
+            if (childCount == 1 && node.getNodeType() == Node.TEXT_NODE) {
+                if (node.getTextContent().equals("?")) {
+                    String ognl = getOGNLExpression(element);
+                    Object param;
+
+                    try {
+                        param = Ognl.getValue(ognl, params);
+                    } catch (OgnlException ex) {
+                        param = "";
+                    }
+
+                    element.removeChild(node);
+                    element.appendChild(element.getOwnerDocument().createTextNode(param.toString()));
+                }
+            } else if (node.getNodeType() == Node.ELEMENT_NODE) {
+                injectParameters((Element) node, params);
+            }
+        }
+
+        element.removeAttributeNS(SOAPUICL_NS, IS_CLONE_ATTRIB);
+        element.removeAttributeNS(SOAPUICL_NS, OGNL_ATTRIB);
+    }
+
+    private String getOGNLExpression(Element element) {
+        StringBuffer xpath = new StringBuffer();
+        Node parent = element.getParentNode();
+
+        xpath.append(getOGNLToken(element));
+
+        while (parent != null && parent.getNodeType() == Node.ELEMENT_NODE) {
+            if (parent.getLocalName().equalsIgnoreCase("body") &&
+                    parent.getNamespaceURI().equalsIgnoreCase("http://schemas.xmlsoap.org/soap/envelope/")) {
+                break;
+            }
+
+            Element parentElement = (Element) parent;
+            String preassignedOgnl = parentElement.getAttributeNS(SOAPUICL_NS, OGNL_ATTRIB);
+            if(preassignedOgnl != null && !preassignedOgnl.equals("")) {
+                xpath.insert(0, "." + preassignedOgnl);
+                break;
+            } else {
+                xpath.insert(0, getOGNLToken(parentElement));
+            }
+            parent = parent.getParentNode();
+        }
+
+        // Remove the leading '.'
+        xpath.deleteCharAt(0);
+
+        return xpath.toString();
+    }
+
+    private String getOGNLToken(Element element) {
+        String localName = element.getLocalName();
+        int count = DomUtils.countElementsBefore(element, element.getTagName());
+        String xpathToken;
+
+        if (count > 0) {
+            xpathToken = "." + localName + "[" + (count + 1) + "]";
+        } else {
+            xpathToken = "." + localName;
+        }
+
+        return xpathToken;
+    }
+
+}


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBean.java
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBean.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBean.java	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,74 @@
+/*
+ * 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.IOException;
+import java.util.Map;
+
+import org.jboss.system.ServiceMBean;
+import org.xml.sax.SAXException;
+
+/**
+ * Soap UI Soap Client Service.
+ * <p/>
+ * Embeds the <a href="http://www.soapui.org/">soapui</a> tool, using it to generate
+ * a valid soap requests, as well as unmarshal response data from a valid soap response.
+ *
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public interface SoapUIClientServiceMBean extends ServiceMBean {
+
+    /**
+     * Build a SOAP request for the specified operation on the specified WSDL.
+     *
+     * @param wsdl      WSDL URL.
+     * @param operation Operation name.
+     * @param params    Message parameter map.
+     * @return The SOAP Message.
+     * @throws IOException Failed to load WSDL.
+     * @throws UnsupportedOperationException Operation not supported on specified WSDL.
+     * @throws SAXException Failed to parse the SOAP UI generated request message.
+     */
+    public abstract String buildRequest(String wsdl, String operation, Map params) throws IOException, UnsupportedOperationException, SAXException;
+
+    /**
+     * Populate the supplied SOAP responseObject from the supplied soapMessage.
+     *
+     * @param wsdl      WSDL URL.
+     * @param operation Operation name.
+     * @param soapMessage The soap message containing the data.
+     * @param responseObject The soap response object to be populated fromthe data in the soap message.
+     * @return The populated responseObject, or a fault object if the message contains a fault.
+     * @throws IOException Failed to load WSDL.
+     * @throws UnsupportedOperationException Operation not supported on specified WSDL.
+     * @throws SAXException Failed to parse the SOAP message.
+     */
+    public abstract Object populateResponse(String wsdl, String operation, String soapMessage, Object responseObject) throws IOException, UnsupportedOperationException, SAXException;
+
+    /**
+     * Get the 1st endpoint from the specified WSDL.
+     *
+     * @param wsdl      WSDL URL.
+     * @return The operation endpoint URL.
+     * @throws IOException Failed to load WSDL.
+     */
+    public abstract String getEndpoint(String wsdl) throws IOException;
+}


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBean.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/services/soapui-client/src/main/resources/META-INF/jboss-service.xml
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/main/resources/META-INF/jboss-service.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/main/resources/META-INF/jboss-service.xml	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <mbean code="org.jboss.soa.esb.services.soapui.SoapUIClientService"
+           name="jboss.esb:service=SoapUIClientService">
+    </mbean>
+    <loader-repository>
+        jboss.esb:loader=soapui-client.sar
+    </loader-repository>
+</service>
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/main/resources/META-INF/jboss-service.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/BPELRetailer.wsdl
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/BPELRetailer.wsdl	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/BPELRetailer.wsdl	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="BPELRetailer" targetNamespace="http://docs.active-endpoints.com/activebpel/sample/wsdl/bpelretailer/2006/04/BPELRetailer.wsdl" xmlns:tns="http://docs.active-endpoints.com/activebpel/sample/wsdl/bpelretailer/2006/04/BPELRetailer.wsdl" xmlns:ord="http://schemas.active-endpoints.com/sample/customerorder/2006/04/CustomerOrder.xsd" xmlns:cust="http://schemas.active-endpoints.com/sample/customer/2006/04/Customer.xsd" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://org.jboss.esb/quickstarts/bpel/ABI_OrderManager" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:rws="http://docs.active-endpoints.com/activebpel/sample/wsdl/retailer/2006/04/Retailer.wsdl" xmlns:cws="http://docs.active-endpoints.com/activebpel/sample/wsdl/customer/2006/04/Customer.wsdl">
+  <wsdl:import namespace="http://docs.active-endpoints.com/activebpel/sample/wsdl/retailer/2006/04/Retailer.wsdl" location="Retailer.wsdl"/>
+  <wsdl:import namespace="http://docs.active-endpoints.com/activebpel/sample/wsdl/customer/2006/04/Customer.wsdl" location="Customer.wsdl"/>
+<plnk:partnerLinkType xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" name="PurchasingPLT">
+   <plnk:role name="Buyer" portType="cws:CustomerPortType"/>
+   <plnk:role name="Seller" portType="rws:RetailerPortType"/>
+</plnk:partnerLinkType>
+<vprop:property xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" name="customerNumber" type="xsd:string"/>
+<vprop:property xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" name="poNumber" type="xsd:string"/>
+<vprop:propertyAlias xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" messageType="cws:SendOrderConfirmationRequest" part="Document" propertyName="tns:poNumber">
+   <vprop:query>/cust:orderConfirmation/cust:poNumber</vprop:query>
+</vprop:propertyAlias>
+<vprop:propertyAlias xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" messageType="rws:SubmitOrderRequest" part="Document" propertyName="tns:poNumber">
+   <vprop:query>
+			/ord:customerOrder/ord:header/ord:poNumber
+		</vprop:query>
+</vprop:propertyAlias>
+<vprop:property xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" name="orderNum" type="xsd:string"/>
+<vprop:propertyAlias xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" messageType="ns:OrderManagerPortType_customerOrderResponse" part="result" propertyName="tns:orderNum"/>
+<vprop:propertyAlias xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" messageType="ns:SendSalesOrderNotificationRequest" part="Document" propertyName="tns:orderNum">
+   <vprop:query>ns:orderNumber</vprop:query>
+</vprop:propertyAlias>
+<vprop:propertyAlias xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" messageType="rws:SubmitOrderRequest" part="Document" propertyName="tns:customerNumber">
+   <vprop:query>ord:header/ord:customerNumber</vprop:query>
+</vprop:propertyAlias>
+</wsdl:definitions>

Added: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Customer.wsdl
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Customer.wsdl	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Customer.wsdl	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="Customer"
+	targetNamespace="http://docs.active-endpoints.com/activebpel/sample/wsdl/customer/2006/04/Customer.wsdl"
+	xmlns:tns="http://docs.active-endpoints.com/activebpel/sample/wsdl/customer/2006/04/Customer.wsdl"
+	xmlns:cust="http://schemas.active-endpoints.com/sample/customer/2006/04/Customer.xsd"
+	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+
+	<wsdl:types>
+		<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+			<xs:import
+				namespace="http://schemas.active-endpoints.com/sample/customer/2006/04/Customer.xsd"
+				schemaLocation="Customer.xsd" />
+		</xs:schema>
+	</wsdl:types>
+
+	<wsdl:message name="SendOrderConfirmationRequest">
+		<wsdl:part name="Document" element="cust:orderConfirmation" />
+	</wsdl:message>
+
+	<wsdl:message name="SendOrderConfirmationResponse">
+		<wsdl:part name="Document" element="cust:orderConfirmationAck" />
+	</wsdl:message>
+
+	<wsdl:portType name="CustomerPortType">
+		<wsdl:operation name="SendOrderConfirmation">
+			<wsdl:input message="tns:SendOrderConfirmationRequest" />
+			<wsdl:output message="tns:SendOrderConfirmationResponse" />
+		</wsdl:operation>
+
+	</wsdl:portType>
+
+	<wsdl:binding name="CustomerSoap" type="tns:CustomerPortType">
+		<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+		<wsdl:operation name="SendOrderConfirmation">
+			<soap:operation
+				soapAction="http://docs.active-endpoints.com/activebpel/sample/wsdl/customer/2006/04/Customer.wsdl/SendOrderConfirmation"
+				style="document" />
+			<wsdl:input>
+				<soap:body use="literal" />
+			</wsdl:input>
+			<wsdl:output>
+				<soap:body use="literal" />
+			</wsdl:output>
+		</wsdl:operation>
+	</wsdl:binding>
+
+	<wsdl:service name="CustomerService">
+		<wsdl:port name="CustomerSoap" binding="tns:CustomerSoap">
+			<soap:address
+				location="http://localhost:18080/active-bpel/services/ABI_Customer" />
+		</wsdl:port>
+	</wsdl:service>
+</wsdl:definitions>

Added: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Customer.xsd
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Customer.xsd	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Customer.xsd	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+
+<xs:schema elementFormDefault="qualified"
+	attributeFormDefault="unqualified"
+	targetNamespace="http://schemas.active-endpoints.com/sample/customer/2006/04/Customer.xsd"
+	xmlns:tns="http://schemas.active-endpoints.com/sample/customer/2006/04/Customer.xsd"
+	xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+	<xs:element name="orderConfirmation" type="tns:OrderConfirmation" />
+	<xs:element name="orderConfirmationAck" type="xs:boolean" />
+
+	<xs:complexType name="OrderConfirmation">
+		<xs:sequence>
+			<xs:element name="customerNumber" type="xs:string" />
+			<xs:element name="poNumber" type="xs:string" />
+			<xs:element name="orderNumber" type="xs:string" />
+		</xs:sequence>
+	</xs:complexType>
+
+</xs:schema>


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Customer.xsd
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/CustomerOrder.xsd
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/CustomerOrder.xsd	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/CustomerOrder.xsd	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified"
+	attributeFormDefault="unqualified"
+	targetNamespace="http://schemas.active-endpoints.com/sample/customerorder/2006/04/CustomerOrder.xsd"
+	xmlns:tns="http://schemas.active-endpoints.com/sample/customerorder/2006/04/CustomerOrder.xsd"
+	xmlns:std="http://schemas.active-endpoints.com/sample/standardtypes/2006/04/StandardTypes.xsd"
+	xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+	<xs:import
+		namespace="http://schemas.active-endpoints.com/sample/standardtypes/2006/04/StandardTypes.xsd"
+		schemaLocation="StandardTypes.xsd" />
+
+	<xs:element name="customerOrder" type="tns:CustomerOrder" />
+	<xs:element name="header" type="tns:OrderHeader" />
+	<xs:element name="items" type="tns:OrderItems" />
+	<xs:element name="item" type="tns:Item" />
+	<xs:element name="customerOrderAck" type="xs:boolean" />
+	<xs:element name="orderInquiry" type="tns:OrderInquiry" />
+	<xs:element name="customerNumber" type="xs:string" />
+	<xs:element name="poNumber" type="xs:string" />
+	<xs:element name="orderStatus" type="xs:string" />
+	<xs:element name="cancelOrder" type="tns:CancelOrder" />
+	
+	<xs:complexType name="CustomerOrder">
+		<xs:sequence>
+			<xs:element ref="tns:header" />
+			<xs:element ref="tns:items" />
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:complexType name="OrderHeader">
+		<xs:sequence>
+			<xs:element ref="tns:customerNumber" />
+			<xs:element ref="tns:poNumber" />
+			<xs:element name="orderDate" type="xs:date" />
+			<xs:element name="orderTotal" type="std:Amount" />
+			<xs:element name="billTo" type="std:Party" />
+			<xs:element name="shipTo" type="std:Party" />
+			<xs:element name="billTerms" type="xs:string" minOccurs="0"
+				maxOccurs="1" />
+			<xs:element name="shipTerms" type="xs:string" minOccurs="0"
+				maxOccurs="1" />
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:complexType name="OrderItems">
+		<xs:sequence>
+			<xs:element ref="tns:item" maxOccurs="unbounded"
+				minOccurs="1" />
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:complexType name="Item">
+		<xs:sequence>
+			<xs:element name="partNumber" type="std:SKU" />
+			<xs:element name="description" type="xs:string" />
+			<xs:element name="quantity" type="xs:unsignedShort" />
+			<xs:element name="price" type="std:Amount" />
+			<xs:element name="extensionAmount" type="std:Amount" />
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:complexType name="OrderInquiry">
+		<xs:sequence>
+			<xs:element ref="tns:customerNumber" />
+			<xs:element ref="tns:poNumber" />
+		</xs:sequence>
+	</xs:complexType>
+	
+	<xs:complexType name="CancelOrder">
+		<xs:sequence>
+			<xs:element ref="tns:orderInquiry" />
+		</xs:sequence>
+	</xs:complexType>
+
+
+
+</xs:schema>


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/CustomerOrder.xsd
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Retailer.wsdl
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Retailer.wsdl	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Retailer.wsdl	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="Retailer"
+	targetNamespace="http://docs.active-endpoints.com/activebpel/sample/wsdl/retailer/2006/04/Retailer.wsdl"
+	xmlns:tns="http://docs.active-endpoints.com/activebpel/sample/wsdl/retailer/2006/04/Retailer.wsdl"
+	xmlns:cust="http://schemas.active-endpoints.com/sample/customerorder/2006/04/CustomerOrder.xsd"
+	xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+	<wsdl:types>
+		<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+			<xsd:import
+				namespace="http://schemas.active-endpoints.com/sample/customerorder/2006/04/CustomerOrder.xsd"
+				schemaLocation="CustomerOrder.xsd" />
+		</xsd:schema>
+	</wsdl:types>
+
+	<wsdl:message name="SubmitOrderRequest">
+		<wsdl:part name="Document" element="cust:customerOrder" />
+	</wsdl:message>
+
+	<wsdl:message name="SubmitOrderResponse">
+		<wsdl:part name="Document" element="cust:customerOrderAck" />
+	</wsdl:message>
+
+	<wsdl:portType name="RetailerPortType">
+		<wsdl:operation name="SubmitOrder">
+			<wsdl:input message="tns:SubmitOrderRequest" />
+			<wsdl:output message="tns:SubmitOrderResponse" />
+		</wsdl:operation>
+	</wsdl:portType>
+	<wsdl:binding name="RetailerBinding" type="tns:RetailerPortType">
+		<soap:binding style="document"
+			transport="http://schemas.xmlsoap.org/soap/http" />
+		<wsdl:operation name="SubmitOrder">
+			<soap:operation
+				soapAction="http://docs.active-endpoints.com/activebpel/sample/wsdl/retailer/2006/04/Retailer.wsdl/SubmitOrder" />
+			<wsdl:input>
+				<soap:body use="literal" />
+			</wsdl:input>
+			<wsdl:output>
+				<soap:body use="literal" />
+			</wsdl:output>
+		</wsdl:operation>
+	</wsdl:binding>
+	<wsdl:service name="RetailerService">
+		<wsdl:port name="RetailerPort" binding="tns:RetailerBinding">
+			<soap:address location="http://localhost:18080/active-bpel/services/Retailer" />
+		</wsdl:port>
+	</wsdl:service>
+</wsdl:definitions>

Added: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/RetailerCallback.wsdl
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/RetailerCallback.wsdl	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/RetailerCallback.wsdl	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="OrderManagerPortTypeService" targetNamespace="http://org.jboss.esb/quickstarts/bpel/ABI_OrderManager"
+             xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://ordermanagement.activebpel.com/jaws"
+             xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
+             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+             xmlns:tns="http://org.jboss.esb/quickstarts/bpel/ABI_OrderManager"
+             xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+    <types>
+
+        <schema elementFormDefault="qualified" targetNamespace="http://org.jboss.esb/quickstarts/bpel/ABI_OrderManager"
+                xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://ordermanagement.activebpel.com/jaws"
+                xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
+                xmlns:tns="http://org.jboss.esb/quickstarts/bpel/ABI_OrderManager"
+                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+            <import namespace="http://ordermanagement.activebpel.com/jaws"/>
+
+            <complexType name="CancelOrder">
+
+                <sequence>
+
+                    <element name="orderInquiry" nillable="true" type="ns2:OrderInquiry"/>
+
+                </sequence>
+
+            </complexType>
+
+            <complexType name="CustomerOrder">
+
+                <sequence>
+
+                    <element name="header" nillable="true" type="ns2:OrderHeader"/>
+
+                    <element maxOccurs="unbounded" minOccurs="0" name="items" nillable="true" type="ns2:Item"/>
+
+                </sequence>
+
+            </complexType>
+
+            <complexType name="SalesOrderFault">
+
+                <sequence>
+
+                    <element name="reason" nillable="true" type="string"/>
+
+                </sequence>
+
+            </complexType>
+
+
+            <complexType name="SalesOrderNotification">
+
+                <sequence>
+
+                    <element ref="tns:orderNumber"/>
+
+                </sequence>
+
+            </complexType>
+
+
+            <element name="cancelOrder" type="tns:CancelOrder"/>
+
+            <element name="cancelOrderResponse" type="boolean"/>
+
+            <element name="customerOrder" type="tns:CustomerOrder"/>
+
+            <element name="SalesOrderFault" type="tns:SalesOrderFault"/>
+
+            <element name="customerOrderResponse" type="string"/>
+
+            <element name="salesOrderNotification" type="tns:SalesOrderNotification"/>
+
+            <element name="salesOrderNotificationAck" type="boolean"/>
+
+            <element name="orderNumber" type="string"/>
+
+        </schema>
+
+        <schema elementFormDefault="qualified" targetNamespace="http://ordermanagement.activebpel.com/jaws"
+                xmlns="http://www.w3.org/2001/XMLSchema"
+                xmlns:ns1="http://org.jboss.esb/quickstarts/bpel/ABI_OrderManager"
+                xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
+                xmlns:tns="http://ordermanagement.activebpel.com/jaws"
+                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+            <import namespace="http://org.jboss.esb/quickstarts/bpel/ABI_OrderManager"/>
+
+            <complexType name="Address">
+
+                <sequence>
+
+                    <element name="city" nillable="true" type="string"/>
+
+                    <element name="state" nillable="true" type="string"/>
+
+                    <element name="street1" nillable="true" type="string"/>
+
+                    <element name="street2" nillable="true" type="string"/>
+
+                    <element name="zip" nillable="true" type="string"/>
+
+                </sequence>
+
+            </complexType>
+
+            <complexType name="Contact">
+
+                <sequence>
+
+                    <element name="email" nillable="true" type="string"/>
+
+                    <element name="fax" nillable="true" type="string"/>
+
+                    <element name="name" nillable="true" type="string"/>
+
+                    <element name="phone" nillable="true" type="string"/>
+
+                </sequence>
+
+            </complexType>
+
+            <complexType name="Item">
+
+                <sequence>
+
+                    <element name="description" nillable="true" type="string"/>
+
+                    <element name="extensionAmount" nillable="true" type="decimal"/>
+
+                    <element name="partNumber" nillable="true" type="string"/>
+
+                    <element name="price" nillable="true" type="decimal"/>
+
+                    <element name="quantity" type="int"/>
+
+                </sequence>
+
+            </complexType>
+
+            <complexType name="OrderHeader">
+
+                <sequence>
+
+                    <element name="billTerms" nillable="true" type="string"/>
+
+                    <element name="billTo" nillable="true" type="tns:Party"/>
+
+                    <element name="customerNumber" nillable="true" type="string"/>
+
+                    <element name="orderDate" nillable="true" type="dateTime"/>
+
+                    <element name="orderTotal" nillable="true" type="decimal"/>
+
+                    <element name="poNumber" nillable="true" type="string"/>
+
+                    <element name="shipTerms" nillable="true" type="string"/>
+
+                    <element name="shipTo" nillable="true" type="tns:Party"/>
+
+                </sequence>
+
+            </complexType>
+
+            <complexType name="OrderInquiry">
+
+                <sequence>
+
+                    <element name="customerNumber" nillable="true" type="string"/>
+
+                    <element name="poNumber" nillable="true" type="string"/>
+
+                </sequence>
+
+            </complexType>
+
+            <complexType name="Party">
+
+                <sequence>
+
+                    <element name="address" nillable="true" type="tns:Address"/>
+
+                    <element name="company" nillable="true" type="string"/>
+
+                    <element name="contact" nillable="true" type="tns:Contact"/>
+
+                </sequence>
+
+            </complexType>
+
+        </schema>
+
+    </types>
+
+    <message name="SendSalesOrderNotificationResponse">
+
+        <part element="tns:salesOrderNotificationAck" name="Document"/>
+
+    </message>
+
+    <message name="SendSalesOrderNotificationRequest">
+
+        <part element="tns:salesOrderNotification" name="Document"/>
+
+    </message>
+
+    <portType name="RetailerCallbackPortType">
+
+        <operation name="SendSalesOrderNotification">
+
+            <input message="tns:SendSalesOrderNotificationRequest"/>
+
+            <output message="tns:SendSalesOrderNotificationResponse"/>
+
+        </operation>
+
+    </portType>
+
+    <binding name="RetailerCallbackBinding" type="tns:RetailerCallbackPortType">
+
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"
+                      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
+
+        <operation name="SendSalesOrderNotification">
+
+            <soap:operation soapAction="" style="document" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
+
+            <input>
+
+                <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
+
+            </input>
+
+            <output>
+
+                <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
+
+            </output>
+
+        </operation>
+
+    </binding>
+
+    <service name="RetailerCallback">
+
+        <port binding="tns:RetailerCallbackBinding" name="RetailerCallbackPort">
+
+            <soap:address location="http://localhost:18080/active-bpel/services/RetailerCallback"
+                          xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
+
+        </port>
+
+    </service>
+
+</definitions>
+

Added: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Shipping.wsdl
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Shipping.wsdl	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/Shipping.wsdl	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+	xmlns:tns="http://org.jboss.esb/quickstarts/bpel/ABI_Shipping"
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
+	name="ShippingPortTypeService"
+	targetNamespace="http://org.jboss.esb/quickstarts/bpel/ABI_Shipping">
+	<types>
+		<schema xmlns="http://www.w3.org/2001/XMLSchema"
+			xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
+			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+			elementFormDefault="qualified"
+			targetNamespace="http://org.jboss.esb/quickstarts/bpel/ABI_Shipping"
+			xmlns:tns="http://org.jboss.esb/quickstarts/bpel/ABI_Shipping">
+			<complexType name="ShippingRequest">
+				<sequence>
+					<element name="customerNumber" nillable="true"
+						type="string" />
+					<element name="orderNumber" nillable="true"
+						type="string" />
+					<element name="poNumber" nillable="true"
+						type="string" />
+				</sequence>
+			</complexType>
+			<complexType name="ShippingResponse">
+				<sequence>
+					<element name="orderShipped" type="boolean" />
+				</sequence>
+			</complexType>
+			<element name="shippingRequest" type="tns:ShippingRequest" />
+			<element name="shippingRequestResponse"
+				type="tns:ShippingResponse" />
+		</schema>
+	</types>
+	<message name="ShippingPortType_shippingRequest">
+		<part element="tns:shippingRequest" name="parameters" />
+	</message>
+	<message name="ShippingPortType_shippingRequestResponse">
+		<part element="tns:shippingRequestResponse" name="result" />
+	</message>
+	<portType name="ShippingPortType">
+		<operation name="shippingRequest">
+			<input message="tns:ShippingPortType_shippingRequest" />
+			<output
+				message="tns:ShippingPortType_shippingRequestResponse" />
+		</operation>
+	</portType>
+	<binding name="ShippingPortTypeBinding"
+		type="tns:ShippingPortType">
+		<soap:binding style="document"
+			transport="http://schemas.xmlsoap.org/soap/http" />
+		<operation name="shippingRequest">
+			<soap:operation soapAction="" />
+			<input>
+				<soap:body use="literal" />
+			</input>
+			<output>
+				<soap:body use="literal" />
+			</output>
+		</operation>
+	</binding>
+	<service name="ShippingPortTypeService">
+		<port binding="tns:ShippingPortTypeBinding"
+			name="ShippingPortTypePort">
+			<soap:address location="http://localhost:8866" />
+		</port>
+	</service>
+	
+	<plnk:partnerLinkType name="ShippingPLT">
+		<plnk:role name="Shipper" portType="tns:ShippingPortType" />
+	</plnk:partnerLinkType>
+	
+</definitions>
\ No newline at end of file

Added: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBeanUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBeanUnitTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBeanUnitTest.java	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,145 @@
+/*
+ * 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 junit.framework.TestCase;
+
+import java.io.*;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.List;
+import java.util.ArrayList;
+import java.math.BigDecimal;
+
+import org.xml.sax.SAXException;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SoapUIClientServiceMBeanUnitTest extends TestCase {
+
+    private static final String WSDL_LOCATAION = "src/test/java/org/jboss/soa/esb/services/soapui";
+
+    public void test_no_collections() throws IOException, SAXException {
+        File wsdlFile = new File(WSDL_LOCATAION + "/RetailerCallback.wsdl");
+        SoapUIClientService mbean = new SoapUIClientService();
+        Map params = new HashMap();
+
+        params.put("salesOrderNotification", new OrderNotification());
+        String message = mbean.buildRequest(wsdlFile.toURI().toString(), "SendSalesOrderNotification", params);
+        assertTrue("Generated SOAP message not as expected. See expected_01.xml.  Generated message: \n" + message, compareCharStreams(getClass().getResourceAsStream("expected_01.xml"), new ByteArrayInputStream(message.getBytes())));
+        assertEquals("http://localhost:18080/active-bpel/services/RetailerCallback", mbean.getEndpoint(wsdlFile.toURI().toString()));
+    }
+
+    public void test_has_collections() throws IOException, SAXException {
+        File wsdlFile = new File(WSDL_LOCATAION + "/BPELRetailer.wsdl");
+        SoapUIClientService mbean = new SoapUIClientService();
+        Map params = new HashMap();
+        CustomerOrder1 order1 = new CustomerOrder1();
+        CustomerOrder2 order2 = new CustomerOrder2();
+        List<OrderItem> items1 = new ArrayList<OrderItem>();
+        OrderItem[] items2 = new OrderItem[4];
+
+        addOrderItems(items1);
+        order1.items = items1;
+        items1.toArray(items2);
+        order2.items = items2;
+
+        params.put("customerOrder", order1);
+        String message = mbean.buildRequest(wsdlFile.toURI().toString(), "SubmitOrder", params);
+        assertTrue("Generated SOAP message not as expected. See expected_02.xml.  Generated message: \n" + message, compareCharStreams(getClass().getResourceAsStream("expected_02.xml"), new ByteArrayInputStream(message.getBytes())));
+
+        items1.remove(0);items1.remove(0);items1.remove(0);
+        message = mbean.buildRequest(wsdlFile.toURI().toString(), "SubmitOrder", params);
+        assertTrue("Generated SOAP message not as expected. See expected_03.xml.  Generated message: \n" + message, compareCharStreams(getClass().getResourceAsStream("expected_03.xml"), new ByteArrayInputStream(message.getBytes())));
+
+        params.put("customerOrder", order2);
+        message = mbean.buildRequest(wsdlFile.toURI().toString(), "SubmitOrder", params);
+        assertTrue("Generated SOAP message not as expected. See expected_02.xml.  Generated message: \n" + message, compareCharStreams(getClass().getResourceAsStream("expected_02.xml"), new ByteArrayInputStream(message.getBytes())));
+
+        items2 = new OrderItem[] {new OrderItem(4, "item4", 4, new BigDecimal(4.00), 4)};        
+        order2.items = items2;
+        params.put("customerOrder", order2);
+        message = mbean.buildRequest(wsdlFile.toURI().toString(), "SubmitOrder", params);
+        assertTrue("Generated SOAP message not as expected. See expected_03.xml.  Generated message: \n" + message, compareCharStreams(getClass().getResourceAsStream("expected_03.xml"), new ByteArrayInputStream(message.getBytes())));
+    }
+
+    private void addOrderItems(List<OrderItem> items) {
+        items.add(new OrderItem(1, "item1", 1, new BigDecimal(1.00), 1));
+        items.add(new OrderItem(2, "item2", 2, new BigDecimal(2.00), 2));
+        items.add(new OrderItem(3, "item3", 3, new BigDecimal(3.00), 3));
+        items.add(new OrderItem(4, "item4", 4, new BigDecimal(4.00), 4));
+    }
+
+    private class OrderNotification {
+        public String orderNumber = "12345";
+    }
+
+    private class CustomerOrder1 {
+        public List<OrderItem> items;
+    }
+
+    private class CustomerOrder2 {
+        public OrderItem[] items;
+    }
+
+    private class OrderItem {
+        public long partNumber;
+        public String description;
+        public int quantity;
+        public BigDecimal price;
+        public int extensionAmount;
+
+        public OrderItem(long partNumber, String description, int quantity, BigDecimal price, int extensionAmount) {
+            this.partNumber = partNumber;
+            this.description = description;
+            this.quantity = quantity;
+            this.price = price;
+            this.extensionAmount = extensionAmount;
+        }
+    }
+
+    // Lifted from milyn commons
+    public static boolean compareCharStreams(InputStream s1, InputStream s2) {
+        StringBuffer s1Buf, s2Buf;
+
+        try {
+            s1Buf = trimLines(s1);
+            s2Buf = trimLines(s2);
+
+            return s1Buf.toString().equals(s2Buf.toString());
+        } catch (IOException 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;
+    }
+}


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBeanUnitTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/StandardTypes.xsd
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/StandardTypes.xsd	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/StandardTypes.xsd	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified"
+	attributeFormDefault="unqualified"
+	targetNamespace="http://schemas.active-endpoints.com/sample/standardtypes/2006/04/StandardTypes.xsd"
+	xmlns:tns="http://schemas.active-endpoints.com/sample/standardtypes/2006/04/StandardTypes.xsd"
+	xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+	<xs:complexType name="Party">
+		<xs:sequence>
+			<xs:element name="company" type="xs:string" />
+			<xs:element name="contact" type="tns:Contact" />
+			<xs:element name="address" type="tns:Address" />
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:complexType name="Contact">
+		<xs:sequence>
+			<xs:element name="name" type="xs:string" />
+			<xs:element name="phone" type="xs:string" />
+			<xs:element name="fax" type="xs:string" />
+			<xs:element name="email" type="xs:string" />
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:complexType name="Address">
+		<xs:sequence>
+			<xs:element name="street1" type="xs:string" />
+			<xs:element name="street2" type="xs:string" minOccurs="0"
+				maxOccurs="1" />
+			<xs:element name="city" type="xs:string" />
+			<xs:element name="state" type="xs:string" />
+			<xs:element name="zip" type="xs:string" />
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:simpleType name="SKU">
+		<xs:restriction base="xs:string">
+			<xs:length value="8" />
+			<xs:pattern value="[A-Z]{3}[0-9]{5}" />
+		</xs:restriction>
+	</xs:simpleType>
+
+	<xs:simpleType name="Amount">
+		<xs:restriction base="xs:decimal">
+			<xs:totalDigits value="8" />
+			<xs:fractionDigits value="2" />
+			<xs:minExclusive value="0" />
+		</xs:restriction>
+	</xs:simpleType>
+
+</xs:schema>


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/StandardTypes.xsd
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_01.xml
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_01.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_01.xml	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,8 @@
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:abi="http://org.jboss.esb/quickstarts/bpel/ABI_OrderManager">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <abi:salesOrderNotification>
+         <abi:orderNumber>12345</abi:orderNumber>
+      </abi:salesOrderNotification>
+   </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_01.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_02.xml
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_02.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_02.xml	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,79 @@
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://schemas.active-endpoints.com/sample/customerorder/2006/04/CustomerOrder.xsd" xmlns:stan="http://schemas.active-endpoints.com/sample/standardtypes/2006/04/StandardTypes.xsd">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <cus:customerOrder>
+         <cus:header>
+            <cus:customerNumber></cus:customerNumber>
+            <cus:poNumber></cus:poNumber>
+            <cus:orderDate></cus:orderDate>
+            <cus:orderTotal></cus:orderTotal>
+            <cus:billTo>
+               <stan:company></stan:company>
+               <stan:contact>
+                  <stan:name></stan:name>
+                  <stan:phone></stan:phone>
+                  <stan:fax></stan:fax>
+                  <stan:email></stan:email>
+               </stan:contact>
+               <stan:address>
+                  <stan:street1></stan:street1>
+                  <!--Optional:-->
+                  <stan:street2></stan:street2>
+                  <stan:city></stan:city>
+                  <stan:state></stan:state>
+                  <stan:zip></stan:zip>
+               </stan:address>
+            </cus:billTo>
+            <cus:shipTo>
+               <stan:company></stan:company>
+               <stan:contact>
+                  <stan:name></stan:name>
+                  <stan:phone></stan:phone>
+                  <stan:fax></stan:fax>
+                  <stan:email></stan:email>
+               </stan:contact>
+               <stan:address>
+                  <stan:street1></stan:street1>
+                  <!--Optional:-->
+                  <stan:street2></stan:street2>
+                  <stan:city></stan:city>
+                  <stan:state></stan:state>
+                  <stan:zip></stan:zip>
+               </stan:address>
+            </cus:shipTo>
+            <!--Optional:-->
+            <cus:billTerms></cus:billTerms>
+            <!--Optional:-->
+            <cus:shipTerms></cus:shipTerms>
+         </cus:header>
+         <cus:items>
+            <!--1 or more repetitions:-->
+            <cus:item>
+               <cus:partNumber>1</cus:partNumber>
+               <cus:description>item1</cus:description>
+               <cus:quantity>1</cus:quantity>
+               <cus:price>1</cus:price>
+               <cus:extensionAmount>1</cus:extensionAmount>
+            </cus:item>
+         <cus:item>
+               <cus:partNumber>2</cus:partNumber>
+               <cus:description>item2</cus:description>
+               <cus:quantity>2</cus:quantity>
+               <cus:price>2</cus:price>
+               <cus:extensionAmount>2</cus:extensionAmount>
+            </cus:item><cus:item>
+               <cus:partNumber>3</cus:partNumber>
+               <cus:description>item3</cus:description>
+               <cus:quantity>3</cus:quantity>
+               <cus:price>3</cus:price>
+               <cus:extensionAmount>3</cus:extensionAmount>
+            </cus:item><cus:item>
+               <cus:partNumber>4</cus:partNumber>
+               <cus:description>item4</cus:description>
+               <cus:quantity>4</cus:quantity>
+               <cus:price>4</cus:price>
+               <cus:extensionAmount>4</cus:extensionAmount>
+            </cus:item></cus:items>
+      </cus:customerOrder>
+   </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_02.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_03.xml
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_03.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_03.xml	2007-05-18 16:42:43 UTC (rev 11957)
@@ -0,0 +1,61 @@
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://schemas.active-endpoints.com/sample/customerorder/2006/04/CustomerOrder.xsd" xmlns:stan="http://schemas.active-endpoints.com/sample/standardtypes/2006/04/StandardTypes.xsd">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <cus:customerOrder>
+         <cus:header>
+            <cus:customerNumber></cus:customerNumber>
+            <cus:poNumber></cus:poNumber>
+            <cus:orderDate></cus:orderDate>
+            <cus:orderTotal></cus:orderTotal>
+            <cus:billTo>
+               <stan:company></stan:company>
+               <stan:contact>
+                  <stan:name></stan:name>
+                  <stan:phone></stan:phone>
+                  <stan:fax></stan:fax>
+                  <stan:email></stan:email>
+               </stan:contact>
+               <stan:address>
+                  <stan:street1></stan:street1>
+                  <!--Optional:-->
+                  <stan:street2></stan:street2>
+                  <stan:city></stan:city>
+                  <stan:state></stan:state>
+                  <stan:zip></stan:zip>
+               </stan:address>
+            </cus:billTo>
+            <cus:shipTo>
+               <stan:company></stan:company>
+               <stan:contact>
+                  <stan:name></stan:name>
+                  <stan:phone></stan:phone>
+                  <stan:fax></stan:fax>
+                  <stan:email></stan:email>
+               </stan:contact>
+               <stan:address>
+                  <stan:street1></stan:street1>
+                  <!--Optional:-->
+                  <stan:street2></stan:street2>
+                  <stan:city></stan:city>
+                  <stan:state></stan:state>
+                  <stan:zip></stan:zip>
+               </stan:address>
+            </cus:shipTo>
+            <!--Optional:-->
+            <cus:billTerms></cus:billTerms>
+            <!--Optional:-->
+            <cus:shipTerms></cus:shipTerms>
+         </cus:header>
+         <cus:items>
+            <!--1 or more repetitions:-->
+            <cus:item>
+               <cus:partNumber>4</cus:partNumber>
+               <cus:description>item4</cus:description>
+               <cus:quantity>4</cus:quantity>
+               <cus:price>4</cus:price>
+               <cus:extensionAmount>4</cus:extensionAmount>
+            </cus:item>
+         </cus:items>
+      </cus:customerOrder>
+   </soapenv:Body>
+</soapenv:Envelope>


Property changes on: labs/jbossesb/trunk/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/expected_03.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list