You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ra...@apache.org on 2010/01/27 16:05:01 UTC

svn commit: r903668 [4/8] - in /tuscany/sca-java-2.x/trunk/itest: ./ databindings/ databindings/jaxb-bottom-up/ databindings/jaxb-bottom-up/src/ databindings/jaxb-bottom-up/src/main/ databindings/jaxb-bottom-up/src/main/java/ databindings/jaxb-bottom-u...

Added: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesDatabindingTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesDatabindingTestCase.java?rev=903668&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesDatabindingTestCase.java (added)
+++ tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesDatabindingTestCase.java Wed Jan 27 15:04:56 2010
@@ -0,0 +1,1448 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+package org.apache.tuscany.sca.itest.databindings.jaxb;
+
+import java.awt.Image;
+import java.awt.image.BufferedImage;
+import java.awt.image.PixelGrabber;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.net.URI;
+import java.net.URL;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.TimeZone;
+import java.util.UUID;
+
+import javax.activation.DataHandler;
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeFactory;
+import javax.xml.datatype.Duration;
+import javax.xml.datatype.XMLGregorianCalendar;
+import javax.xml.namespace.QName;
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.sax.SAXSource;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+import junit.framework.Assert;
+
+import org.apache.axiom.attachments.ByteArrayDataSource;
+import org.apache.tuscany.sca.databinding.xml.String2Node;
+import org.apache.tuscany.sca.itest.databindings.jaxb.impl.StandardTypesTransformer;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.xml.sax.InputSource;
+
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.Contribution;
+
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class StandardTypesDatabindingTestCase {
+
+    private static Node node;
+
+    /**
+     * Runs before each test method
+     */
+    @BeforeClass
+    public static void setUp() throws Exception {
+        try {
+            NodeFactory factory = NodeFactory.newInstance();
+            node = factory.createNode(new File("src/main/resources/standard-types-service.composite").toURI().toURL().toString(),
+                new Contribution("TestContribution", new File("src/main/resources/").toURI().toURL().toString()));
+            node.start();
+        } catch (Throwable e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * Runs after each test method
+     */
+    @AfterClass
+    public static void tearDown() {
+        node.stop();
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewBigInteger.
+     */
+    @Test
+    public void testSCANewBigInteger() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewBigInteger(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewBigIntegerArray.
+     */
+    @Test
+    public void testSCANewBigIntegerArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewBigIntegerArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewBigDecimal.
+     */
+    @Test
+    public void testSCANewBigDecimal() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewBigDecimal(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewBigDecimalArray.
+     */
+    @Test
+    public void testSCANewBigDecimalArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewBigDecimalArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewCalendar.
+     */
+    @Test
+    public void testSCANewCalendar() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewCalendar(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewCalendarArray.
+     */
+    @Test
+    public void testSCANewCalendarArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewCalendarArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewDate.
+     */
+    @Test
+    public void testSCANewDate() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewDate(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewDateArray.
+     */
+    @Test
+    public void testSCANewDateArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewDateArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewQName.
+     */
+    @Test
+    public void testSCANewQName() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewQName(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewQNameArray.
+     */
+    @Test
+    public void testSCANewQNameArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewQNameArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewURI.
+     */
+    @Test
+    public void testSCANewURI() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewURI(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewURIArray.
+     */
+    @Test
+    public void testSCANewURIArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewURIArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewXMLGregorianCalendar.
+     */
+    @Test
+    public void testSCANewXMLGregorianCalendar() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewXMLGregorianCalendar(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewXMLGregorianCalendarArray.
+     */
+    @Test
+    public void testSCANewXMLGregorianCalendarArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewXMLGregorianCalendarArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewDuration.
+     */
+    @Test
+    public void testSCANewDuration() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewDuration(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewDurationArray.
+     */
+    @Test
+    public void testSCANewDurationArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewDurationArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewObject.
+     */
+    @Test
+    public void testSCANewObject() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewObject(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewObjectArray.
+     */
+    @Test
+    public void testSCANewObjectArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewObjectArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewImage.
+     */
+    @Test
+    public void testSCANewImage() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewImage(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewImageArray.
+     */
+    @Test
+    public void testSCANewImageArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewImageArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewDataHandler.
+     */
+    @Test
+    public void testSCANewDataHandler() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewDataHandler(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewDataHandlerArray.
+     */
+    @Test
+    public void testSCANewDataHandlerArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewDataHandlerArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewSource.
+     */
+    /*@Test
+    public void testSCANewSource() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewSource(serviceClient);
+    }*/
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewSourceArray.
+     */
+    /*@Test
+    @Ignore("TUSCANY-2387")
+    public void testSCANewSourceArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewSourceArray(serviceClient);
+    }*/
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewUUID.
+     */
+    @Test
+    public void testSCANewUUID() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewUUID(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using SCA binding.
+     * Service method invoked is getNewUUIDArray.
+     */
+    @Test
+    public void testSCANewUUIDArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientSCAComponent");
+        performTestNewUUIDArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewBigInteger.
+     */
+    @Test
+    public void testWSNewBigInteger() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewBigInteger(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewBigIntegerArray.
+     */
+    @Test
+    public void testWSNewBigIntegerArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewBigIntegerArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewBigDecimal.
+     */
+    @Test
+    public void testWSNewBigDecimal() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewBigDecimal(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewBigDecimalArray.
+     */
+    @Test
+    public void testWSNewBigDecimalArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewBigDecimalArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewCalendar.
+     */
+    @Test
+    public void testWSNewCalendar() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewCalendar(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewCalendarArray.
+     */
+    @Test
+    public void testWSNewCalendarArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewCalendarArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewDate.
+     */
+    @Test
+    public void testWSNewDate() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewDate(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewDateArray.
+     */
+    @Test
+    public void testWSNewDateArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewDateArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewQName.
+     */
+    @Test
+    public void testWSNewQName() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewQName(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewQNameArray.
+     */
+    @Test
+    public void testWSNewQNameArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewQNameArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewURI.
+     */
+    @Test
+    public void testWSNewURI() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewURI(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewURIArray.
+     */
+    @Test
+    public void testWSNewURIArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewURIArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewXMLGregorianCalendar.
+     */
+    @Test
+    public void testWSNewXMLGregorianCalendar() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewXMLGregorianCalendar(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewXMLGregorianCalendarArray.
+     */
+    @Test
+    public void testWSNewXMLGregorianCalendarArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewXMLGregorianCalendarArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewDuration.
+     */
+    @Test
+    public void testWSNewDuration() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewDuration(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewDurationArray.
+     */
+    @Test
+    public void testWSNewDurationArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewDurationArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewObject.
+     */
+    @Test
+    public void testWSNewObject() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewObject(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewObjectArray.
+     */
+    @Test
+    public void testWSNewObjectArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewObjectArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewImage.
+     */
+    @Test
+    public void testWSNewImage() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewImage(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewImageArray.
+     */
+    @Test
+    public void testWSNewImageArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewImageArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewDataHandler.
+     */
+    @Test
+    public void testWSNewDataHandler() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewDataHandler(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewDataHandlerArray.
+     */
+    @Test
+    public void testWSNewDataHandlerArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewDataHandlerArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewSource.
+     */
+    /*@Test
+    // @Ignore("junit.framework.ComparisonFailure: null expected:<... encoding=\"UTF-8\"?><[a>A</a]>> but was:<... encoding=\"UTF-8\"?><[return xmlns=\"http://jaxb.databindings.itest.sca.tuscany.apache.org/\">A</return]>>")
+    public void testWSNewSource() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewSource(serviceClient);
+    }*/
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewSourceArray.
+     */
+    /*@Test
+    @Ignore("TUSCANY-2386")
+    public void testWSNewSourceArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewSourceArray(serviceClient);
+    }*/
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewUUID.
+     */
+    @Test
+    public void testWSNewUUID() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewUUID(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesService service using WS binding.
+     * Service method invoked is getNewUUIDArray.
+     */
+    @Test
+    public void testWSNewUUIDArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesServiceClientWSComponent");
+        performTestNewUUIDArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewBigInteger.
+     */
+    @Test
+    public void testSCALocalNewBigInteger() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewBigInteger(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewBigIntegerArray.
+     */
+    @Test
+    public void testSCALocalNewBigIntegerArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewBigIntegerArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewBigDecimal.
+     */
+    @Test
+    public void testSCALocalNewBigDecimal() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewBigDecimal(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewBigDecimalArray.
+     */
+    @Test
+    public void testSCALocalNewBigDecimalArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewBigDecimalArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewCalendar.
+     */
+    @Test
+    public void testSCALocalNewCalendar() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewCalendar(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewCalendarArray.
+     */
+    @Test
+    public void testSCALocalNewCalendarArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewCalendarArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewDate.
+     */
+    @Test
+    public void testSCALocalNewDate() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewDate(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewDateArray.
+     */
+    @Test
+    public void testSCALocalNewDateArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewDateArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewQName.
+     */
+    @Test
+    public void testSCALocalNewQName() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewQName(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewQNameArray.
+     */
+    @Test
+    public void testSCALocalNewQNameArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewQNameArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewURI.
+     */
+    @Test
+    public void testSCALocalNewURI() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewURI(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewURIArray.
+     */
+    @Test
+    public void testSCALocalNewURIArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewURIArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewXMLGregorianCalendar.
+     */
+    @Test
+    public void testSCALocalNewXMLGregorianCalendar() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewXMLGregorianCalendar(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewXMLGregorianCalendarArray.
+     */
+    @Test
+    public void testSCALocalNewXMLGregorianCalendarArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewXMLGregorianCalendarArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewDuration.
+     */
+    @Test
+    public void testSCALocalNewDuration() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewDuration(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewDurationArray.
+     */
+    @Test
+    public void testSCALocalNewDurationArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewDurationArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewObject.
+     */
+    @Test
+    public void testSCALocalNewObject() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewObject(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewObjectArray.
+     */
+    @Test
+    public void testSCALocalNewObjectArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewObjectArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewImage.
+     */
+    @Test
+    public void testSCALocalNewImage() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewImage(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewImageArray.
+     */
+    @Test
+    public void testSCALocalNewImageArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewImageArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalLocalService service using SCA binding.
+     * Service method invoked is getNewDataHandler.
+     */
+    @Test
+    public void testSCALocalNewDataHandler() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewDataHandler(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewDataHandlerArray.
+     */
+    @Test
+    public void testSCALocalNewDataHandlerArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewDataHandlerArray(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewSource.
+     */
+    /*@Test
+    public void testSCALocalNewSource() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewSource(serviceClient);
+    }*/
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewSourceArray.
+     */
+    /*@Test
+    public void testSCALocalNewSourceArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewSourceArray(serviceClient);
+    }*/
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewUUID.
+     */
+    @Test
+    public void testSCALocalNewUUID() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewUUID(serviceClient);
+    }
+
+    /**
+     * Invokes the StandardTypesLocalService service using SCA binding.
+     * Service method invoked is getNewUUIDArray.
+     */
+    @Test
+    public void testSCALocalNewUUIDArray() throws Exception {
+        StandardTypesServiceClient serviceClient =
+            ((Client)node).getService(StandardTypesServiceClient.class, "StandardTypesLocalServiceClientSCAComponent");
+        performTestNewUUIDArray(serviceClient);
+    }
+
+    private void performTestNewBigInteger(StandardTypesServiceClient serviceClient) {
+        BigInteger bi = new BigInteger("1234567890123456789012345678901234");
+        BigInteger expected = bi.negate();
+        BigInteger actual = serviceClient.getNewBigIntegerForward(bi);
+        Assert.assertEquals(expected, actual);
+    }
+
+    private void performTestNewBigIntegerArray(StandardTypesServiceClient serviceClient) {
+        BigInteger[] bia = new BigInteger[2];
+        bia[0] = new BigInteger("1234567890123456789012345678901234");
+        bia[1] = new BigInteger("-98765432109876543210987654321");
+        BigInteger[] actual = serviceClient.getNewBigIntegerArrayForward(bia);
+        Assert.assertEquals(bia.length, actual.length);
+        for (int i = 0; i < bia.length; ++i) {
+            Assert.assertEquals(bia[i].negate(), actual[i]);
+        }
+    }
+
+    private void performTestNewBigDecimal(StandardTypesServiceClient serviceClient) {
+        BigDecimal bd = new BigDecimal("12345678901234567890.12345678901234");
+        BigDecimal expected = bd.negate();
+        BigDecimal actual = serviceClient.getNewBigDecimalForward(bd);
+        Assert.assertEquals(expected, actual);
+    }
+
+    private void performTestNewBigDecimalArray(StandardTypesServiceClient serviceClient) {
+        BigDecimal[] bda = new BigDecimal[2];
+        bda[0] = new BigDecimal("1234567890123456.789012345678901234");
+        bda[1] = new BigDecimal("-987654321098765.43210987654321");
+        BigDecimal[] actual = serviceClient.getNewBigDecimalArrayForward(bda);
+        Assert.assertEquals(bda.length, actual.length);
+        for (int i = 0; i < bda.length; ++i) {
+            Assert.assertEquals(bda[i].negate(), actual[i]);
+        }
+    }
+
+    private void performTestNewCalendar(StandardTypesServiceClient serviceClient) {
+        Calendar[] ca = new Calendar[3];
+        String[] tz = {"GMT+05:30", "GMT+00:00", "GMT-05:00"};
+        for (int i = 0; i < ca.length; ++i) {
+            ca[i] = Calendar.getInstance(TimeZone.getTimeZone(tz[i]));
+            ca[i].set(Calendar.DAY_OF_MONTH, i + 1);
+        }
+        for (int i = 0; i < ca.length; ++i) {
+            Calendar actual = serviceClient.getNewCalendarForward(ca[i]);
+            ca[i].add(Calendar.DAY_OF_MONTH, 5);
+            if (actual instanceof GregorianCalendar && ca[i] instanceof GregorianCalendar) {
+                // FIXME: Is this a problem?
+                // The instance returned by service method invoked over binding.ws seems to have a gregorianCutover
+                // different from the instance passed.  Adjust the gregorianCutover as per the input instance.
+                ((GregorianCalendar)actual).setGregorianChange(((GregorianCalendar)ca[i]).getGregorianChange());
+            }
+            Assert.assertEquals(ca[i], actual);
+        }
+    }
+
+    private void performTestNewCalendarArray(StandardTypesServiceClient serviceClient) {
+        Calendar[] ca = new Calendar[3];
+        String[] tz = {"GMT+05:30", "GMT+00:00", "GMT-05:00"};
+        for (int i = 0; i < ca.length; ++i) {
+            ca[i] = Calendar.getInstance(TimeZone.getTimeZone(tz[i]));
+            ca[i].set(Calendar.DAY_OF_MONTH, i + 1);
+        }
+        Calendar[] actual = serviceClient.getNewCalendarArrayForward(ca);
+        Assert.assertEquals(ca.length, actual.length);
+        for (int i = 0; i < ca.length; ++i) {
+            ca[i].add(Calendar.DAY_OF_MONTH, 5);
+            if (actual[i] instanceof GregorianCalendar && ca[i] instanceof GregorianCalendar) {
+                // FIXME: Is this a problem?
+                // The instance returned by service method invoked over binding.ws seems to have a gregorianCutover
+                // different from the instance passed.  Adjust the gregorianCutover as per the input instance.
+                ((GregorianCalendar)actual[i]).setGregorianChange(((GregorianCalendar)ca[i]).getGregorianChange());
+            }
+            Assert.assertEquals(ca[i], actual[i]);
+        }
+    }
+
+    private void performTestNewDate(StandardTypesServiceClient serviceClient) {
+        Date d = new Date();
+        Date expected = new Date(d.getTime() + 5 * 24 * 60 * 60 * 1000);
+        Date actual = serviceClient.getNewDateForward(d);
+        Assert.assertEquals(expected, actual);
+    }
+
+    private void performTestNewDateArray(StandardTypesServiceClient serviceClient) {
+        Date[] d = new Date[2];
+        Date[] expected = new Date[d.length];
+        for (int i = 0; i < d.length; ++i) {
+            d[i] = new Date();
+            d[i].setTime(d[i].getTime() + i * 24 * 60 * 60 * 1000);
+            expected[i] = new Date(d[i].getTime() + 5 * 24 * 60 * 60 * 1000);
+        }
+        Date[] actual = serviceClient.getNewDateArrayForward(d);
+        Assert.assertEquals(expected.length, actual.length);
+        for (int i = 0; i < expected.length; ++i) {
+            Assert.assertEquals(expected[i], actual[i]);
+        }
+    }
+
+    private void performTestNewQName(StandardTypesServiceClient serviceClient) {
+        QName[] qnames = new QName[3];
+        qnames[0] = new QName("localPart");
+        qnames[1] = new QName("namespaceUri", "localPart");
+        qnames[2] = new QName("namespaceUri", "localPart", "prefix");
+        QName[] expected = new QName[qnames.length];
+        for (int i = 0; i < qnames.length; ++i) {
+            expected[i] =
+                new QName(qnames[i].getNamespaceURI() + "q", qnames[i].getLocalPart() + "q",
+                          qnames[i].getPrefix() + "q");
+        }
+        for (int i = 0; i < qnames.length; ++i) {
+            QName actual = serviceClient.getNewQNameForward(qnames[i]);
+            Assert.assertEquals(expected[i], actual);
+        }
+    }
+
+    private void performTestNewQNameArray(StandardTypesServiceClient serviceClient) {
+        QName[] qnames = new QName[4];
+        qnames[0] = new QName("localPart");
+        qnames[1] = new QName("namespaceUri", "localPart");
+        qnames[2] = new QName("namespaceUri", "localPart", "prefix");
+        qnames[3] = new QName("localPart2");
+        QName[] expected = new QName[qnames.length];
+        for (int i = 0; i < qnames.length; ++i) {
+            expected[i] =
+                new QName(qnames[i].getNamespaceURI() + "q", qnames[i].getLocalPart() + "q",
+                          qnames[i].getPrefix() + "q");
+        }
+        QName[] actual = serviceClient.getNewQNameArrayForward(qnames);
+        Assert.assertEquals(expected.length, actual.length);
+        for (int i = 0; i < qnames.length; ++i) {
+            Assert.assertEquals(expected[i], actual[i]);
+        }
+    }
+
+    private void performTestNewURI(StandardTypesServiceClient serviceClient) {
+        URI[] uris = new URI[4];
+        uris[0] = URI.create("a/b/c");
+        uris[1] = URI.create("http://abc/");
+        uris[2] = URI.create("ftp://a/b");
+        uris[3] = URI.create("http://abc/").resolve("xyz");
+
+        for (int i = 0; i < uris.length; ++i) {
+            URI expected = uris[i].resolve("uri");
+            URI actual = serviceClient.getNewURIForward(uris[i]);
+            Assert.assertEquals(expected, actual);
+        }
+    }
+
+    private void performTestNewURIArray(StandardTypesServiceClient serviceClient) {
+        URI[] uris = new URI[4];
+        uris[0] = URI.create("a/b/c");
+        // [rfeng] We need to have a trialign / to avoid the resolving problem
+        // FIXME: [vamsi] This is actually a data transformation problem. The array being returned from the service method is
+        // not making to the caller intact.
+        uris[1] = URI.create("http://abc/");
+        uris[2] = URI.create("ftp://a/b");
+        uris[3] = URI.create("http://abc/").resolve("xyz");
+
+        URI[] expected = new URI[uris.length];
+        for (int i = 0; i < uris.length; ++i) {
+            expected[i] = uris[i].resolve("uri");
+        }
+
+        URI[] actual = serviceClient.getNewURIArrayForward(uris);
+        Assert.assertEquals(expected.length, actual.length);
+        for (int i = 0; i < uris.length; ++i) {
+            Assert.assertEquals(expected[i], actual[i]);
+        }
+    }
+
+    private void performTestNewXMLGregorianCalendar(StandardTypesServiceClient serviceClient)
+        throws DatatypeConfigurationException {
+        DatatypeFactory df = DatatypeFactory.newInstance();
+        XMLGregorianCalendar[] xgcals = new XMLGregorianCalendar[3];
+        xgcals[0] = df.newXMLGregorianCalendar(new GregorianCalendar(1974, GregorianCalendar.APRIL, 19));
+        xgcals[1] = df.newXMLGregorianCalendar(new GregorianCalendar(1978, GregorianCalendar.OCTOBER, 13));
+        xgcals[2] = df.newXMLGregorianCalendar(new GregorianCalendar(2006, GregorianCalendar.JUNE, 16));
+
+        for (int i = 0; i < xgcals.length; ++i) {
+            XMLGregorianCalendar actual = serviceClient.getNewXMLGregorianCalendarForward(xgcals[i]);
+            xgcals[i].setDay(xgcals[i].getDay() + 5);
+            Assert.assertEquals(xgcals[i], actual);
+        }
+    }
+
+    private void performTestNewXMLGregorianCalendarArray(StandardTypesServiceClient serviceClient)
+        throws DatatypeConfigurationException {
+        DatatypeFactory df = DatatypeFactory.newInstance();
+        XMLGregorianCalendar[] xgcals = new XMLGregorianCalendar[3];
+        xgcals[0] = df.newXMLGregorianCalendar(new GregorianCalendar(1974, GregorianCalendar.APRIL, 19));
+        xgcals[1] = df.newXMLGregorianCalendar(new GregorianCalendar(1978, GregorianCalendar.OCTOBER, 13));
+        xgcals[2] = df.newXMLGregorianCalendar(new GregorianCalendar(2006, GregorianCalendar.JUNE, 16));
+
+        XMLGregorianCalendar[] actual = serviceClient.getNewXMLGregorianCalendarArrayForward(xgcals);
+        Assert.assertEquals(xgcals.length, actual.length);
+        for (int i = 0; i < xgcals.length; ++i) {
+            xgcals[i].setDay(xgcals[i].getDay() + 5);
+            Assert.assertEquals(xgcals[i], actual[i]);
+        }
+    }
+
+    private void performTestNewDuration(StandardTypesServiceClient serviceClient) throws DatatypeConfigurationException {
+        DatatypeFactory df = DatatypeFactory.newInstance();
+        Duration[] da = new Duration[3];
+        da[0] = df.newDuration(1000000000000L);
+        da[1] = df.newDurationDayTime(1000000000000L);
+        da[2] = df.newDurationYearMonth(true, 1, 3);
+
+        for (int i = 0; i < da.length; ++i) {
+            Assert.assertEquals(da[i].negate(), serviceClient.getNewDurationForward(da[i]));
+        }
+    }
+
+    private void performTestNewObject(StandardTypesServiceClient serviceClient) {
+        Object[] objs = new Object[5];
+        objs[0] = "Hello";
+        objs[1] = 10;
+        objs[2] = null;
+        objs[3] = -1.0;
+        objs[4] = null;
+
+        for (int i = 0; i < objs.length; ++i) {
+            Object expected = StandardTypesTransformer.getNewObject(objs[i]);
+            Object actual = serviceClient.getNewObjectForward(objs[i]);
+            Assert.assertEquals(expected, actual);
+        }
+    }
+
+    private void performTestNewObjectArray(StandardTypesServiceClient serviceClient) {
+        Object[] objs = new Object[5];
+        objs[0] = "Hello";
+        objs[1] = 10;
+        objs[2] = null;
+        objs[3] = -1.0;
+        objs[4] = null;
+
+        Object[] actual = serviceClient.getNewObjectArrayForward(objs);
+        Assert.assertEquals(objs.length, actual.length);
+        for (int i = 0; i < objs.length; ++i) {
+            Object expected = StandardTypesTransformer.getNewObject(objs[i]);
+            Assert.assertEquals(expected, actual[i]);
+        }
+    }
+
+    private void performTestNewImage(StandardTypesServiceClient serviceClient) throws InterruptedException {
+        // Create some images to test with.
+        Image[] imgs = new Image[3];
+        imgs[0] = new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR);
+        imgs[1] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB);
+        imgs[2] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB);
+        imgs[0].getGraphics().drawLine(1, 1, 8, 8);
+        imgs[1].getGraphics().drawLine(8, 1, 1, 8);
+        imgs[2].getGraphics().drawLine(1, 8, 8, 1);
+        
+        Image[] copy = imgs;
+        // Create the same images once again as the StandardTypesTransformer may manipulate the image passed.
+        imgs = new Image[3];
+        imgs[0] = new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR);
+        imgs[1] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB);
+        imgs[2] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB);
+        imgs[0].getGraphics().drawLine(1, 1, 8, 8);
+        imgs[1].getGraphics().drawLine(8, 1, 1, 8);
+        imgs[2].getGraphics().drawLine(1, 8, 8, 1);
+        
+        // Make sure the images and copies are equal using ImageInfo
+        for(int i = 0; i < imgs.length; ++i) {
+            Assert.assertEquals(new ImageInfo(imgs[i]), new ImageInfo(copy[i]));
+        }
+
+        for (int i = 0; i < imgs.length; ++i) {
+            Image actual = serviceClient.getNewImageForward(imgs[i]);
+            Image expected = StandardTypesTransformer.getNewImage(copy[i]);
+            // Compare using ImageInfo
+            Assert.assertEquals(new ImageInfo(expected), new ImageInfo(actual));
+        }
+    }
+
+    private void performTestNewImageArray(StandardTypesServiceClient serviceClient) throws InterruptedException {
+        // Create some images to test with.
+        Image[] imgs = new Image[3];
+        imgs[0] = new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR);
+        imgs[1] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB);
+        imgs[2] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB);
+        imgs[0].getGraphics().drawLine(1, 1, 8, 8);
+        imgs[1].getGraphics().drawLine(8, 1, 1, 8);
+        imgs[2].getGraphics().drawLine(1, 8, 8, 1);
+        
+        Image[] copy = imgs;
+        // Create the same images once again as the StandardTypesTransformer may manipulate the image passed.
+        imgs = new Image[3];
+        imgs[0] = new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR);
+        imgs[1] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB);
+        imgs[2] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB);
+        imgs[0].getGraphics().drawLine(1, 1, 8, 8);
+        imgs[1].getGraphics().drawLine(8, 1, 1, 8);
+        imgs[2].getGraphics().drawLine(1, 8, 8, 1);
+        
+        // Make sure the images and copies are equal using ImageInfo
+        for(int i = 0; i < imgs.length; ++i) {
+            Assert.assertEquals(new ImageInfo(imgs[i]), new ImageInfo(copy[i]));
+        }
+
+        Image[] actual = serviceClient.getNewImageArrayForward(imgs);
+        Assert.assertEquals(imgs.length, actual.length);
+        for (int i = 0; i < imgs.length; ++i) {
+            Image expected = StandardTypesTransformer.getNewImage(copy[i]);
+            // Compare using ImageInfo
+            Assert.assertEquals(new ImageInfo(expected), new ImageInfo(actual[i]));
+        }
+    }
+
+    private void performTestNewDurationArray(StandardTypesServiceClient serviceClient)
+        throws DatatypeConfigurationException {
+        DatatypeFactory df = DatatypeFactory.newInstance();
+        Duration[] da = new Duration[3];
+        da[0] = df.newDuration(1000000000000L);
+        da[1] = df.newDurationDayTime(1000000000000L);
+        da[2] = df.newDurationYearMonth(true, 1, 3);
+
+        Duration[] actual = serviceClient.getNewDurationArrayForward(da);
+        Assert.assertEquals(da.length, actual.length);
+        for (int i = 0; i < da.length; ++i) {
+            Assert.assertEquals(da[i].negate(), actual[i]);
+        }
+    }
+
+    private void performTestNewDataHandler(StandardTypesServiceClient serviceClient) throws IOException {
+        DataHandler[] dha = new DataHandler[3];
+        dha[0] = new DataHandler("Some data", "text/plain");
+        dha[1] = new DataHandler(new URL("http://tuscany.apache.org/home.html"));
+        dha[2] = new DataHandler(new ByteArrayDataSource("Some data2".getBytes()));
+
+        for (int i = 0; i < dha.length; ++i) {
+            DataHandler actual = serviceClient.getNewDataHandlerForward(dha[i]);
+            // Note: The DataHandler returned may use a different type of DataSource.
+            // Compare the data content instead of using equals().
+            Assert.assertTrue(compare(dha[i], actual));
+        }
+    }
+
+    private void performTestNewDataHandlerArray(StandardTypesServiceClient serviceClient) throws IOException {
+        DataHandler[] dha = new DataHandler[3];
+        dha[0] = new DataHandler("Some data", "text/plain");
+        dha[1] = new DataHandler(new URL("http://tuscany.apache.org/home.html"));
+        dha[2] = new DataHandler(new ByteArrayDataSource("Some data2".getBytes()));
+
+        DataHandler[] actual = serviceClient.getNewDataHandlerArrayForward(dha);
+        Assert.assertEquals(dha.length, actual.length);
+        for (int i = 0; i < dha.length; ++i) {
+            // Note: The DataHandler returned may use a different type of DataSource.
+            // Compare the data content instead of using equals().
+            Assert.assertTrue(compare(dha[i], actual[i]));
+        }
+    }
+
+    /*private void performTestNewSource(StandardTypesServiceClient serviceClient) throws Exception {
+        String xml = "<a>A<b>B</b><c>C</c></a>";
+        Source[] srcs = new Source[3];
+        srcs[0] = new DOMSource(new String2Node(null).transform(xml, null));
+        srcs[1] = new SAXSource(new InputSource(new StringReader(xml)));
+        srcs[2] = new StreamSource(new StringReader(xml));
+
+        for (int i = 0; i < srcs.length; ++i) {
+            Source expected = StandardTypesTransformer.getNewSource(srcs[i]);
+            Source actual = serviceClient.getNewSourceForward(srcs[i]);
+            // [rfeng] The data may come back as a different source
+            Assert.assertEquals(sourceToString(expected), sourceToString(actual));
+        }
+    }
+
+    private void performTestNewSourceArray(StandardTypesServiceClient serviceClient) throws Exception {
+        String xml = "<a>A<b>B</b><c>C</c></a>";
+        Source[] srcs = new Source[3];
+        srcs[0] = new DOMSource(new String2Node(null).transform(xml, null));
+        srcs[1] = new SAXSource(new InputSource(new StringReader(xml)));
+        srcs[2] = new StreamSource(new StringReader(xml));
+
+        Source[] actual = serviceClient.getNewSourceArrayForward(srcs);
+        Source[] expected = new Source[srcs.length];
+        for(int i = 0; i < srcs.length; ++i) {
+            expected[i] = StandardTypesTransformer.getNewSource(srcs[i]);
+        }
+        Assert.assertEquals(srcs.length, actual.length);
+        for (int i = 0; i < srcs.length; ++i) {
+            // [rfeng] The data may come back as a different source
+            Assert.assertEquals(sourceToString(expected[i]), sourceToString(actual[i]));
+        }
+
+    }*/
+
+    private void performTestNewUUID(StandardTypesServiceClient serviceClient) {
+        UUID[] uuids = new UUID[3];
+        uuids[0] = UUID.nameUUIDFromBytes("ABCDEFGHJKLMNOPQRSTUVWXYZ".getBytes());
+        uuids[1] = UUID.nameUUIDFromBytes("abcdefghjklmnopqrstuvwxyz".getBytes());
+        uuids[2] = UUID.randomUUID();
+
+        for (int i = 0; i < uuids.length; ++i) {
+            UUID expected = UUID.fromString(uuids[i].toString() + "AAA");
+            UUID actual = serviceClient.getNewUUIDForward(uuids[i]);
+            Assert.assertEquals(expected, actual);
+        }
+    }
+
+    private void performTestNewUUIDArray(StandardTypesServiceClient serviceClient) {
+        UUID[] uuids = new UUID[3];
+        uuids[0] = UUID.nameUUIDFromBytes("ABCDEFGHJKLMNOPQRSTUVWXYZ".getBytes());
+        uuids[1] = UUID.nameUUIDFromBytes("abcdefghjklmnopqrstuvwxyz".getBytes());
+        uuids[2] = UUID.randomUUID();
+
+        UUID[] actual = serviceClient.getNewUUIDArrayForward(uuids);
+        for (int i = 0; i < uuids.length; ++i) {
+            UUID expected = UUID.fromString(uuids[i].toString() + "AAA");
+            Assert.assertEquals(expected, actual[i]);
+        }
+    }
+    
+    /**
+     * This method compares two DataHandlers.
+     * @return true if the data in the two handlers is the same.
+     */
+    private boolean compare(DataHandler dh1, DataHandler dh2) throws IOException {
+        InputStream inp1 = dh1.getInputStream();
+        InputStream inp2 = dh2.getInputStream();
+        for(;;) {
+            int i1 = inp1.read();
+            int i2 = inp2.read();
+            if(i1 == -1 && i2 == -1) {
+                return true;
+            } else if(i1 != -1 && i2 != -1) {
+                if(i1 != i2) {
+                    return false;
+                }
+            } else {
+                return false;
+            }
+        }
+    }
+    
+    /**
+     * This method returns the content of a source object as String.
+     */
+    private String sourceToString(Source s) throws Exception {
+        StringWriter sw = new StringWriter();
+        Result r  = new StreamResult(sw);
+        TransformerFactory.newInstance().newTransformer().transform(s, r);
+        sw.close();
+        return sw.toString();
+    }
+    
+    /**
+     * This class initializes with the width, height and pixel data of a java.awt.Image object.
+     */
+    private static class ImageInfo {
+        private int h, w, pixels[];
+        public ImageInfo(Image img) throws InterruptedException {
+            w = img.getWidth(null);
+            h = img.getHeight(null);
+            pixels = new int[w*h];
+            PixelGrabber pg = new PixelGrabber(img, 0, 0, w, h, pixels, 0, w);
+            pg.grabPixels();
+        }
+        
+        public boolean equals(Object that) {
+            if(that == null) {
+                return false;
+            } else if(!(that instanceof ImageInfo)) {
+                return false;
+            }
+            
+            ImageInfo that1 = (ImageInfo)that;
+            if(w != that1.w || h != that1.h || pixels == null || that1.pixels == null || pixels.length != that1.pixels.length) {
+                return false;
+            }
+            for(int i = 0; i < pixels.length; ++i) {
+                if(pixels[i] != that1.pixels[i]) {
+                    return false;
+                }
+            }
+            return true;
+        }
+        
+        public String toString() {
+            return this.getClass().getSimpleName()+"[w = "+w+", h = "+h+", pixels = "+pixels+"]";
+        }
+    }
+}

Propchange: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesDatabindingTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesDatabindingTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/pom.xml?rev=903668&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/pom.xml (added)
+++ tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/pom.xml Wed Jan 27 15:04:56 2010
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    * Licensed to the Apache Software Foundation (ASF) under one
+    * or more contributor license agreements.  See the NOTICE file
+    * distributed with this work for additional information
+    * regarding copyright ownership.  The ASF licenses this file
+    * to you under the Apache License, Version 2.0 (the
+    * "License"); you may not use this file except in compliance
+    * with the License.  You may obtain a copy of the License at
+    * 
+    *   http://www.apache.org/licenses/LICENSE-2.0
+    * 
+    * Unless required by applicable law or agreed to in writing,
+    * software distributed under the License is distributed on an
+    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    * KIND, either express or implied.  See the License for the
+    * specific language governing permissions and limitations
+    * under the License.    
+-->
+
+<!-- $Rev$ $Date$ -->
+
+<project>
+    <parent>
+        <groupId>org.apache.tuscany.sca</groupId>
+        <artifactId>itest-databindings</artifactId>
+        <version>2.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>itest-databindings-jaxb-top-down</artifactId>
+    <version>2.0-SNAPSHOT</version>
+    <name>Apache Tuscany SCA iTest Databinding - JAXB Top Down</name>
+
+    <repositories>
+        <repository>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+            <id>java.net</id>
+            <name>java.net Maven 1.x Repository</name>
+            <url>http://download.java.net/maven/1</url>
+            <layout>legacy</layout>
+        </repository>
+        <repository>
+            <id>java.net2</id>
+            <name>java.net Maven 2.x Repository</name>
+            <url>http://download.java.net/maven/2</url>
+        </repository>
+    </repositories>
+
+    <pluginRepositories>
+        <pluginRepository>
+            <id>java.net2</id>
+            <name>java.net Maven 2.x Repository</name>
+            <url>http://download.java.net/maven/2</url>
+        </pluginRepository>
+    </pluginRepositories>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node-api</artifactId>
+            <version>${pom.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node-impl</artifactId>
+            <version>${pom.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-ws-axis2</artifactId>
+            <version>2.0-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-databinding-jaxb</artifactId>
+            <version>2.0-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+        <!--dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-databinding-sdo</artifactId>
+            <version>2.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency-->
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-databinding-axiom</artifactId>
+            <version>2.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+        <!-- dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>itest-databindings-common</artifactId>
+            <version>2.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency -->
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-java-runtime</artifactId>
+            <version>2.0-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-interface-java</artifactId>
+            <version>2.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-host-jetty</artifactId>
+            <version>2.0-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.xml.bind</groupId>
+            <artifactId>jaxb-api</artifactId>
+            <version>2.1</version>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.sun.xml.ws</groupId>
+            <artifactId>jaxws-rt</artifactId>
+            <version>2.1.3</version>
+        </dependency>
+        <!-- Added by Simon Nash    -->
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+            <version>3.1</version>
+        </dependency>
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+            <version>1.2.12</version>
+            <scope>provided</scope>
+        </dependency>
+        <!-- End of addition   -->        
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <argLine>-Djava.endorsed.dirs=target/endorsed</argLine>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>copy</goal>
+                        </goals>
+                        <configuration>
+                            <artifactItems>
+                                <artifactItem>
+                                    <groupId>javax.xml.ws</groupId>
+                                    <artifactId>jaxws-api</artifactId>
+                                    <version>2.1</version>
+                                    <type>jar</type>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>javax.xml.bind</groupId>
+                                    <artifactId>jaxb-api</artifactId>
+                                    <version>2.1</version>
+                                    <type>jar</type>
+                                </artifactItem>
+                            </artifactItems>
+                            <outputDirectory>${project.build.directory}/endorsed</outputDirectory>
+                            <overWriteReleases>false</overWriteReleases>
+                            <overWriteSnapshots>true</overWriteSnapshots>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>

Propchange: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloService.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloService.java?rev=903668&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloService.java (added)
+++ tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloService.java Wed Jan 27 15:04:56 2010
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package org.apache.tuscany.sca.itest.databindings.jaxb;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+/**
+ * The interface for HelloService.
+ * 
+ * @version $Rev$ $Date$
+ */
+@Remotable
+public interface HelloService {
+    String getGreetings(String name);
+    String[] getGreetingsArray(String[] names);
+    List<String> getGreetingsList(List<String> names);
+    ArrayList<String> getGreetingsArrayList(ArrayList<String> names);
+    Map<String, String> getGreetingsMap(Map<String, String> namesMap);
+    HashMap<String, String> getGreetingsHashMap(HashMap<String, String> namesMap);
+    String getGreetingsVarArgs(String... names);
+}

Propchange: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloServiceClient.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloServiceClient.java?rev=903668&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloServiceClient.java (added)
+++ tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloServiceClient.java Wed Jan 27 15:04:56 2010
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+package org.apache.tuscany.sca.itest.databindings.jaxb;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * The interface for HelloServiceClient.
+ * 
+ * @version $Rev$ $Date$
+ */
+public interface HelloServiceClient {
+    String getGreetingsForward(String name);
+    String[] getGreetingsArrayForward(String[] names);
+    List<String> getGreetingsListForward(List<String> names);
+    ArrayList<String> getGreetingsArrayListForward(ArrayList<String> names);
+    Map<String, String> getGreetingsMapForward(Map<String, String> namesMap);
+    HashMap<String, String> getGreetingsHashMapForward(HashMap<String, String> namesMap);
+    String getGreetingsVarArgsForward(String... names);
+}

Propchange: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloServiceClient.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/HelloServiceClient.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesService.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesService.java?rev=903668&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesService.java (added)
+++ tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesService.java Wed Jan 27 15:04:56 2010
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package org.apache.tuscany.sca.itest.databindings.jaxb;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+/**
+ * The interface for PrimitivesService.
+ * 
+ * @version $Rev$ $Date$
+ */
+@Remotable
+public interface PrimitivesService {
+    boolean negateBoolean(boolean flag);
+    boolean[] negateBooleanArray(boolean[] flags);
+    boolean[] identityBooleanArray(boolean[] flags);
+    byte negateByte(byte b);
+    byte[] negateByteArray(byte[] ba);
+    byte[] identityByteArray(byte[] ba);
+    short negateShort(short s);
+    short[] negateShortArray(short[] s);
+    short[] identityShortArray(short[] sa);
+    int negateInt(int s);
+    int[] negateIntArray(int[] s);
+    int[] identityIntArray(int[] ia);
+    long negateLong(long l);
+    long[] negateLongArray(long[] la);
+    long[] identityLongArray(long[] la);
+    float negateFloat(float f);
+    float[] negateFloatArray(float[] fa);
+    float[] identityFloatArray(float[] fa);
+    double negateDouble(double d);
+    double[] negateDoubleArray(double[] da);
+    double[] identityDoubleArray(double[] da);
+}

Propchange: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesServiceClient.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesServiceClient.java?rev=903668&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesServiceClient.java (added)
+++ tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesServiceClient.java Wed Jan 27 15:04:56 2010
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+package org.apache.tuscany.sca.itest.databindings.jaxb;
+
+
+/**
+ * The interface for PrimitivesServiceClient.
+ * 
+ * @version $Rev$ $Date$
+ */
+public interface PrimitivesServiceClient {
+    boolean negateBooleanForward(boolean flag);
+    boolean[] negateBooleanArrayForward(boolean[] flags);
+    boolean passByValueBooleanArray();
+    byte negateByteForward(byte b);
+    byte[] negateByteArrayForward(byte[] ba);
+    boolean passByValueByteArray();
+    short negateShortForward(short s);
+    short[] negateShortArrayForward(short[] sa);
+    boolean passByValueShortArray();
+    int negateIntForward(int i);
+    int[] negateIntArrayForward(int[] ia);
+    boolean passByValueIntArray();
+    long negateLongForward(long l);
+    long[] negateLongArrayForward(long[] la);
+    boolean passByValueLongArray();
+    float negateFloatForward(float f);
+    float[] negateFloatArrayForward(float[] fa);
+    boolean passByValueFloatArray();
+    double negateDoubleForward(double d);
+    double[] negateDoubleArrayForward(double[] da);
+    boolean passByValueDoubleArray();
+}

Propchange: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesServiceClient.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/PrimitivesServiceClient.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesService.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesService.java?rev=903668&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesService.java (added)
+++ tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesService.java Wed Jan 27 15:04:56 2010
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package org.apache.tuscany.sca.itest.databindings.jaxb;
+
+import java.awt.Image;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.net.URI;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.UUID;
+
+import javax.activation.DataHandler;
+import javax.xml.datatype.Duration;
+import javax.xml.datatype.XMLGregorianCalendar;
+import javax.xml.namespace.QName;
+import javax.xml.transform.Source;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+
+
+/**
+ * The interface for StandardTypesService.
+ * 
+ * @version $Rev$ $Date$
+ */
+@Remotable
+public interface StandardTypesService {
+    BigInteger getNewBigInteger(BigInteger bi);
+    BigInteger[] getNewBigIntegerArray(BigInteger[] bia);
+    
+    BigDecimal getNewBigDecimal(BigDecimal bd);
+    BigDecimal[] getNewBigDecimalArray(BigDecimal[] bda);
+
+    Calendar getNewCalendar(Calendar c);
+    Calendar[] getNewCalendarArray(Calendar[] ca);
+    
+    Date getNewDate(Date d);
+    Date[] getNewDateArray(Date[] da);
+
+    QName getNewQName(QName qname);
+    QName[] getNewQNameArray(QName[] qnames);
+    
+    URI getNewURI(URI uri);
+    URI[] getNewURIArray(URI[] uris);
+    
+    XMLGregorianCalendar getNewXMLGregorianCalendar(XMLGregorianCalendar xgcal);
+    XMLGregorianCalendar[] getNewXMLGregorianCalendarArray(XMLGregorianCalendar[] xgcal);
+    
+    Duration getNewDuration(Duration d);
+    Duration[] getNewDurationArray(Duration[] da);
+    
+    Object getNewObject(Object obj);
+    Object[] getNewObjectArray(Object[] objs);
+    
+    Image getNewImage(Image img);
+    Image[] getNewImageArray(Image[] imgs);
+    
+    DataHandler getNewDataHandler(DataHandler dh);
+    DataHandler[] getNewDataHandlerArray(DataHandler[] dha);
+
+    Source getNewSource(Source src);
+    Source[] getNewSourceArray(Source[] srcs);
+    
+    UUID getNewUUID(UUID uuid);
+    UUID[] getNewUUIDArray(UUID[] uuids);
+}

Propchange: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sca-java-2.x/trunk/itest/databindings/jaxb-top-down/src/main/java/org/apache/tuscany/sca/itest/databindings/jaxb/StandardTypesService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date