You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2005/09/06 09:33:44 UTC

svn commit: r278936 [14/16] - in /webservices/axis2/trunk/java/modules/integration: itest-resources/interopt/whitemesa/round2/ itest-resources/interopt/whitemesa/round3/ itest/org/apache/axis2/interopt/whitmesa/round1/ itest/org/apache/axis2/interopt/w...

Added: webservices/axis2/trunk/java/modules/integration/itest/org/apache/axis2/interopt/whitmesa/round3/WMRound3InteropTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/itest/org/apache/axis2/interopt/whitmesa/round3/WMRound3InteropTest.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/itest/org/apache/axis2/interopt/whitmesa/round3/WMRound3InteropTest.java (added)
+++ webservices/axis2/trunk/java/modules/integration/itest/org/apache/axis2/interopt/whitmesa/round3/WMRound3InteropTest.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,239 @@
+package org.apache.axis2.interopt.whitmesa.round3;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.interopt.whitemesa.round3.SunRound3Client;
+import org.apache.axis2.interopt.whitemesa.round3.util.*;
+import org.apache.axis2.interopt.whitemesa.WhiteMesaIneterop;
+import org.apache.axis2.soap.SOAPEnvelope;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Gayan Asanka
+ * Date: Aug 23, 2005
+ * Time: 4:27:20 PM
+ */
+
+/**
+ * class MsAsmxRound3InteropTest
+ * To test interoperability in Axis2 Clients Vs White Mesa Server, Round 3 *
+ */
+public class
+        WMRound3InteropTest extends WhiteMesaIneterop {
+
+    SunRound3Client client = null;
+    SOAPEnvelope retEnv = null;
+    boolean success = false;
+    String url = "";
+    String soapAction = "";
+    String resFilePath = "";
+    String tempPath = "";
+    SunRound3ClientUtil util = null;
+    private boolean result = false;
+
+    public void setUp() {
+        client = new SunRound3Client();
+        resFilePath = "interopt/whitemesa/round3/";
+    }
+
+    /**
+     * Round 3
+     * Group EmptySA
+     * operation EchoString
+     * This test Not Available!!!
+     */
+//    public void testR3EsaEchoString() throws AxisFault {
+//
+//        url = "http://www.whitemesa.net/interop/r3/emptySA-12";
+//        soapAction = "";
+//
+//        util = new Round3EmptySAEchoStringUtil();
+//        retEnv = client.sendMsg(util, url, soapAction);
+//        tempPath = resFilePath + "WMR3EsaRes.xml";
+//        result = compare(retEnv, tempPath);
+//        assertTrue(result);
+//
+//    }
+
+    /**
+     * Round 3
+     * Group D
+     * Service import1
+     * operation EchoString
+     */
+    public void testR3GDEchoString() throws AxisFault {
+        url = "http://www.whitemesa.net/interop/r3/import1";
+        soapAction = "http://soapinterop.org/";
+
+        util = new GDImport1EchoStringUtil();
+        retEnv = client.sendMsg(util, url, soapAction);
+        tempPath = resFilePath + "WMGDImport1StringRes.xml";
+        result = compare(retEnv, tempPath);
+        assertTrue(result);
+    }
+
+    /**
+     * Round 3
+     * Group D
+     * Service import2
+     * operation EchoStruct
+     */
+    public void testR3GDEchoStruct() throws AxisFault {
+        url = "http://www.whitemesa.net/interop/r3/import2";
+        soapAction = "http://soapinterop.org/";
+
+        util = new GDImport2EchoStructUtil();
+        retEnv = client.sendMsg(util, url, soapAction);
+        tempPath = resFilePath + "WMGDImport2StructRes.xml";
+        result = compare(retEnv, tempPath);
+        assertTrue(result);
+    }
+
+    /**
+     * Round 3
+     * Group D
+     * Service import3
+     * operation EchoStruct
+     */
+    public void testR3GDI3EchoStruct() throws AxisFault {
+        url = "http://www.whitemesa.net/interop/r3/import3";
+        soapAction = "http://soapinterop.org/";
+
+        util = new GDImport2EchoStructUtil();
+        retEnv = client.sendMsg(util, url, soapAction);
+        tempPath = resFilePath + "WMGDImport3StructRes.xml";
+        result = compare(retEnv, tempPath);
+        assertTrue(result);
+    }
+
+    /**
+     * Round 3
+     * Group D
+     * Service import3
+     * operation EchoStructArray
+     */
+    public void testR3GDI3EchoStructArray() throws AxisFault {
+        url = "http://www.whitemesa.net/interop/r3/import3";
+        soapAction = "http://soapinterop.org/";
+
+        util = new GDImport3StructArrayUtil();
+        retEnv = client.sendMsg(util, url, soapAction);
+        tempPath = resFilePath + "WMGDImport3StructArrayRes.xml";
+        result = compare(retEnv, tempPath);
+        assertTrue(result);
+    }
+
+
+     /**
+     * Round 3
+     * Group D
+     * Service rpcencoded
+     * operation EchoString
+     */
+    public void testR3GDRpcEchoString() throws AxisFault {
+        url = "http://www.whitemesa.net/interop/r3/rpcEnc";
+        soapAction = "";
+
+        util = new GDRpcStringUtil();
+        retEnv = client.sendMsg(util, url, soapAction);
+        tempPath = resFilePath + "WMGDRpcStringRes.xml";
+        result = compare(retEnv, tempPath);
+        assertTrue(result);
+    }
+
+    /**
+     * Round 3
+     * Group D
+     * Service rpcencoded
+     * operation EchoStringArray
+     */
+    public void testR3GDRpcEchoStringArray() throws AxisFault {
+        url = "http://www.whitemesa.net/interop/r3/rpcEnc";
+        soapAction = "";
+
+        util = new GDRpcStringArrayUtil();
+        retEnv = client.sendMsg(util, url, soapAction);
+        tempPath = resFilePath + "WMGDRpcStringArrayRes.xml";
+        result = compare(retEnv, tempPath);
+        assertTrue(result);
+    }
+
+    /**
+     * Round 3
+     * Group D
+     * Service Rpcencoded
+     * operation EchoStruct
+     */
+    public void testR3GDRpcEchoStruct() throws AxisFault {
+        url = "http://www.whitemesa.net/interop/r3/rpcEnc";
+        soapAction = "";
+
+        util = new GDRpcStructUtil();
+        retEnv = client.sendMsg(util, url, soapAction);
+        tempPath = resFilePath + "WMGDRpcStructRes.xml";
+        result = compare(retEnv, tempPath);
+        assertTrue(result);
+    }
+
+    /**
+     * Round 3
+     * Group D
+     * Service Rpcencoded
+     * operation EchoVoid
+     */
+    public void testR3GDRpcEchoVoid() throws AxisFault {
+        url = "http://www.whitemesa.net/interop/r3/rpcEnc";
+        soapAction = "";
+
+        util = new GDRpcVoidUtil();
+        retEnv = client.sendMsg(util, url, soapAction);
+        tempPath = resFilePath + "WMGDRpcVoidRes.xml";
+        result = compare(retEnv, tempPath);
+        assertTrue(result);
+    }
+
+
+
+
+//    private static boolean compare(SOAPEnvelope retEnv, String filePath) throws AxisFault {
+//        boolean ok = false;
+//        try {
+//            if (retEnv != null) {
+//                SOAPBody body = retEnv.getBody();
+//                if (!body.hasFault()) {
+//                    InputStream stream = WMRound3InteropTest.class.getClassLoader().getResourceAsStream( filePath);
+//                    OMElement firstChild = (OMElement) body.getFirstElement();
+//                    XMLStreamReader parser = null;
+//                    parser = XMLInputFactory.newInstance().createXMLStreamReader(stream);
+//                    OMXMLParserWrapper builder = new StAXSOAPModelBuilder(parser, null);
+//                    SOAPEnvelope resEnv = (SOAPEnvelope) builder.getDocumentElement();
+//                    OMElement refNode = (OMElement) resEnv.getBody().getFirstElement();
+//                    XMLComparator comparator = new XMLComparator();
+//                    ok = comparator.compare(firstChild, refNode);
+//                } else
+//                    return false;
+//            } else
+//                return false;
+//
+//        } catch (Exception e) {
+//            throw new AxisFault(e);
+//        }
+//        return ok;
+//    }
+}

Modified: webservices/axis2/trunk/java/modules/integration/itest/org/apache/axis2/interopt/whitmesa/round4/complex/WhitemesaR4ComplexTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/itest/org/apache/axis2/interopt/whitmesa/round4/complex/WhitemesaR4ComplexTest.java?rev=278936&r1=278935&r2=278936&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/itest/org/apache/axis2/interopt/whitmesa/round4/complex/WhitemesaR4ComplexTest.java (original)
+++ webservices/axis2/trunk/java/modules/integration/itest/org/apache/axis2/interopt/whitmesa/round4/complex/WhitemesaR4ComplexTest.java Tue Sep  6 00:28:01 2005
@@ -9,6 +9,7 @@
 import org.apache.axis2.soap.SOAPEnvelope;
 import org.apache.axis2.interopt.whitemesa.round4.complex.EchoBlockingClient;
 import org.apache.axis2.interopt.whitemesa.round4.complex.utils.*;
+import org.apache.axis2.XMLComparatorInterop;
 
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLInputFactory;
@@ -53,14 +54,15 @@
             XMLComparisonException {
         boolean compare=false;
         if(retEle!=null){
-            InputStream stream = WhitemesaR4ComplexTest.class.getClassLoader().getResourceAsStream("/" + filepath);
-            javax.xml.stream.XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(stream);
+            InputStream stream = Thread.currentThread().
+                    getContextClassLoader().getResourceAsStream(filepath);
+            javax.xml.stream.XMLStreamReader parser =
+                    XMLInputFactory.newInstance().createXMLStreamReader(stream);
             OMXMLParserWrapper builder = new StAXSOAPModelBuilder(parser, null);
             SOAPEnvelope resEnv = (SOAPEnvelope) builder.getDocumentElement();
             OMElement resElementtobe = resEnv.getBody().getFirstElement();
-            XMLComparator comparator = new XMLComparator();
+            XMLComparatorInterop comparator = new XMLComparatorInterop();
             compare = comparator.compare(retEle,resElementtobe);
-
         }
         return compare;
     }
@@ -69,14 +71,14 @@
     public void testSoapStructFault() throws Exception {
         util=new EchoSOAPStructFaultClientUtil();
         retEle = client.sendMsg(util,soapAction);
-        assertTrue(Compare(retEle,"/interopt/whitemesa/round4/complex/resSoapStructFault.xml"));
+        assertTrue(Compare(retEle,"interopt/whitemesa/round4/complex/resSoapStructFault.xml"));
     }
 
     //echoBaseSoapStructFault
     public void testBaseStructFault()throws Exception{
         util=new EchoBaseStructFaultClientutil();
         retEle = client.sendMsg(util,soapAction);
-        assertTrue(Compare( retEle,"/interopt/whitemesa/round4/complex/resBaseStructFault.xml"));
+        assertTrue(Compare( retEle,"interopt/whitemesa/round4/complex/resBaseStructFault.xml"));
 
     }
 
@@ -84,7 +86,7 @@
     public void testExtendedStructFault()throws Exception{
         util=new EchoExtendedStructFaultClientUtil();
         retEle = client.sendMsg(util,soapAction);
-        assertTrue(Compare( retEle,"/interopt/whitemesa/round4/complex/resExtendedStructFault.xml"));
+        assertTrue(Compare( retEle,"interopt/whitemesa/round4/complex/resExtendedStructFault.xml"));
 
     }
 
@@ -92,14 +94,14 @@
     public void testMultiplefaults1()throws Exception{
         util=new EchoMultipleFaults1ClientUtil();
         retEle = client.sendMsg(util,soapAction);
-        assertTrue(Compare( retEle,"/interopt/whitemesa/round4/complex/resMultipleFaults1.xml"));
+        assertTrue(Compare( retEle,"interopt/whitemesa/round4/complex/resMultipleFaults1.xml"));
     }
 
     //echomultiplefaults2
     public void testMultiplefaults2()throws Exception{
         util=new EchoMultipleFaults2ClientUtil();
         retEle = client.sendMsg(util,soapAction);
-        assertTrue(Compare( retEle,"/interopt/whitemesa/round4/complex/resMultipleFaults2.xml"));
+        assertTrue(Compare( retEle,"interopt/whitemesa/round4/complex/resMultipleFaults2.xml"));
 
 
     }

Modified: webservices/axis2/trunk/java/modules/integration/itest/org/apache/axis2/interopt/whitmesa/round4/simple/WhitemesaR4SimpleTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/itest/org/apache/axis2/interopt/whitmesa/round4/simple/WhitemesaR4SimpleTest.java?rev=278936&r1=278935&r2=278936&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/itest/org/apache/axis2/interopt/whitmesa/round4/simple/WhitemesaR4SimpleTest.java (original)
+++ webservices/axis2/trunk/java/modules/integration/itest/org/apache/axis2/interopt/whitmesa/round4/simple/WhitemesaR4SimpleTest.java Tue Sep  6 00:28:01 2005
@@ -9,6 +9,7 @@
 import org.apache.axis2.om.impl.llom.util.XMLComparator;
 import org.apache.axis2.soap.impl.llom.builder.StAXSOAPModelBuilder;
 import org.apache.axis2.soap.SOAPEnvelope;
+import org.apache.axis2.XMLComparatorInterop;
 
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLInputFactory;
@@ -58,12 +59,14 @@
             XMLComparisonException {
         boolean compare = false;
         if(retEle!=null) {
-            InputStream stream = WhitemesaR4SimpleTest.class.getClassLoader().getResourceAsStream("/" + filePath);
-            javax.xml.stream.XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(stream);
+            InputStream stream = Thread.currentThread().
+                    getContextClassLoader().getResourceAsStream(filePath);
+            javax.xml.stream.XMLStreamReader parser =
+                    XMLInputFactory.newInstance().createXMLStreamReader(stream);
             OMXMLParserWrapper builder = new StAXSOAPModelBuilder(parser, null);
             SOAPEnvelope resEnv = (SOAPEnvelope) builder.getDocumentElement();
             OMElement resElementtobe = resEnv.getBody().getFirstElement();
-            XMLComparator comparator = new XMLComparator();
+            XMLComparatorInterop comparator = new XMLComparatorInterop();
             compare = comparator.compare(retEle,resElementtobe);
 
         }
@@ -74,48 +77,48 @@
     public void testEchoEmptyFault()  throws Exception{
         util=new EchoEmptyFaultClientUtil();
         retEle =client.sendMsg(util,soapAction);
-        assertTrue(compare(retEle,"/interopt/whitemesa/round4/res/resEmptyFault.xml"));
+        assertTrue(compare(retEle,"interopt/whitemesa/round4/res/resEmptyFault.xml"));
     }
 
     public void testEchoStringFault() throws Exception{
         //echoStringFault
         util=new EchoStringFaultClientUtil();
         retEle =client.sendMsg(util,soapAction);
-        assertTrue(compare(retEle,"/interopt/whitemesa/round4/res/resStringFault.xml"));
+        assertTrue(compare(retEle,"interopt/whitemesa/round4/res/resStringFault.xml"));
 
     }
 
     //todo the messages are received right but the comparison changes. Have to check the comparator
 
-//    public void testEchoIntArrayFault() throws Exception{
-//        util=new EchoIntArrayFaultClientUtil();
-//        retEle =client.sendMsg(util,soapAction);
-//        assertTrue(compare(retEle,"/testResource/res/resIntArray.xml"));
-//
-//
-//    }
+    public void testEchoIntArrayFault() throws Exception{
+        util=new EchoIntArrayFaultClientUtil();
+        retEle =client.sendMsg(util,soapAction);
+        assertTrue(compare(retEle,"interopt/whitemesa/round4/res/resIntArray.xml"));
+
+
+    }
 
     public void testEchoMultipleFaults1() throws Exception{
         util=new EchoMultipleFaults1ClientUtil();
         retEle =client.sendMsg(util,soapAction);
-        assertTrue(compare(retEle,"/interopt/whitemesa/round4/res/resMultipleFaults1.xml"));
+        assertTrue(compare(retEle,"interopt/whitemesa/round4/res/resMultipleFaults1.xml"));
 
     }
     public void testEchoMultipleFaults2() throws Exception{
         util=new EchoMultipleFaults2ClientUtil();
         retEle =client.sendMsg(util,soapAction);
-        assertTrue(compare(retEle,"/interopt/whitemesa/round4/res/resMultiplefaults2.xml"));
+        assertTrue(compare(retEle,"interopt/whitemesa/round4/res/resMultiplefaults2.xml"));
 
     }
     public void testEchoMultipleFaults3() throws Exception{
         util=new EchoMultipleFaults3Clientutil();
         retEle =client.sendMsg(util,soapAction);
-        assertTrue(compare(retEle,"/interopt/whitemesa/round4/res/resMultipleFaults3.xml"));
+        assertTrue(compare(retEle,"interopt/whitemesa/round4/res/resMultipleFaults3.xml"));
     }
     public void testEchoMultipleFaults4() throws Exception{
         util=new EchoMultipleFaults4ClientUtil();
         retEle =client.sendMsg(util,soapAction);
-        assertTrue( compare(retEle,"/interopt/whitemesa/round4/res/resMultipleFaults4.xml"));
+        assertTrue( compare(retEle,"interopt/whitemesa/round4/res/resMultipleFaults4.xml"));
     }
 
 }

Added: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/XMLComparatorInterop.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/XMLComparatorInterop.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/XMLComparatorInterop.java (added)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/XMLComparatorInterop.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,252 @@
+package org.apache.axis2;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMNode;
+import org.apache.axis2.om.OMNamespace;
+import org.apache.axis2.om.OMAttribute;
+
+import java.util.Vector;
+import java.util.Iterator;
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Deepal Jayasinghe
+ * Date: Sep 6, 2005
+ * Time: 11:27:11 AM
+ */
+public class XMLComparatorInterop {
+    /**
+     * Eran Chinthaka (chinthaka@apache.org)
+     */
+    private Log log = LogFactory.getLog(getClass());
+
+    String failureNotice = "";
+
+    private Vector ignorableNamespaceList = new Vector();
+
+    public void addIgnorableNamespace(String nsURI) {
+        ignorableNamespaceList.add(nsURI);
+    }
+
+    public void clearIgnorableNamespaces() {
+        ignorableNamespaceList.clear();
+    }
+
+
+    public boolean compare(OMElement elementOne, OMElement elementTwo) {
+
+        boolean status = false;
+        //ignore if the elements belong to any of the ignorable namespaces list
+
+        if (isIgnorable(elementOne) ||
+                isIgnorable(elementTwo)) {
+            return true;
+        }
+
+        if (elementOne == null && elementTwo == null) {
+            log.info("Both Elements are null.");
+            return true;
+        }
+        if (elementOne == null && elementTwo != null) {
+            //failureNotice = "Element One is null and Element Two is not null";
+            return false;
+        }
+        if (elementOne != null && elementTwo == null) {
+            //failureNotice = "Element Two is null and Element One is not null";
+            return false;
+        }
+
+        log.info("Now Checking " + elementOne.getLocalName() + " and " +
+                elementTwo.getLocalName() +
+                "=============================");
+
+        log.info("Comparing Element Names .......");
+        status = compare(elementOne.getLocalName(),elementTwo.getLocalName());
+        if (status == false)
+            return false;
+
+        log.info("Comparing Namespaces .........");
+        status = compare(elementOne.getNamespace(),
+                elementTwo.getNamespace());
+        if (status == false)
+            return false;
+
+        log.info("Comparing attributes .....");
+        status = compareAllAttributes(elementOne, elementTwo);
+        if (status == false)
+            return false;
+
+        log.info("Comparing texts .....");
+
+        /*
+        * Trimming the value of the XMLElement is not correct
+        * since this compare method cannot be used to compare
+        * element contents with trailing and leading whitespaces
+        * BUT for the practicalltiy of tests and to get the current
+        * tests working we have to trim() the contents
+        */
+        status = compare(
+                elementOne.getText().trim(),
+                elementTwo.getText().trim());
+        if (status == false)
+            return false;
+
+        log.info("Comparing Children ......");
+        status = compareAllChildren(elementOne, elementTwo);
+
+        return status;
+    }
+
+    private boolean compareAllAttributes(OMElement elementOne,
+                                         OMElement elementTwo) {
+        boolean status = false;
+        status = compareAttibutes(elementOne, elementTwo);
+        status = compareAttibutes(elementTwo, elementOne);
+        return status;
+    }
+
+    private boolean compareAllChildren(OMElement elementOne,
+                                       OMElement elementTwo) {
+        boolean status = false;
+        status = compareChildren(elementOne, elementTwo);
+        //status =compareChildren(elementTwo, elementOne);
+        return status;
+    }
+
+
+    private boolean isIgnorable(OMElement elt) {
+        if (elt != null) {
+            OMNamespace namespace = elt.getNamespace();
+            if (namespace != null) {
+                return ignorableNamespaceList.contains(namespace.getName());
+            } else {
+                return false;
+            }
+        } else {
+            return false;
+        }
+    }
+
+
+    private boolean compareChildren(OMElement elementOne, OMElement elementTwo) {
+        //ignore if the elements belong to any of the ignorable namespaces list
+        boolean status = true;
+        if (isIgnorable(elementOne) ||
+                isIgnorable(elementTwo)) {
+            return true;
+        }
+        Iterator elementOneChildren = elementOne.getChildren();
+        while (elementOneChildren.hasNext()) {
+            OMNode omNode = (OMNode) elementOneChildren.next();
+            if (omNode instanceof OMElement) {
+                OMElement elementOneChild = (OMElement) omNode;
+                OMElement elementTwoChild = null;
+//                if ("Reference4".equals(elementOneChild.getLocalName())) {
+//                    log.info("Reference4");
+//                }
+                //Do the comparison only if the element is not ignorable
+                if (!isIgnorable(elementOneChild)) {
+                    Iterator elementTwoChildren = elementTwo.getChildren();
+                    while (elementTwoChildren.hasNext() ) {
+                        status = false;
+                        OMNode node = (OMNode) elementTwoChildren.next();
+                        if (node.getType() == OMNode.ELEMENT_NODE) {
+                            elementTwoChild = (OMElement) node;
+                            if (elementTwoChild.getLocalName().equals(elementOneChild.getLocalName())) {
+                                //Do the comparison only if the element is not ignorable
+                                if (!isIgnorable(elementTwoChild)) {
+                                    if (elementTwoChild == null) {
+                                        return false;
+//                            throw new XMLComparisonException(
+//                                    " There is no " + elementOneChild.getLocalName() +
+//                                    " element under " +
+//                                    elementTwo.getLocalName());
+                                    }
+                                }
+
+                                status = compare(elementOneChild, elementTwoChild);
+
+                            }
+                        }
+                        if(status == true){
+                            break;
+                        }
+                    }
+                    if (status == false) {
+                        return false;
+                    }
+                } else
+                    status = compare(elementOneChild, elementTwoChild);
+            }
+        }
+
+        return status;
+    }
+
+    private boolean compareAttibutes(OMElement elementOne, OMElement elementTwo) {
+        int elementOneAtribCount = 0;
+        int elementTwoAtribCount = 0;
+        Iterator attributes = elementOne.getAttributes();
+        while (attributes.hasNext()) {
+            OMAttribute omAttribute = (OMAttribute) attributes.next();
+            OMAttribute attr = elementTwo.getFirstAttribute(omAttribute.getQName());
+            if (attr == null) {
+                return false;
+            }
+            elementOneAtribCount++;
+        }
+
+        Iterator elementTwoIter = elementTwo.getAttributes();
+        while (elementTwoIter.hasNext()) {
+            elementTwoIter.next();
+            elementTwoAtribCount++;
+
+        }
+
+        if (elementOneAtribCount != elementTwoAtribCount) {
+            return false;
+        }
+        return true;
+    }
+
+    private boolean compare(String one, String two) {
+        if (!one.equals(two)) {
+            return false;
+        }
+        return true;
+    }
+
+    private boolean compare(OMNamespace one,OMNamespace two) {
+        if (one == null && two == null) {
+            return true;
+        } else if (one != null && two == null) {
+            return false;
+        } else if (one == null && two != null) {
+            return false;
+        }
+        if (!one.getName().equals(two.getName())) {
+            return false;
+        }
+
+// Do we need to compare prefixes as well
+        return true;
+    }
+}

Added: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/WhiteMesaIneterop.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/WhiteMesaIneterop.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/WhiteMesaIneterop.java (added)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/WhiteMesaIneterop.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,66 @@
+package org.apache.axis2.interopt.whitemesa;
+
+import junit.framework.TestCase;
+import org.apache.axis2.soap.SOAPEnvelope;
+import org.apache.axis2.soap.SOAPBody;
+import org.apache.axis2.soap.impl.llom.builder.StAXSOAPModelBuilder;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.XMLComparatorInterop;
+import org.apache.axis2.om.OMXMLParserWrapper;
+import org.apache.axis2.interopt.whitmesa.round2.ESRound2InteropTest;
+
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLInputFactory;
+import java.io.InputStream;
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Deepal Jayasinghe
+ * Date: Sep 6, 2005
+ * Time: 12:24:54 PM
+ */
+public class WhiteMesaIneterop extends TestCase {
+
+    protected boolean compare(SOAPEnvelope retEnv, String filePath) throws AxisFault {
+        boolean ok;
+        try {
+            if (retEnv != null) {
+                SOAPBody body = retEnv.getBody();
+                if (!body.hasFault()) {
+                    //OMElement firstChild = (OMElement) body.getFirstElement();
+
+                    InputStream stream = ESRound2InteropTest.class.getClassLoader().getResourceAsStream(filePath);
+
+                    XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(stream);
+                    OMXMLParserWrapper builder = new StAXSOAPModelBuilder(parser, null);
+                    SOAPEnvelope refEnv = (SOAPEnvelope) builder.getDocumentElement();
+                    //OMElement refNode = (OMElement) resEnv.getBody().getFirstElement();
+                    XMLComparatorInterop comparator = new XMLComparatorInterop();
+                    ok = comparator.compare(retEnv, refEnv);
+                } else
+                    return false;
+            } else
+                return false;
+
+        } catch (Exception e) {
+            throw new AxisFault(e); //To change body of catch statement use File | Settings | File Templates.
+        }
+        return ok;
+    }
+}

Modified: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round1/Round1Client.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round1/Round1Client.java?rev=278936&r1=278935&r2=278936&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round1/Round1Client.java (original)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round1/Round1Client.java Tue Sep  6 00:28:01 2005
@@ -29,13 +29,12 @@
             throw new AxisFault(e);
         }
 
-        Call call = new Call("target/itest-resources/intregrationRepo");
+        Call call = new Call("target/test-resources/intregrationRepo");
         call.setTo(new EndpointReference(url.toString()));
         call.setSoapAction(soapAction);
         call.setTransportInfo(Constants.TRANSPORT_HTTP, Constants.TRANSPORT_HTTP, false);
         SOAPEnvelope reqEnv = util.getEchoSoapEnvelope();
 
-        System.out.println("");
 
         AxisConfiguration axisConfig = new AxisConfigurationImpl();
         ConfigurationContext configCtx = new ConfigurationContext(axisConfig);

Added: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/SunRound2Client.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/SunRound2Client.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/SunRound2Client.java (added)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/SunRound2Client.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,70 @@
+package org.apache.axis2.interopt.whitemesa.round2;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.clientapi.Call;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.OperationDescription;
+import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.axis2.engine.AxisConfigurationImpl;
+import org.apache.axis2.interopt.whitemesa.round2.util.SunRound2ClientUtil;
+import org.apache.axis2.soap.SOAPEnvelope;
+import javax.xml.namespace.QName;
+import java.net.URL;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Gayan Asanka
+ * Date: Aug 23, 2005
+ * Time: 4:27:20 PM
+ */
+
+public class SunRound2Client {
+
+    public static SOAPEnvelope sendMsg(SunRound2ClientUtil util, String epUrl, String soapAction) throws AxisFault {
+
+        SOAPEnvelope resEnv = null;
+//                   EndpointReference targetEPR = new EndpointReference(AddressingConstants.WSA_TO,"http://demo.openlinksw.com:80/Interop");
+        Call call = null;
+        URL url = null;
+        try {
+            call = new Call("target/test-resources/intregrationRepo");
+            url = new URL(epUrl);
+            call.setTo(new EndpointReference(url.toString()));
+            call.setTransportInfo(Constants.TRANSPORT_HTTP, Constants.TRANSPORT_HTTP, false);
+            call.setSoapAction(soapAction);
+
+            AxisConfiguration axisConfig = new AxisConfigurationImpl();
+            ConfigurationContext configCtx = new ConfigurationContext(axisConfig);
+            MessageContext msgCtx = new MessageContext(configCtx);
+            OperationDescription opDesc = new OperationDescription(new QName(""));
+            SOAPEnvelope requestEnvilope = util.getEchoSoapEnvelope();
+            msgCtx.setEnvelope(requestEnvilope);
+            MessageContext responseMCtx = call.invokeBlocking(opDesc, msgCtx);
+            resEnv = responseMCtx.getEnvelope();
+
+        } catch (Exception e) {
+            throw new AxisFault(e);
+        }
+        return resEnv;
+    }
+}

Added: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEcho2DStringArrayUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEcho2DStringArrayUtil.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEcho2DStringArrayUtil.java (added)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEcho2DStringArrayUtil.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,92 @@
+package org.apache.axis2.interopt.whitemesa.round2.util;
+import org.apache.axis2.soap.SOAPEnvelope;
+import org.apache.axis2.soap.SOAPFactory;
+import org.apache.axis2.soap.SOAPBody;
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMElement;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Gayan Asanka
+ * Date: Aug 23, 2005
+ * Time: 4:27:20 PM
+ */
+
+public class GroupbEcho2DStringArrayUtil implements SunRound2ClientUtil{
+
+    public SOAPEnvelope getEchoSoapEnvelope() {
+
+            SOAPFactory omfactory = OMAbstractFactory.getSOAP11Factory();
+            SOAPEnvelope reqEnv = omfactory.createSOAPEnvelope();
+            reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", "soapenv");
+            //reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/", "xmlns");
+            reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/soap/", "soap");
+            reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema", "xsd");
+            reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", "SOAP-ENC");
+            reqEnv.declareNamespace("http://soapinterop.org/", "tns");
+            reqEnv.declareNamespace("http://soapinterop.org/xsd", "s");
+            reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/", "wsdl");
+            reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema-instance","xsi");
+
+        OMElement operation = omfactory.createOMElement("echo2DStringArray", "http://soapinterop.org/", null);
+        SOAPBody body = omfactory.createSOAPBody(reqEnv);
+        body.addChild(operation);
+        operation.addAttribute("soapenv:encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/", null);
+
+        OMElement part = omfactory.createOMElement("input2DStringArray", "", null);
+        part.addAttribute("xsi:type", "SOAP-ENC:Array", null);
+        part.addAttribute("SOAP-ENC:arrayType", "xsd:string[2,2]", null);
+
+        OMElement value0 = omfactory.createOMElement("varString", "", null);
+        value0.addAttribute("xsi:type", "xsd:string", null);
+        value0.addChild(omfactory.createText("strss fdfing1"));
+        OMElement value1 = omfactory.createOMElement("varString", "", null);
+        value1.addAttribute("xsi:type", "xsd:string", null);
+        value1.addChild(omfactory.createText("sdfsdf25"));
+        OMElement value2 = omfactory.createOMElement("varString", "", null);
+        value2.addAttribute("xsi:type", "xsd:string", null);
+        value2.addChild(omfactory.createText("25dsasd dfasdas23"));
+        OMElement value3 = omfactory.createOMElement("varString", "", null);
+        value3.addAttribute("xsi:type", "xsd:string", null);
+        value3.addChild(omfactory.createText("25dsasd dfasdas23"));
+
+        part.addChild(value0);
+        part.addChild(value1);
+        part.addChild(value2);
+        part.addChild(value3);
+
+        operation.addChild(part);
+
+        //reqEnv.getBody().addChild(method);
+        return reqEnv;
+    }
+
+}
+/**
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:m0="http://schemas.xmlsoap.org/soap/encoding/">
+	<SOAP-ENV:Body>
+		<m:echo2DStringArray xmlns:m="http://soapinterop.org/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+			<input2DStringArray xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="m0:string[1]">
+				<m0:item0 xsi:type="m0:string" id="" href=""/>
+			</input2DStringArray>
+		</m:echo2DStringArray>
+	</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+*/

Added: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoNestedArrayUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoNestedArrayUtil.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoNestedArrayUtil.java (added)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoNestedArrayUtil.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,106 @@
+package org.apache.axis2.interopt.whitemesa.round2.util;
+
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.soap.SOAPBody;
+import org.apache.axis2.soap.SOAPEnvelope;
+import org.apache.axis2.soap.SOAPFactory;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Gayan Asanka
+ * Date: Aug 23, 2005
+ * Time: 4:27:20 PM
+ */
+
+public class GroupbEchoNestedArrayUtil implements SunRound2ClientUtil {
+
+    public SOAPEnvelope getEchoSoapEnvelope() {
+
+        SOAPFactory omfactory = OMAbstractFactory.getSOAP11Factory();
+        SOAPEnvelope reqEnv = omfactory.createSOAPEnvelope();
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", "soapenv");
+        //reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/", "xmlns");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/soap/", "soap");
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema", "xsd");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", "SOAP-ENC");
+        reqEnv.declareNamespace("http://soapinterop.org/", "tns");
+        reqEnv.declareNamespace("http://soapinterop.org/xsd", "s");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/", "wsdl");
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema-instance","xsi");
+
+        OMElement operation = omfactory.createOMElement("echoNestedArray", "http://soapinterop.org/", null);
+        SOAPBody body = omfactory.createSOAPBody(reqEnv);
+        body.addChild(operation);
+        operation.addAttribute("soapenv:encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/", null);
+
+        OMElement part = omfactory.createOMElement("inputStruct", "", null);
+        part.addAttribute("xsi:type", "s:SOAPStruct", null);
+
+
+        OMElement value0 = omfactory.createOMElement("varString", "", null);
+        value0.addAttribute("xsi:type", "xsd:string", null);
+        value0.addChild(omfactory.createText("strss fdfing1"));
+
+        OMElement value1 = omfactory.createOMElement("varInt", "", null);
+        value1.addAttribute("xsi:type", "xsd:int", null);
+        value1.addChild(omfactory.createText("25"));
+
+        OMElement value2 = omfactory.createOMElement("varFloat", "", null);
+        value2.addAttribute("xsi:type", "xsd:float", null);
+        value2.addChild(omfactory.createText("25.23"));
+
+        OMElement value3 = omfactory.createOMElement("varArray", "", null);
+        part.addAttribute("xsi:type", "s:SOAPArrayStruct", null);
+        value3.addAttribute("SOAP-ENC:arrayType", "xsd:string[3]", null);
+
+        OMElement value30 = omfactory.createOMElement("item", "", null);
+        value30.addAttribute("xsi:type", "xsd:string", null);
+        value30.addChild(omfactory.createText("strss fdfing1"));
+
+        OMElement value31 = omfactory.createOMElement("item", "", null);
+        value31.addAttribute("xsi:type", "xsd:string", null);
+        value31.addChild(omfactory.createText("strss fdfing2"));
+
+        OMElement value32 = omfactory.createOMElement("item", "", null);
+        value32.addAttribute("xsi:type", "xsd:string", null);
+        value32.addChild(omfactory.createText("strss fdfing3"));
+
+
+
+        value3.addChild(value30);
+        value3.addChild(value31);
+        value3.addChild(value32);
+
+        part.addChild(value0);
+        part.addChild(value1);
+        part.addChild(value2);
+        part.addChild(value3);
+
+
+        operation.addChild(part);
+
+        //reqEnv.getBody().addChild(method);
+        return reqEnv;
+
+    }
+
+
+}

Added: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoNestedStructUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoNestedStructUtil.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoNestedStructUtil.java (added)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoNestedStructUtil.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,104 @@
+package org.apache.axis2.interopt.whitemesa.round2.util;
+
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.soap.SOAPBody;
+import org.apache.axis2.soap.SOAPEnvelope;
+import org.apache.axis2.soap.SOAPFactory;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Gayan Asanka
+ * Date: Aug 23, 2005
+ * Time: 4:27:20 PM
+ */
+
+public class GroupbEchoNestedStructUtil implements SunRound2ClientUtil {
+
+    public SOAPEnvelope getEchoSoapEnvelope() {
+
+        SOAPFactory omfactory = OMAbstractFactory.getSOAP11Factory();
+        SOAPEnvelope reqEnv = omfactory.createSOAPEnvelope();
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", "soapenv");
+        //reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/", "xmlns");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/soap/", "soap");
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema", "xsd");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", "SOAP-ENC");
+        reqEnv.declareNamespace("http://soapinterop.org/", "tns");
+        reqEnv.declareNamespace("http://soapinterop.org/xsd", "s");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/", "wsdl");
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema-instance","xsi");
+
+        OMElement operation = omfactory.createOMElement("echoNestedStruct", "http://soapinterop.org/", null);
+        SOAPBody body = omfactory.createSOAPBody(reqEnv);
+        body.addChild(operation);
+        operation.addAttribute("soapenv:encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/", null);
+
+        OMElement part = omfactory.createOMElement("inputStruct", "", null);
+        part.addAttribute("xsi:type", "s:SOAPStructStruct", null);
+
+
+        OMElement value0 = omfactory.createOMElement("varString", "", null);
+        value0.addAttribute("xsi:type", "xsd:string", null);
+        value0.addChild(omfactory.createText("strss fdfing1"));
+
+        OMElement value1 = omfactory.createOMElement("varInt", "", null);
+        value1.addAttribute("xsi:type", "xsd:int", null);
+        value1.addChild(omfactory.createText("25"));
+
+        OMElement value2 = omfactory.createOMElement("varFloat", "", null);
+        value2.addAttribute("xsi:type", "xsd:float", null);
+        value2.addChild(omfactory.createText("25.23"));
+
+        OMElement value3 = omfactory.createOMElement("varStruct", "", null);
+
+        //OMElement part31 = omfactory.createOMElement("inputStruct", "", null);
+
+        OMElement value30 = omfactory.createOMElement("varString", "", null);
+        value30.addAttribute("xsi:type", "xsd:string", null);
+        value30.addChild(omfactory.createText("strss fdfing1"));
+
+        OMElement value31 = omfactory.createOMElement("varInt", "", null);
+        value31.addAttribute("xsi:type", "xsd:int", null);
+        value31.addChild(omfactory.createText("25"));
+
+        OMElement value32 = omfactory.createOMElement("varFloat", "", null);
+        value32.addAttribute("xsi:type", "xsd:float", null);
+        value32.addChild(omfactory.createText("25.23"));
+
+        value3.addChild(value30);
+        value3.addChild(value31);
+        value3.addChild(value32);
+
+        part.addChild(value0);
+        part.addChild(value1);
+        part.addChild(value2);
+        part.addChild(value3);
+
+
+        operation.addChild(part);
+
+        //reqEnv.getBody().addChild(method);
+        return reqEnv;
+
+    }
+
+
+}

Added: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoSimpleTypesAsStructUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoSimpleTypesAsStructUtil.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoSimpleTypesAsStructUtil.java (added)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoSimpleTypesAsStructUtil.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,71 @@
+package org.apache.axis2.interopt.whitemesa.round2.util;
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.soap.SOAPBody;
+import org.apache.axis2.soap.SOAPEnvelope;
+import org.apache.axis2.soap.SOAPFactory;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Gayan Asanka
+ * Date: Aug 23, 2005
+ * Time: 4:27:20 PM
+ */
+
+public class GroupbEchoSimpleTypesAsStructUtil implements SunRound2ClientUtil {
+
+    public SOAPEnvelope getEchoSoapEnvelope() {
+
+        SOAPFactory omfactory = OMAbstractFactory.getSOAP11Factory();
+        SOAPEnvelope reqEnv = omfactory.createSOAPEnvelope();
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", "soapenv");
+        //reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/", "xmlns");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/soap/", "soap");
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema", "xsd");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", "SOAP-ENC");
+        reqEnv.declareNamespace("http://soapinterop.org/", "tns");
+        reqEnv.declareNamespace("http://soapinterop.org/xsd", "s");
+        //reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/", "wsdl");
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema-instance","xsi");
+
+        OMElement operation = omfactory.createOMElement("echoSimpleTypesAsStruct", "http://soapinterop.org/", null);
+        SOAPBody body = omfactory.createSOAPBody(reqEnv);
+        body.addChild(operation);
+        operation.addAttribute("soapenv:encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/", null);
+
+        OMElement part0 = omfactory.createOMElement("inputString", "", null);
+        part0.addAttribute("xsi:type", "xsd:string", null);
+        part0.addChild(omfactory.createText("45ascasc  acasa asd52"));
+
+        OMElement part1 = omfactory.createOMElement("inputInteger", "", null);
+        part1.addAttribute("xsi:type", "xsd:int", null);
+        part1.addChild(omfactory.createText("4552"));
+
+        OMElement part2 = omfactory.createOMElement("inputFloat", "", null);
+        part2.addAttribute("xsi:type", "xsd:float", null);
+        part2.addChild(omfactory.createText("450.52"));
+
+        operation.addChild(part0);
+        operation.addChild(part1);
+        operation.addChild(part2); //reqEnv.getBody().addChild(method);
+
+        return reqEnv;
+    }
+}

Added: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoStructAsSimpleTypesUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoStructAsSimpleTypesUtil.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoStructAsSimpleTypesUtil.java (added)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupbEchoStructAsSimpleTypesUtil.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,78 @@
+package org.apache.axis2.interopt.whitemesa.round2.util;
+
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.soap.SOAPBody;
+import org.apache.axis2.soap.SOAPEnvelope;
+import org.apache.axis2.soap.SOAPFactory;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Gayan Asanka
+ * Date: Aug 23, 2005
+ * Time: 4:27:20 PM
+ */
+
+public class GroupbEchoStructAsSimpleTypesUtil implements SunRound2ClientUtil {
+
+    public SOAPEnvelope getEchoSoapEnvelope() {
+
+        SOAPFactory omfactory = OMAbstractFactory.getSOAP11Factory();
+        SOAPEnvelope reqEnv = omfactory.createSOAPEnvelope();
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", "soapenv");
+        //reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/", "xmlns");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/soap/", "soap");
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema", "xsd");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", "SOAP-ENC");
+        reqEnv.declareNamespace("http://soapinterop.org/", "tns");
+        reqEnv.declareNamespace("http://soapinterop.org/xsd", "s");
+        //reqEnv.declareNamespace("http://schemas.xmlsoap.org/wsdl/", "wsdl");
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema-instance","xsi");
+
+        OMElement operation = omfactory.createOMElement("echoStructAsSimpleTypes", "http://soapinterop.org/", null);
+        SOAPBody body = omfactory.createSOAPBody(reqEnv);
+        body.addChild(operation);
+        operation.addAttribute("soapenv:encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/", null);
+
+        OMElement part = omfactory.createOMElement("inputStruct", "", null);
+        part.addAttribute("xsi:type", "s:SOAPStruct", null);
+
+        OMElement value0 = omfactory.createOMElement("varString", "", null);
+        value0.addAttribute("xsi:type", "xsd:string", null);
+        value0.addChild(omfactory.createText("strss fdfing1"));
+        OMElement value1 = omfactory.createOMElement("varInt", "", null);
+        value1.addAttribute("xsi:type", "xsd:int", null);
+        value1.addChild(omfactory.createText("25"));
+        OMElement value2 = omfactory.createOMElement("varFloat", "", null);
+        value2.addAttribute("xsi:type", "xsd:float", null);
+        value2.addChild(omfactory.createText("25.23"));
+
+        part.addChild(value0);
+        part.addChild(value1);
+        part.addChild(value2);
+
+        operation.addChild(part);
+
+        //reqEnv.getBody().addChild(method);
+        return reqEnv;
+
+    }
+
+}

Added: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcBase64Util.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcBase64Util.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcBase64Util.java (added)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcBase64Util.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,86 @@
+package org.apache.axis2.interopt.whitemesa.round2.util;
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMNamespace;
+import org.apache.axis2.soap.*;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Gayan Asanka
+ * Date: Aug 23, 2005
+ * Time: 4:27:20 PM
+ */
+
+public class GroupcBase64Util implements SunRound2ClientUtil {
+
+    public SOAPEnvelope getEchoSoapEnvelope() {
+
+        SOAPFactory omfactory = OMAbstractFactory.getSOAP11Factory();
+        SOAPEnvelope reqEnv = omfactory.createSOAPEnvelope();
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", "soapenv");
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema", "xsd");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", "SOAP-ENC"); //xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema-instance", "xsi");
+        reqEnv.declareNamespace("http://soapinterop.org/xsd", "s");
+        reqEnv.declareNamespace("http://soapinterop.org/", "m");
+
+
+        SOAPHeader header = omfactory.createSOAPHeader(reqEnv);
+        OMNamespace hns = reqEnv.declareNamespace("http://soapinterop.org/echoheader/", "hns"); //xmlns:m0="http://soapinterop.org/echoheader/
+        SOAPHeaderBlock block1 = header.addHeaderBlock("echoMeStringRequest", hns);
+        block1.addAttribute("xsi:type", "xsd:string", null);
+        block1.addChild(omfactory.createText("string"));
+        // header.addChild(headerChild);
+        header.addChild(block1);
+
+        SOAPHeaderBlock block2 = header.addHeaderBlock("echoMeStructRequest", hns);
+        block2.addAttribute("xsi:type", "s:SOAPStruct", null);
+
+        OMElement h2Val1 = omfactory.createOMElement("varString", null);
+        h2Val1.addAttribute("xsi:type", "xsd:string", null);
+        h2Val1.addChild(omfactory.createText("string"));
+
+        OMElement h2Val2 = omfactory.createOMElement("varInt", null);
+        h2Val2.addAttribute("xsi:type", "xsd:int", null);
+        h2Val2.addChild(omfactory.createText("150"));
+
+        OMElement h2Val3 = omfactory.createOMElement("varFloat", null);
+        h2Val3.addAttribute("xsi:type", "xsd:float", null);
+        h2Val3.addChild(omfactory.createText("456.321"));
+
+        block2.addChild(h2Val1);
+        block2.addChild(h2Val2);
+        block2.addChild(h2Val3);
+
+        OMElement operation = omfactory.createOMElement("echoBase64", "http://soapinterop.org/", null);
+        SOAPBody body = omfactory.createSOAPBody(reqEnv);
+        body.addChild(operation);
+        operation.addAttribute("soapenv:encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/", null);
+
+        OMElement part = omfactory.createOMElement("inputBase64", "", null);
+        part.addAttribute("xsi:type", "xsd:base64Binary", null);
+        part.addChild(omfactory.createText("SGVsbG8gV29ybGQ="));
+
+        operation.addChild(part);
+        //reqEnv.getBody().addChild(method);
+        return reqEnv;
+
+    }
+}

Added: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcBooleanUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcBooleanUtil.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcBooleanUtil.java (added)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcBooleanUtil.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,87 @@
+package org.apache.axis2.interopt.whitemesa.round2.util;
+
+import org.apache.axis2.soap.*;
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMNamespace;
+import org.apache.axis2.om.OMElement;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Gayan Asanka
+ * Date: Aug 23, 2005
+ * Time: 4:27:20 PM
+ */
+
+public class GroupcBooleanUtil implements SunRound2ClientUtil {
+
+    public SOAPEnvelope getEchoSoapEnvelope() {
+
+        SOAPFactory omfactory = OMAbstractFactory.getSOAP11Factory();
+        SOAPEnvelope reqEnv = omfactory.createSOAPEnvelope();
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", "soapenv");
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema", "xsd");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", "SOAP-ENC"); //xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema-instance", "xsi");
+        reqEnv.declareNamespace("http://soapinterop.org/xsd", "s");
+        reqEnv.declareNamespace("http://soapinterop.org/", "m");
+
+        SOAPHeader header = omfactory.createSOAPHeader(reqEnv);
+        OMNamespace hns = reqEnv.declareNamespace("http://soapinterop.org/echoheader/", "hns"); //xmlns:m0="http://soapinterop.org/echoheader/
+        SOAPHeaderBlock block1 = header.addHeaderBlock("echoMeStringRequest", hns);
+        block1.addAttribute("xsi:type", "xsd:string", null);
+        block1.addChild(omfactory.createText("string"));
+        // header.addChild(headerChild);
+        header.addChild(block1);
+
+        SOAPHeaderBlock block2 = header.addHeaderBlock("echoMeStructRequest", hns);
+        block2.addAttribute("xsi:type", "s:SOAPStruct", null);
+
+        OMElement h2Val1 = omfactory.createOMElement("varString", null);
+        h2Val1.addAttribute("xsi:type", "xsd:string", null);
+        h2Val1.addChild(omfactory.createText("string"));
+
+        OMElement h2Val2 = omfactory.createOMElement("varInt", null);
+        h2Val2.addAttribute("xsi:type", "xsd:int", null);
+        h2Val2.addChild(omfactory.createText("852"));
+
+        OMElement h2Val3 = omfactory.createOMElement("varFloat", null);
+        h2Val3.addAttribute("xsi:type", "xsd:float", null);
+        h2Val3.addChild(omfactory.createText("456.321"));
+
+        block2.addChild(h2Val1);
+        block2.addChild(h2Val2);
+        block2.addChild(h2Val3);
+
+        OMElement operation = omfactory.createOMElement("echoBoolean", "http://soapinterop.org/", null);
+        SOAPBody body = omfactory.createSOAPBody(reqEnv);
+        body.addChild(operation);
+        operation.addAttribute("soapenv:encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/", null);
+
+        OMElement part = omfactory.createOMElement("inputBoolean", "", null);
+        part.addAttribute("xsi:type", "xsd:boolean", null);
+        part.addChild(omfactory.createText("1"));
+
+        operation.addChild(part);
+        //reqEnv.getBody().addChild(method);    inputBoolean" type="xsd:boolean"/>
+        return reqEnv;
+
+    }
+}
+

Added: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcDateUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcDateUtil.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcDateUtil.java (added)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcDateUtil.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,85 @@
+package org.apache.axis2.interopt.whitemesa.round2.util;
+import org.apache.axis2.soap.*;
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMNamespace;
+import org.apache.axis2.om.OMElement;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Gayan Asanka
+ * Date: Aug 23, 2005
+ * Time: 4:27:20 PM
+ */
+
+public class GroupcDateUtil implements SunRound2ClientUtil{
+
+    public SOAPEnvelope getEchoSoapEnvelope() {
+
+        SOAPFactory omfactory = OMAbstractFactory.getSOAP11Factory();
+        SOAPEnvelope reqEnv = omfactory.createSOAPEnvelope();
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", "soapenv");
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema", "xsd");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", "SOAP-ENC"); //xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema-instance", "xsi");
+        reqEnv.declareNamespace("http://soapinterop.org/xsd", "s");
+        reqEnv.declareNamespace("http://soapinterop.org/", "m");
+
+        SOAPHeader header = omfactory.createSOAPHeader(reqEnv);
+        OMNamespace hns = reqEnv.declareNamespace("http://soapinterop.org/echoheader/", "hns"); //xmlns:m0="http://soapinterop.org/echoheader/
+        SOAPHeaderBlock block1 = header.addHeaderBlock("echoMeStringRequest", hns);
+        block1.addAttribute("xsi:type", "xsd:string", null);
+        block1.addChild(omfactory.createText("string"));
+        // header.addChild(headerChild);
+        header.addChild(block1);
+
+        SOAPHeaderBlock block2 = header.addHeaderBlock("echoMeStructRequest", hns);
+        block2.addAttribute("xsi:type", "s:SOAPStruct", null);
+
+        OMElement h2Val1 = omfactory.createOMElement("varString", null);
+        h2Val1.addAttribute("xsi:type", "xsd:string", null);
+        h2Val1.addChild(omfactory.createText("string"));
+
+        OMElement h2Val2 = omfactory.createOMElement("varInt", null);
+        h2Val2.addAttribute("xsi:type", "xsd:int", null);
+        h2Val2.addChild(omfactory.createText("150"));
+
+        OMElement h2Val3 = omfactory.createOMElement("varFloat", null);
+        h2Val3.addAttribute("xsi:type", "xsd:float", null);
+        h2Val3.addChild(omfactory.createText("456.321"));
+
+        block2.addChild(h2Val1);
+        block2.addChild(h2Val2);
+        block2.addChild(h2Val3);
+
+        OMElement operation = omfactory.createOMElement("echoDate", "http://soapinterop.org/", null);
+        SOAPBody body = omfactory.createSOAPBody(reqEnv);
+        body.addChild(operation);
+        operation.addAttribute("soapenv:encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/", null);
+
+        OMElement part = omfactory.createOMElement("inputDate", "", null);
+        part.addAttribute("xsi:type", "xsd:dateTime", null);
+        part.addChild(omfactory.createText("2002-07-18T19:40:30.387-06:00"));
+
+        operation.addChild(part);
+        //reqEnv.getBody().addChild(method);
+        return reqEnv;
+
+    }
+}

Added: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcDecimalUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcDecimalUtil.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcDecimalUtil.java (added)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcDecimalUtil.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,85 @@
+package org.apache.axis2.interopt.whitemesa.round2.util;
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMNamespace;
+import org.apache.axis2.soap.*;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Gayan Asanka
+ * Date: Aug 23, 2005
+ * Time: 4:27:20 PM
+ */
+
+public class GroupcDecimalUtil implements SunRound2ClientUtil {
+
+    public SOAPEnvelope getEchoSoapEnvelope() {
+
+        SOAPFactory omfactory = OMAbstractFactory.getSOAP11Factory();
+        SOAPEnvelope reqEnv = omfactory.createSOAPEnvelope();
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", "soapenv");
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema", "xsd");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", "SOAP-ENC"); //xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema-instance", "xsi");
+        reqEnv.declareNamespace("http://soapinterop.org/xsd", "s");
+        reqEnv.declareNamespace("http://soapinterop.org/", "m");
+
+        SOAPHeader header = omfactory.createSOAPHeader(reqEnv);
+        OMNamespace hns = reqEnv.declareNamespace("http://soapinterop.org/echoheader/", "hns"); //xmlns:m0="http://soapinterop.org/echoheader/
+        SOAPHeaderBlock block1 = header.addHeaderBlock("echoMeStringRequest", hns);
+        block1.addAttribute("xsi:type", "xsd:string", null);
+        block1.addChild(omfactory.createText("string"));
+        // header.addChild(headerChild);
+        header.addChild(block1);
+
+        SOAPHeaderBlock block2 = header.addHeaderBlock("echoMeStructRequest", hns);
+        block2.addAttribute("xsi:type", "s:SOAPStruct", null);
+
+        OMElement h2Val1 = omfactory.createOMElement("varString", null);
+        h2Val1.addAttribute("xsi:type", "xsd:string", null);
+        h2Val1.addChild(omfactory.createText("string"));
+
+        OMElement h2Val2 = omfactory.createOMElement("varInt", null);
+        h2Val2.addAttribute("xsi:type", "xsd:int", null);
+        h2Val2.addChild(omfactory.createText("150"));
+
+        OMElement h2Val3 = omfactory.createOMElement("varFloat", null);
+        h2Val3.addAttribute("xsi:type", "xsd:float", null);
+        h2Val3.addChild(omfactory.createText("456.321"));
+
+        block2.addChild(h2Val1);
+        block2.addChild(h2Val2);
+        block2.addChild(h2Val3);
+
+        OMElement operation = omfactory.createOMElement("echoDecimal", "http://soapinterop.org/", null);
+        SOAPBody body = omfactory.createSOAPBody(reqEnv);
+        body.addChild(operation);
+        operation.addAttribute("soapenv:encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/", null);
+
+        OMElement part = omfactory.createOMElement("inputDecimal", "", null);
+        part.addAttribute("xsi:type", "xsd:decimal", null);
+        part.addChild(omfactory.createText("455646152"));
+
+        operation.addChild(part);
+        //reqEnv.getBody().addChild(method);
+        return reqEnv;
+
+    }
+}

Added: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcEchoStringUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcEchoStringUtil.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcEchoStringUtil.java (added)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcEchoStringUtil.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,106 @@
+package org.apache.axis2.interopt.whitemesa.round2.util;
+import org.apache.axis2.soap.*;
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMNamespace;
+import org.apache.axis2.om.OMElement;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Gayan Asanka
+ * Date: Aug 23, 2005
+ * Time: 4:27:20 PM
+ */
+
+public class GroupcEchoStringUtil implements SunRound2ClientUtil {
+
+    public SOAPEnvelope getEchoSoapEnvelope() {
+
+        SOAPFactory omfactory = OMAbstractFactory.getSOAP11Factory();
+        SOAPEnvelope reqEnv = omfactory.createSOAPEnvelope();
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", "soapenv");
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema", "xsd");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", "SOAP-ENC"); //xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema-instance", "xsi");
+        reqEnv.declareNamespace("http://soapinterop.org/xsd", "s");
+        reqEnv.declareNamespace("http://soapinterop.org/","m");
+
+        SOAPHeader header = omfactory.createSOAPHeader(reqEnv);
+        OMNamespace hns= reqEnv.declareNamespace("http://soapinterop.org/echoheader/","hns"); //xmlns:m0="http://soapinterop.org/echoheader/
+        SOAPHeaderBlock block1 = header.addHeaderBlock("echoMeStringRequest",hns);
+        block1.addAttribute("xsi:type","xsd:string",null);
+        block1.addChild(omfactory.createText("string"));
+       // header.addChild(headerChild);
+        header.addChild(block1);
+
+        SOAPHeaderBlock block2 = header.addHeaderBlock("echoMeStructRequest",hns);
+        block2.addAttribute("xsi:type","s:SOAPStruct",null);
+
+        OMElement h2Val1=omfactory.createOMElement("varString",null);
+        h2Val1.addAttribute("xsi:type","xsd:string",null);
+        h2Val1.addChild(omfactory.createText("string"));
+
+        OMElement h2Val2=omfactory.createOMElement("varInt",null);
+        h2Val2.addAttribute("xsi:type","xsd:int",null);
+        h2Val2.addChild(omfactory.createText("150"));
+
+        OMElement h2Val3=omfactory.createOMElement("varFloat",null);
+        h2Val3.addAttribute("xsi:type","xsd:float",null);
+        h2Val3.addChild(omfactory.createText("456.321"));
+
+        block2.addChild(h2Val1);
+        block2.addChild(h2Val2);
+        block2.addChild(h2Val3);
+
+        OMElement operation = omfactory.createOMElement("echoString","http://soapinterop.org/",  null);
+
+        //operation.setNamespace(ns);
+        SOAPBody body = omfactory.createSOAPBody(reqEnv);
+        body.addChild(operation);
+        operation.addAttribute("soapenv:encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/", null);
+
+        OMElement part = omfactory.createOMElement("inputString", null);
+        part.addAttribute("xsi:type", "xsd:string", null);
+        part.addChild(omfactory.createText("strssfdfing1"));
+
+        operation.addChild(part);
+        //reqEnv.getBody().addChild(method);
+        return reqEnv;
+
+    }
+    /**
+     * <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:m0="http://soapinterop.org/echoheader/" xmlns:m1="http://soapinterop.org/xsd">
+	<SOAP-ENV:Header>
+		<echoMeStringRequest xsi:type="xsd:string">String</echoMeStringRequest>
+		<m0:echoMeStructRequest xsi:type="m1:SOAPStruct">
+			<varString xsi:type="xsd:string">String</varString>
+			<varInt xsi:type="xsd:int">0</varInt>
+			<varFloat xsi:type="xsd:float">3.14159E0</varFloat>
+		</m0:echoMeStructRequest>
+	</SOAP-ENV:Header>
+	<SOAP-ENV:Body>
+		<m:echoString xmlns:m="http://soapinterop.org/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+			<inputString xsi:type="xsd:string">String</inputString>
+		</m:echoString>
+	</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+     */
+
+
+}

Added: webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcFloatArrayUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcFloatArrayUtil.java?rev=278936&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcFloatArrayUtil.java (added)
+++ webservices/axis2/trunk/java/modules/integration/src/org/apache/axis2/interopt/whitemesa/round2/util/GroupcFloatArrayUtil.java Tue Sep  6 00:28:01 2005
@@ -0,0 +1,100 @@
+package org.apache.axis2.interopt.whitemesa.round2.util;
+import org.apache.axis2.soap.*;
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMNamespace;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.interopt.whitemesa.round2.util.SunRound2ClientUtil;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author: Gayan Asanka
+ * Date: Aug 23, 2005
+ * Time: 4:27:20 PM
+ */
+
+public class GroupcFloatArrayUtil implements SunRound2ClientUtil{
+
+    public SOAPEnvelope getEchoSoapEnvelope() {
+
+        SOAPFactory omfactory = OMAbstractFactory.getSOAP11Factory();
+        SOAPEnvelope reqEnv = omfactory.createSOAPEnvelope();
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", "soapenv");
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema", "xsd");
+        reqEnv.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", "SOAP-ENC"); //xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+        reqEnv.declareNamespace("http://www.w3.org/2001/XMLSchema-instance", "xsi");
+        reqEnv.declareNamespace("http://soapinterop.org/xsd", "s");
+        reqEnv.declareNamespace("http://soapinterop.org/", "m");
+
+        SOAPHeader header = omfactory.createSOAPHeader(reqEnv);
+        OMNamespace hns = reqEnv.declareNamespace("http://soapinterop.org/echoheader/", "hns"); //xmlns:m0="http://soapinterop.org/echoheader/
+        SOAPHeaderBlock block1 = header.addHeaderBlock("echoMeStringRequest", hns);
+        block1.addAttribute("xsi:type", "xsd:string", null);
+        block1.addChild(omfactory.createText("string"));
+        // header.addChild(headerChild);
+        header.addChild(block1);
+
+        SOAPHeaderBlock block2 = header.addHeaderBlock("echoMeStructRequest", hns);
+        block2.addAttribute("xsi:type", "s:SOAPStruct", null);
+
+        OMElement h2Val1 = omfactory.createOMElement("varString", null);
+        h2Val1.addAttribute("xsi:type", "xsd:string", null);
+        h2Val1.addChild(omfactory.createText("string"));
+
+        OMElement h2Val2 = omfactory.createOMElement("varInt", null);
+        h2Val2.addAttribute("xsi:type", "xsd:int", null);
+        h2Val2.addChild(omfactory.createText("150"));
+
+        OMElement h2Val3 = omfactory.createOMElement("varFloat", null);
+        h2Val3.addAttribute("xsi:type", "xsd:float", null);
+        h2Val3.addChild(omfactory.createText("456.321"));
+
+        block2.addChild(h2Val1);
+        block2.addChild(h2Val2);
+        block2.addChild(h2Val3);
+
+        OMElement operation = omfactory.createOMElement("echoFloatArray", "http://soapinterop.org/", null);
+        SOAPBody body = omfactory.createSOAPBody(reqEnv);
+        body.addChild(operation);
+        operation.addAttribute("soapenv:encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/", null);
+
+        OMElement part = omfactory.createOMElement("inputFloatArray", "", null);
+        part.addAttribute("xsi:type", "xsd:int", null);
+        part.addAttribute("xsi:type", "SOAP-ENC:Array", null);
+        part.addAttribute("SOAP-ENC:arrayType", "xsd:float[3]", null);
+
+        OMElement value0 = omfactory.createOMElement("varString", "", null);
+        value0.addAttribute("xsi:type", "xsd:float", null);
+        value0.addChild(omfactory.createText("45.76876"));
+        OMElement value1 = omfactory.createOMElement("varInt", "", null);
+        value1.addAttribute("xsi:type", "xsd:float", null);
+        value1.addChild(omfactory.createText("43.454"));
+        OMElement value2 = omfactory.createOMElement("varFloat", "", null);
+        value2.addAttribute("xsi:type", "xsd:float", null);
+        value2.addChild(omfactory.createText("2523.542"));
+
+        part.addChild(value0);
+        part.addChild(value1);
+        part.addChild(value2);
+
+        operation.addChild(part);
+        return reqEnv;
+
+    }
+}