You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2009/10/07 14:36:01 UTC

svn commit: r822695 [3/6] - in /tuscany/java/sca/itest/jms: ./ format-jmsbytes/ format-jmsbytes/src/ format-jmsbytes/src/main/ format-jmsbytes/src/main/java/ format-jmsbytes/src/main/java/org/ format-jmsbytes/src/main/java/org/apache/ format-jmsbytes/s...

Added: tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/HelloWorldService.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/HelloWorldService.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/HelloWorldService.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/HelloWorldService.java Wed Oct  7 12:35:53 2009
@@ -0,0 +1,34 @@
+/*
+ * 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.binding.jms.format.jmsmessage.helloworld;
+
+import org.oasisopen.sca.annotation.OneWay;
+import org.oasisopen.sca.annotation.Remotable;
+
+/**
+ * This is the business interface of the HelloWorld greetings service.
+ */
+@Remotable
+public interface HelloWorldService {
+
+    @OneWay
+    public void onMessage(javax.jms.Message message);
+    
+}
+

Added: tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/HelloWorldServiceImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/HelloWorldServiceImpl.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/HelloWorldServiceImpl.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/HelloWorldServiceImpl.java Wed Oct  7 12:35:53 2009
@@ -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.binding.jms.format.jmsmessage.helloworld;
+
+import javax.jms.TextMessage;
+
+public class HelloWorldServiceImpl implements HelloWorldService {
+    
+    private static String greetings = "not set";
+    
+    public void onMessage(javax.jms.Message message){
+         
+        String name = null;
+        
+        try {
+            name = ((TextMessage)message).getText();
+        } catch (Exception ex) {
+            name = "EXCEPTION";
+        }
+        greetings =  "Hello " + name;
+    }
+    
+    public static String getGreetings(){
+        return greetings;
+    }
+    
+    // javax.jms.BytesMessage
+    // javax.jms.MapMessage
+    // javax.jms.ObjectMessage
+    // javax.jms.StreamMessage
+    // javax.jms.TextMessage
+    
+
+}
+

Added: tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/HelloWorldServiceReferenceSide.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/HelloWorldServiceReferenceSide.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/HelloWorldServiceReferenceSide.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/HelloWorldServiceReferenceSide.java Wed Oct  7 12:35:53 2009
@@ -0,0 +1,37 @@
+/*
+ * 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.binding.jms.format.jmsmessage.helloworld;
+
+import javax.jws.soap.SOAPBinding;
+
+import org.oasisopen.sca.annotation.OneWay;
+import org.oasisopen.sca.annotation.Remotable;
+
+/**
+ * This is the business interface of the HelloWorld greetings service.
+ */
+@Remotable
+public interface HelloWorldServiceReferenceSide {
+
+    @OneWay
+    @SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.BARE)
+    public void getGreetings(String message);
+    
+}
+

Added: tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/README
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/README?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/README (added)
+++ tuscany/java/sca/itest/jms/format-jmsmessage/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsmessage/helloworld/README Wed Oct  7 12:35:53 2009
@@ -0,0 +1,3 @@
+This test uses an SCA composite to fake a scenario where the reference is an SCA reference but the 
+service is a non-SCA JMS endpoint. This gives us the opportunity to play about with the interface
+configuration at the reference to see how the contents of the JMS message can be controlled. 
\ No newline at end of file

Added: tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/META-INF/sca-contribution.xml
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/META-INF/sca-contribution.xml?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/META-INF/sca-contribution.xml (added)
+++ tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/META-INF/sca-contribution.xml Wed Oct  7 12:35:53 2009
@@ -0,0 +1,23 @@
+<?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.    
+-->
+<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+              xmlns:itest="http://itest">
+    <deployable composite="itest:helloworld" />
+</contribution>

Added: tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/jmsmessage/helloworld.composite
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/jmsmessage/helloworld.composite?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/jmsmessage/helloworld.composite (added)
+++ tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/jmsmessage/helloworld.composite Wed Oct  7 12:35:53 2009
@@ -0,0 +1,46 @@
+<?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.    
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+	targetNamespace="http://itest"
+	xmlns:hw="http://helloworld"
+	xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
+    name="helloworld">
+
+    <component name="HelloWorldReferenceComponent">
+        <implementation.java class="org.apache.tuscany.sca.binding.jms.format.jmsmessage.helloworld.HelloWorldReferenceImpl" />
+        <reference name="helloWorldService1" >
+            <!--interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)"/-->
+            <interface.java interface="org.apache.tuscany.sca.binding.jms.format.jmsmessage.helloworld.HelloWorldServiceReferenceSide"/>
+            <binding.jms>
+                <destination jndiName="HelloWorldService1"/>
+                <tuscany:wireFormat.jmsText/>
+            </binding.jms>
+        </reference>  
+    </component>
+    
+    <component name="HelloWorldServiceComponent1">
+        <implementation.java class="org.apache.tuscany.sca.binding.jms.format.jmsmessage.helloworld.HelloWorldServiceImpl" />
+        <service name="HelloWorldService">
+            <binding.jms>
+                <destination jndiName="HelloWorldService1"/>
+            </binding.jms>
+        </service>
+    </component> 
+</composite>

Added: tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/jmsmessage/helloworld.wsdl
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/jmsmessage/helloworld.wsdl?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/jmsmessage/helloworld.wsdl (added)
+++ tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/jmsmessage/helloworld.wsdl Wed Oct  7 12:35:53 2009
@@ -0,0 +1,129 @@
+<?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.    
+-->
+<wsdl:definitions targetNamespace="http://helloworld" xmlns:tns="http://helloworld" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	name="helloworld">
+
+    <wsdl:types>
+        <schema elementFormDefault="qualified" targetNamespace="http://helloworld" xmlns="http://www.w3.org/2001/XMLSchema">
+
+            <xsd:complexType name="PersonType">
+                <xsd:sequence>
+                    <xsd:element name="firstName" type="xsd:string"/>
+                    <xsd:element name="lastName" type="xsd:string"/>
+                </xsd:sequence>
+            </xsd:complexType>
+            
+            <element name="getPersonGreetings">
+                <complexType>
+                    <sequence>
+                        <element name="person" type="PersonType"/>
+                    </sequence>
+                </complexType>
+            </element> 
+            
+            <element name="getPersonGreetingsResponse">
+                <complexType>
+                    <sequence>
+                        <element name="getPersonGreetingsReturn" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            
+            <element name="getGreetings">
+                <complexType>
+                    <sequence>
+                        <element name="name" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <element name="getGreetingsResponse">
+                <complexType>
+                    <sequence>
+                        <element name="getGreetingsReturn" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            
+        </schema>
+    </wsdl:types>
+
+    <wsdl:message name="getGreetingsRequest">
+        <!-- wsdl:part element="tns:getGreetings" name="parameters"/-->
+        <wsdl:part type="xsd:string" name="parameters"/>
+    </wsdl:message>
+
+    <wsdl:message name="getGreetingsResponse">
+        <!-- wsdl:part element="tns:getGreetingsResponse" name="parameters"/-->
+        <wsdl:part type="xsd:string" name="parameters"/>
+    </wsdl:message>
+    
+    <!-- wsdl:message name="getPersonGreetingsRequest">
+        <wsdl:part element="tns:getPersonGreetings" name="parameters"/>
+    </wsdl:message>
+
+    <wsdl:message name="getPersonGreetingsResponse">
+        <wsdl:part element="tns:getPersonGreetingsResponse" name="parameters"/>
+    </wsdl:message-->    
+
+    <wsdl:portType name="HelloWorld">
+        <wsdl:operation name="getGreetings">
+            <wsdl:input message="tns:getGreetingsRequest" name="getGreetingsRequest"/>
+            <wsdl:output message="tns:getGreetingsResponse" name="getGreetingsResponse"/>
+        </wsdl:operation>
+        <!-- wsdl:operation name="getPersonGreetings">
+            <wsdl:input message="tns:getPersonGreetingsRequest" name="getPersonGreetingsRequest"/>
+            <wsdl:output message="tns:getPersonGreetingsResponse" name="getPersonGreetingsResponse"/>
+        </wsdl:operation-->        
+    </wsdl:portType>
+
+    <!-- wsdl:binding name="HelloWorldSoapBinding" type="tns:HelloWorld">
+        <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="getGreetings">
+            <wsdlsoap:operation soapAction=""/>
+            <wsdl:input name="getGreetingsRequest">
+                <wsdlsoap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output name="getGreetingsResponse">
+                <wsdlsoap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding-->
+
+    <!-- wsdl:binding name="HelloWorldSoapJmsBinding" type="tns:HelloWorld">
+        <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/jms"/>
+        <wsdl:operation name="getGreetings">
+            <wsdlsoap:operation soapAction=""/>
+            <wsdl:input name="getGreetingsRequest">
+                <wsdlsoap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output name="getGreetingsResponse">
+                <wsdlsoap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding-->
+
+    <!-- wsdl:service name="HelloWorldService">
+        <wsdl:port binding="tns:HelloWorldSoapBinding" name="HelloWorldSoapPort">
+            <wsdlsoap:address location="http://localhost:8085/HelloWorldService"/>
+        </wsdl:port>
+    </wsdl:service-->
+
+</wsdl:definitions>

Added: tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/jndi.properties
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/jndi.properties?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/jndi.properties (added)
+++ tuscany/java/sca/itest/jms/format-jmsmessage/src/main/resources/jndi.properties Wed Oct  7 12:35:53 2009
@@ -0,0 +1,39 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+# START SNIPPET: jndi
+
+java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory
+
+# use the following property to configure the default connector
+java.naming.provider.url = vm://localhost?broker.persistent=false
+
+# use the following property to specify the JNDI name the connection factory
+# should appear as. 
+#connectionFactoryNames = connectionFactory, queueConnectionFactory, topicConnectionFactry
+connectionFactoryNames = ConnectionFactory
+
+# register some queues in JNDI using the form
+# queue.[jndiName] = [physicalName]
+queue.RequestQueue = RequestQueue
+queue.ResponseQueue = ResponseQueue
+
+# register some topics in JNDI using the form
+# topic.[jndiName] = [physicalName]
+#topic.MyTopic = example.MyTopic
+
+# END SNIPPET: jndi

Added: tuscany/java/sca/itest/jms/format-jmsmessage/src/test/java/org/apache/tuscany/sca/binding/jms/format/FormatJMSMessageTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsmessage/src/test/java/org/apache/tuscany/sca/binding/jms/format/FormatJMSMessageTestCase.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsmessage/src/test/java/org/apache/tuscany/sca/binding/jms/format/FormatJMSMessageTestCase.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsmessage/src/test/java/org/apache/tuscany/sca/binding/jms/format/FormatJMSMessageTestCase.java Wed Oct  7 12:35:53 2009
@@ -0,0 +1,58 @@
+/*
+ * 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.binding.jms.format;
+
+import static org.junit.Assert.assertEquals;
+
+import org.apache.tuscany.sca.binding.jms.format.jmsmessage.helloworld.HelloWorldReference;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+
+/**
+ * This shows how to test the JMS binding using a simple HelloWorld application.
+ */
+public class FormatJMSMessageTestCase {
+
+    private static Node node;
+
+    @Before
+    public void init() {
+        node = NodeFactory.newInstance().createNode().start();
+    }
+
+    @Test
+    public void testHelloWorldCreate() throws Exception {
+        HelloWorldReference helloWorldService = node.getService(HelloWorldReference.class, "HelloWorldReferenceComponent");
+        
+        System.out.println(helloWorldService.getGreetings("Fred Bloggs"));
+        assertEquals("Hello Fred Bloggs", helloWorldService.getGreetings("Fred Bloggs"));
+        
+    }
+
+    @After
+    public void end() {
+        if (node != null) {
+            node.stop();
+        }
+    }
+}

Added: tuscany/java/sca/itest/jms/format-jmsobject/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/pom.xml?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/pom.xml (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/pom.xml Wed Oct  7 12:35:53 2009
@@ -0,0 +1,83 @@
+<?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.    
+-->
+<project>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.tuscany.sca</groupId>
+        <artifactId>tuscany-itest</artifactId>
+        <version>2.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>itest-jms-format-jmsobject</artifactId>
+    <name>Apache Tuscany SCA iTest JMS Message Format jmsobject</name>
+
+    <dependencies>
+        
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-sca-api</artifactId>
+            <version>2.0-SNAPSHOT</version>
+        </dependency>        
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node-impl</artifactId>
+            <version>2.0-SNAPSHOT</version>
+        </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-binding-jms-runtime</artifactId>
+            <version>2.0-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>activemq-core</artifactId>
+            <version>5.2.0</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+           <groupId>org.apache.geronimo.specs</groupId>
+           <artifactId>geronimo-jms_1.1_spec</artifactId>
+           <version>1.1</version>
+           <scope>provided</scope>
+           <exclusions>
+               <exclusion>
+                   <groupId>org.apache.geronimo.specs</groupId>
+                   <artifactId>geronimo-jms_1.1_spec</artifactId>
+               </exclusion>
+           </exclusions>
+        </dependency>         
+                
+    </dependencies>
+
+    <build>
+       <finalName>${artifactId}</finalName>
+    </build>
+</project>

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/CheckedException.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/CheckedException.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/CheckedException.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/CheckedException.java Wed Oct  7 12:35:53 2009
@@ -0,0 +1,28 @@
+/*
+ * 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.binding.jms.format.jmsbytes.helloworld;
+
+public class CheckedException extends Exception {
+    private static final long serialVersionUID = 1L;
+
+    public CheckedException(String s) {
+        super(s);
+    }
+}

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldReference.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldReference.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldReference.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldReference.java Wed Oct  7 12:35:53 2009
@@ -0,0 +1,32 @@
+/*
+ * 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.binding.jms.format.jmsbytes.helloworld;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+/**
+ * This is the business interface of the HelloWorld greetings service.
+ */
+@Remotable
+public interface HelloWorldReference {
+
+    public String getGreetings(String message);
+    
+}
+

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldReferenceImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldReferenceImpl.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldReferenceImpl.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldReferenceImpl.java Wed Oct  7 12:35:53 2009
@@ -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.binding.jms.format.jmsbytes.helloworld;
+
+import org.oasisopen.sca.annotation.Reference;
+
+
+public class HelloWorldReferenceImpl implements HelloWorldReference {
+    
+    @Reference
+    protected HelloWorldServiceReference helloWorldService1;
+    
+    public String getGreetings(String name){     
+        byte[] bytesValue = helloWorldService1.getByteArrayGreetings(name.getBytes());
+        String stringValue = new String(bytesValue);
+        
+        try {
+            helloWorldService1.throwChecked(name.getBytes());
+        } catch (Exception e) {
+            // Test to see what happens if we talk to a service
+            // that declares a checked exception through an
+            // interface that doesn't
+            stringValue += " " + e.getCause().getMessage();
+        }
+        
+        try {
+            helloWorldService1.throwUnChecked(name.getBytes());
+        } catch (Exception e) {
+            stringValue += " " + e.getMessage();
+        }
+        return stringValue; 
+    }    
+}
+

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldService.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldService.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldService.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldService.java Wed Oct  7 12:35:53 2009
@@ -0,0 +1,35 @@
+/*
+ * 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.binding.jms.format.jmsbytes.helloworld;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+/**
+ * This is the business interface of the HelloWorld greetings service.
+ */
+@Remotable
+public interface HelloWorldService {
+
+    public byte[] getByteArrayGreetings(byte[] msg);
+    
+    public void throwChecked(byte[] msg) throws CheckedException;
+    public void throwUnChecked(byte[] msg);
+    
+}
+

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldServiceImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldServiceImpl.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldServiceImpl.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldServiceImpl.java Wed Oct  7 12:35:53 2009
@@ -0,0 +1,40 @@
+/*
+ * 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.binding.jms.format.jmsbytes.helloworld;
+
+
+public class HelloWorldServiceImpl implements HelloWorldService {
+    
+    public byte[] getByteArrayGreetings(byte[] msg){
+         
+        String name = new String(msg);
+        name =  "Hello " + name;
+        
+        return name.getBytes();
+    }
+
+    public void throwChecked(byte[] msg) throws CheckedException {
+        throw new CheckedException("foo");
+    }
+
+    public void throwUnChecked(byte[] msg) {
+        throw new RuntimeException("bla");
+    }
+}
+

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldServiceReference.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldServiceReference.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldServiceReference.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsbytes/helloworld/HelloWorldServiceReference.java Wed Oct  7 12:35:53 2009
@@ -0,0 +1,35 @@
+/*
+ * 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.binding.jms.format.jmsbytes.helloworld;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+/**
+ * This is the business interface of the HelloWorld greetings service.
+ */
+@Remotable
+public interface HelloWorldServiceReference {
+
+    public byte[] getByteArrayGreetings(byte[] msg);
+    
+    public void throwChecked(byte[] msg) ;
+    public void throwUnChecked(byte[] msg);
+    
+}
+

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/CheckedException.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/CheckedException.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/CheckedException.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/CheckedException.java Wed Oct  7 12:35:53 2009
@@ -0,0 +1,28 @@
+/*
+ * 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.binding.jms.format.jmsobject.helloworld;
+
+public class CheckedException extends Exception {
+    private static final long serialVersionUID = 1L;
+
+    public CheckedException(String s) {
+        super(s);
+    }
+}

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldReference.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldReference.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldReference.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldReference.java Wed Oct  7 12:35:53 2009
@@ -0,0 +1,32 @@
+/*
+ * 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.binding.jms.format.jmsobject.helloworld;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+/**
+ * This is the business interface of the HelloWorld greetings service.
+ */
+@Remotable
+public interface HelloWorldReference {
+
+    public String getGreetingsWrapSingle(String firstName, String lastName);
+    public String getGreetingsDontWrapSingle(String firstName, String lastName);
+}
+

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldReferenceImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldReferenceImpl.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldReferenceImpl.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldReferenceImpl.java Wed Oct  7 12:35:53 2009
@@ -0,0 +1,112 @@
+/*
+ * 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.binding.jms.format.jmsobject.helloworld;
+
+import org.oasisopen.sca.annotation.Reference;
+
+
+public class HelloWorldReferenceImpl implements HelloWorldReference {
+    
+    @Reference
+    protected HelloWorldService helloWorldServiceWrapSingle;
+    
+    @Reference
+    protected HelloWorldService helloWorldServiceDontWrapSingle;
+    
+    public String getGreetingsWrapSingle(String firstName, String lastName){ 
+    	Person person = new Person();
+    	person.setFirstName(firstName);
+    	person.setLastName(lastName);
+    	
+    	String returnString = "";
+    	
+        Person returnPerson =  helloWorldServiceWrapSingle.getPersonGreetings(person);
+        returnString = returnPerson.getFirstName() + " " + returnPerson.getLastName();
+        
+        Person returnNullPerson = helloWorldServiceWrapSingle.getNullReturnGreetings(person); 
+        
+        if (returnNullPerson == null){
+            returnString += " Hello2 null";
+        }
+        
+        String returnGreeting = helloWorldServiceWrapSingle.getArrayGreeting(new String[]{firstName, lastName});
+        returnString += " " + returnGreeting;
+        
+        returnGreeting = helloWorldServiceWrapSingle.getMultiArrayGreetings(new String[]{firstName, firstName},new String[]{lastName, lastName});
+        returnString += " " + returnGreeting;
+        
+        returnGreeting = helloWorldServiceWrapSingle.getMultiGreetings(firstName, lastName);
+        returnString += " " + returnGreeting;        
+
+        returnGreeting = helloWorldServiceWrapSingle.getObjectGreeting(person);
+        returnString += " " + returnGreeting; 
+        
+        returnGreeting = helloWorldServiceWrapSingle.getObjectArrayGreeting(new Object[]{person});
+        returnString += " " + returnGreeting;      
+        
+        return returnString;
+    }  
+    
+    public String getGreetingsDontWrapSingle(String firstName, String lastName){ 
+        Person person = new Person();
+        person.setFirstName(firstName);
+        person.setLastName(lastName);
+        
+        String returnString = "";
+        
+        Person returnPerson =  helloWorldServiceDontWrapSingle.getPersonGreetings(person);
+        returnString = returnPerson.getFirstName() + " " + returnPerson.getLastName();
+        
+        Person returnNullPerson = helloWorldServiceDontWrapSingle.getNullReturnGreetings(person); 
+        
+        if (returnNullPerson == null){
+            returnString += " Hello2 null";
+        }
+        
+        String returnGreeting = helloWorldServiceDontWrapSingle.getArrayGreeting(new String[]{firstName, lastName});
+        returnString += " " + returnGreeting;
+        
+        returnGreeting = helloWorldServiceDontWrapSingle.getMultiArrayGreetings(new String[]{firstName, firstName},new String[]{lastName, lastName});
+        returnString += " " + returnGreeting;
+        
+        returnGreeting = helloWorldServiceDontWrapSingle.getMultiGreetings(firstName, lastName);
+        returnString += " " + returnGreeting;        
+
+        returnGreeting = helloWorldServiceDontWrapSingle.getObjectGreeting(person);
+        returnString += " " + returnGreeting; 
+        
+        returnGreeting = helloWorldServiceDontWrapSingle.getObjectArrayGreeting(new Object[]{person});
+        returnString += " " + returnGreeting;
+        
+        try {
+            helloWorldServiceDontWrapSingle.throwChecked(person);
+        } catch (CheckedException e) {
+            returnString += " " + e.getMessage();
+        }
+        
+        try {
+            helloWorldServiceDontWrapSingle.throwUnChecked(person);
+        } catch (Exception e) {
+            returnString += " " + e.getCause().getMessage();
+        }           
+        
+        return returnString;
+    }     
+}
+

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldService.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldService.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldService.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldService.java Wed Oct  7 12:35:53 2009
@@ -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.binding.jms.format.jmsobject.helloworld;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+/**
+ * This is the business interface of the HelloWorld greetings service.
+ */
+@Remotable
+public interface HelloWorldService {
+
+    public Person getPersonGreetings(Person person);
+    public Person getNullReturnGreetings(Person person);
+    public String getArrayGreeting(String[] names);
+    public String getMultiArrayGreetings(String[] firstName, String[] lastName);
+    public String getMultiGreetings(String firstName, String lastName);
+    public String getObjectGreeting(Object person);
+    public String getObjectArrayGreeting(Object[] pearson);
+    
+    public void throwChecked(Person person) throws CheckedException;
+    public void throwUnChecked(Person person);
+  
+}
+

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldServiceImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldServiceImpl.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldServiceImpl.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/HelloWorldServiceImpl.java Wed Oct  7 12:35:53 2009
@@ -0,0 +1,63 @@
+/*
+ * 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.binding.jms.format.jmsobject.helloworld;
+
+public class HelloWorldServiceImpl implements HelloWorldService {
+    
+    public Person getPersonGreetings(Person person){
+         
+    	person.setFirstName("Hello1 " + person.getFirstName());
+    	person.setLastName("Hello1 " + person.getLastName());
+    	
+        return person;
+    }
+    
+    public Person getNullReturnGreetings(Person person){      
+        return null;
+    }    
+    
+    public String getArrayGreeting(String[] names) {
+        return "Hello3 " + names[0];
+    }
+    
+    public String getMultiArrayGreetings(String[] firstName, String[] lastName) {
+        return "Hello4 " + firstName[0] + " " + lastName[0];
+    }
+    
+    public String getMultiGreetings(String firstName, String lastName) {
+        return "Hello5 " + firstName + " " + lastName;
+    }
+    
+    public String getObjectGreeting(Object person) {
+        return "Hello6 " + ((Person)person).getFirstName() + " " + ((Person)person).getLastName();
+    }
+    
+    public String getObjectArrayGreeting(Object[] person) {
+        return "Hello7 " + ((Person)person[0]).getFirstName() + " " + ((Person)person[0]).getLastName();
+    }
+    
+    public void throwChecked(Person person) throws CheckedException {
+        throw new CheckedException("foo");
+    }
+
+    public void throwUnChecked(Person person) {
+        throw new RuntimeException("bla");
+    }    
+}
+

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/Person.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/Person.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/Person.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/java/org/apache/tuscany/sca/binding/jms/format/jmsobject/helloworld/Person.java Wed Oct  7 12:35:53 2009
@@ -0,0 +1,47 @@
+/*
+ * 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.binding.jms.format.jmsobject.helloworld;
+
+import java.io.Serializable;
+
+public class Person implements Serializable {
+
+    private static final long serialVersionUID = -6842761353978551779L;
+    
+    String firstName;
+    String lastName;
+
+    public String getFirstName() {
+        return firstName;
+    }
+
+    public void setFirstName(String firstName) {
+        this.firstName = firstName;
+    }
+
+    public String getLastName() {
+        return lastName;
+    }
+
+    public void setLastName(String lastName) {
+        this.lastName = lastName;
+    }
+
+}
+

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/META-INF/sca-contribution.xml
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/META-INF/sca-contribution.xml?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/META-INF/sca-contribution.xml (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/META-INF/sca-contribution.xml Wed Oct  7 12:35:53 2009
@@ -0,0 +1,23 @@
+<?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.    
+-->
+<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+              xmlns:itest="http://itest">
+    <deployable composite="itest:helloworld" />
+</contribution>

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/jmsobject/helloworld.composite
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/jmsobject/helloworld.composite?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/jmsobject/helloworld.composite (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/jmsobject/helloworld.composite Wed Oct  7 12:35:53 2009
@@ -0,0 +1,62 @@
+<?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.    
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+	targetNamespace="http://itest"
+	xmlns:hw="http://helloworld"
+	xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" 
+    name="jmsobject">
+
+    <component name="HelloWorldReferenceComponent">
+        <implementation.java class="org.apache.tuscany.sca.binding.jms.format.jmsobject.helloworld.HelloWorldReferenceImpl" />
+        <reference name="helloWorldServiceWrapSingle" >
+            <binding.jms>
+                <destination jndiName="HelloWorldService1"/>
+                 <tuscany:wireFormat.jmsObject wrapSingle="true"/>
+            </binding.jms>
+        </reference> 
+        <reference name="helloWorldServiceDontWrapSingle" >
+            <binding.jms>
+                <destination jndiName="HelloWorldService2"/>
+                 <tuscany:wireFormat.jmsObject wrapSingle="false" />
+            </binding.jms>
+        </reference>          
+    </component>
+    
+    <component name="HelloWorldServiceComponent1">
+        <implementation.java class="org.apache.tuscany.sca.binding.jms.format.jmsobject.helloworld.HelloWorldServiceImpl" />
+        <service name="HelloWorldService">
+            <interface.wsdl interface="http://helloworld.jmsobject.format.jms.binding.sca.tuscany.apache.org/#wsdl.interface(HelloWorldService)"/>
+            <binding.jms>
+                <destination jndiName="HelloWorldService1"/>
+                 <tuscany:wireFormat.jmsObject wrapSingle="true"/>
+            </binding.jms>
+        </service>
+    </component> 
+    
+    <component name="HelloWorldServiceComponent2">
+        <implementation.java class="org.apache.tuscany.sca.binding.jms.format.jmsobject.helloworld.HelloWorldServiceImpl" />
+        <service name="HelloWorldService">
+            <binding.jms>
+                <destination jndiName="HelloWorldService2"/>
+                <tuscany:wireFormat.jmsObject /> <!-- test that wrapSingle default works -->
+            </binding.jms>
+        </service>
+    </component>     
+</composite>

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/jmsobject/helloworld.wsdl
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/jmsobject/helloworld.wsdl?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/jmsobject/helloworld.wsdl (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/jmsobject/helloworld.wsdl Wed Oct  7 12:35:53 2009
@@ -0,0 +1,355 @@
+<?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.
+    -->
+<wsdl:definitions name="HelloWorldServiceService"
+    targetNamespace="http://helloworld.jmsobject.format.jms.binding.sca.tuscany.apache.org/"
+    xmlns:tns="http://helloworld.jmsobject.format.jms.binding.sca.tuscany.apache.org/"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
+    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/" 
+    xmlns:SOAP11="http://schemas.xmlsoap.org/wsdl/soap/">
+    <wsdl:types>
+        <xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+            <xs:complexType name="person">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="firstName"
+                        type="xs:string" />
+                    <xs:element minOccurs="0" name="lastName"
+                        type="xs:string" />
+                </xs:sequence>
+            </xs:complexType>
+        </xs:schema>
+        <xs:schema targetNamespace="http://jaxb.dev.java.net/array"
+            version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+            <xs:complexType final="#all" name="stringArray">
+                <xs:sequence>
+                    <xs:element maxOccurs="unbounded"
+                        minOccurs="0" name="item" nillable="true" type="xs:string" />
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType final="#all" name="anyTypeArray">
+                <xs:sequence>
+                    <xs:element maxOccurs="unbounded"
+                        minOccurs="0" name="item" nillable="true" type="xs:anyType" />
+                </xs:sequence>
+            </xs:complexType>
+        </xs:schema>
+        <xs:schema attributeFormDefault="qualified"
+            elementFormDefault="unqualified"
+            targetNamespace="http://helloworld.jmsobject.format.jms.binding.sca.tuscany.apache.org/"
+            xmlns:xs="http://www.w3.org/2001/XMLSchema">
+            <xs:import />
+            <xs:import />
+            <xs:import />
+            <xs:import />
+            <xs:element name="getObjectGreetingResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return"
+                            nillable="true" type="xs:string" />
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getNullReturnGreetingsResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return"
+                            nillable="true" type="person" />
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getPersonGreetings">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="arg0"
+                            nillable="true" type="person" />
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getPersonGreetingsResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return"
+                            nillable="true" type="person" />
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getMultiGreetingsResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return"
+                            nillable="true" type="xs:string" />
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getObjectArrayGreeting">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element maxOccurs="unbounded"
+                            minOccurs="0" name="arg0" nillable="true"
+                            type="xs:anyType" />
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getArrayGreeting">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element maxOccurs="unbounded"
+                            minOccurs="0" name="arg0" nillable="true"
+                            type="xs:string" />
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getObjectArrayGreetingResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return"
+                            nillable="true" type="xs:string" />
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getMultiArrayGreetingsResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return"
+                            nillable="true" type="xs:string" />
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getObjectGreeting">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="arg0"
+                            nillable="true" type="xs:anyType" />
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getNullReturnGreetings">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="arg0"
+                            nillable="true" type="person" />
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getMultiArrayGreetings">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element maxOccurs="unbounded"
+                            minOccurs="0" name="arg0" nillable="true"
+                            type="xs:string" />
+                        <xs:element maxOccurs="unbounded"
+                            minOccurs="0" name="arg1" nillable="true"
+                            type="xs:string" />
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getMultiGreetings">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="arg0"
+                            nillable="true" type="xs:string" />
+                        <xs:element minOccurs="0" name="arg1"
+                            nillable="true" type="xs:string" />
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getArrayGreetingResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return"
+                            nillable="true" type="xs:string" />
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+        </xs:schema>
+    </wsdl:types>
+    <wsdl:message name="getObjectGreetingResponse">
+        <wsdl:part name="getObjectGreetingResponse" element="tns:getObjectGreetingResponse">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getNullReturnGreetingsResponse">
+        <wsdl:part name="getNullReturnGreetingsResponse"
+            element="tns:getNullReturnGreetingsResponse">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getPersonGreetings">
+        <wsdl:part name="getPersonGreetings" element="tns:getPersonGreetings">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getPersonGreetingsResponse">
+        <wsdl:part name="getPersonGreetingsResponse" element="tns:getPersonGreetingsResponse">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getMultiGreetingsResponse">
+        <wsdl:part name="getMultiGreetingsResponse" element="tns:getMultiGreetingsResponse">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getObjectArrayGreeting">
+        <wsdl:part name="getObjectArrayGreeting" element="tns:getObjectArrayGreeting">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getArrayGreeting">
+        <wsdl:part name="getArrayGreeting" element="tns:getArrayGreeting">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getObjectArrayGreetingResponse">
+        <wsdl:part name="getObjectArrayGreetingResponse"
+            element="tns:getObjectArrayGreetingResponse">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getMultiArrayGreetingsResponse">
+        <wsdl:part name="getMultiArrayGreetingsResponse"
+            element="tns:getMultiArrayGreetingsResponse">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getObjectGreeting">
+        <wsdl:part name="getObjectGreeting" element="tns:getObjectGreeting">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getNullReturnGreetings">
+        <wsdl:part name="getNullReturnGreetings" element="tns:getNullReturnGreetings">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getMultiArrayGreetings">
+        <wsdl:part name="getMultiArrayGreetings" element="tns:getMultiArrayGreetings">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getMultiGreetings">
+        <wsdl:part name="getMultiGreetings" element="tns:getMultiGreetings">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getArrayGreetingResponse">
+        <wsdl:part name="getArrayGreetingResponse" element="tns:getArrayGreetingResponse">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:portType name="HelloWorldService">
+        <wsdl:operation name="getPersonGreetings">
+            <wsdl:input message="tns:getPersonGreetings">
+            </wsdl:input>
+            <wsdl:output message="tns:getPersonGreetingsResponse">
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getNullReturnGreetings">
+            <wsdl:input message="tns:getNullReturnGreetings">
+            </wsdl:input>
+            <wsdl:output message="tns:getNullReturnGreetingsResponse">
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getArrayGreeting">
+            <wsdl:input message="tns:getArrayGreeting">
+            </wsdl:input>
+            <wsdl:output message="tns:getArrayGreetingResponse">
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getMultiArrayGreetings">
+            <wsdl:input message="tns:getMultiArrayGreetings">
+            </wsdl:input>
+            <wsdl:output message="tns:getMultiArrayGreetingsResponse">
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getMultiGreetings">
+            <wsdl:input message="tns:getMultiGreetings">
+            </wsdl:input>
+            <wsdl:output message="tns:getMultiGreetingsResponse">
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getObjectGreeting">
+            <wsdl:input message="tns:getObjectGreeting">
+            </wsdl:input>
+            <wsdl:output message="tns:getObjectGreetingResponse">
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getObjectArrayGreeting">
+            <wsdl:input message="tns:getObjectArrayGreeting">
+            </wsdl:input>
+            <wsdl:output message="tns:getObjectArrayGreetingResponse">
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="HelloWorldServiceBinding" type="tns:HelloWorldService">
+        <SOAP:binding style="document"
+            transport="http://schemas.xmlsoap.org/soap/http" />
+        <wsdl:operation name="getPersonGreetings">
+            <SOAP:operation />
+            <wsdl:input>
+                <SOAP:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <SOAP:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getNullReturnGreetings">
+            <SOAP:operation />
+            <wsdl:input>
+                <SOAP:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <SOAP:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getArrayGreeting">
+            <SOAP:operation />
+            <wsdl:input>
+                <SOAP:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <SOAP:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getMultiArrayGreetings">
+            <SOAP:operation />
+            <wsdl:input>
+                <SOAP:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <SOAP:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getMultiGreetings">
+            <SOAP:operation />
+            <wsdl:input>
+                <SOAP:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <SOAP:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getObjectGreeting">
+            <SOAP:operation />
+            <wsdl:input>
+                <SOAP:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <SOAP:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getObjectArrayGreeting">
+            <SOAP:operation />
+            <wsdl:input>
+                <SOAP:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <SOAP:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="HelloWorldServiceService">
+        <wsdl:port name="HelloWorldServicePort" binding="tns:HelloWorldServiceBinding">
+            <SOAP:address location="/HelloWorldServiceComponent1" />
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/jndi.properties
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/jndi.properties?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/jndi.properties (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/main/resources/jndi.properties Wed Oct  7 12:35:53 2009
@@ -0,0 +1,39 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+# START SNIPPET: jndi
+
+java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory
+
+# use the following property to configure the default connector
+java.naming.provider.url = vm://localhost?broker.persistent=false
+
+# use the following property to specify the JNDI name the connection factory
+# should appear as. 
+#connectionFactoryNames = connectionFactory, queueConnectionFactory, topicConnectionFactry
+connectionFactoryNames = ConnectionFactory
+
+# register some queues in JNDI using the form
+# queue.[jndiName] = [physicalName]
+queue.RequestQueue = RequestQueue
+queue.ResponseQueue = ResponseQueue
+
+# register some topics in JNDI using the form
+# topic.[jndiName] = [physicalName]
+#topic.MyTopic = example.MyTopic
+
+# END SNIPPET: jndi

Added: tuscany/java/sca/itest/jms/format-jmsobject/src/test/java/org/apache/tuscany/sca/binding/jms/format/FormatJMSObjectTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmsobject/src/test/java/org/apache/tuscany/sca/binding/jms/format/FormatJMSObjectTestCase.java?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmsobject/src/test/java/org/apache/tuscany/sca/binding/jms/format/FormatJMSObjectTestCase.java (added)
+++ tuscany/java/sca/itest/jms/format-jmsobject/src/test/java/org/apache/tuscany/sca/binding/jms/format/FormatJMSObjectTestCase.java Wed Oct  7 12:35:53 2009
@@ -0,0 +1,73 @@
+/*
+ * 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.binding.jms.format;
+
+import static org.junit.Assert.assertEquals;
+
+import org.apache.tuscany.sca.binding.jms.format.jmsobject.helloworld.HelloWorldReference;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+
+/**
+ * This shows how to test the JMS binding using a simple HelloWorld application.
+ */
+public class FormatJMSObjectTestCase {
+
+    private static Node node;
+
+    @Before
+    public void init() {
+        node = NodeFactory.newInstance().createNode().start();
+    }
+
+    @Test
+    public void testHelloWorldCreate() throws Exception {
+        HelloWorldReference helloWorldService = node.getService(HelloWorldReference.class, "HelloWorldReferenceComponent");
+
+        assertEquals("Hello1 Fred Hello1 Bloggs Hello2 null Hello3 Fred Hello4 Fred Bloggs Hello5 Fred Bloggs Hello6 Fred Bloggs Hello7 Fred Bloggs", 
+                     helloWorldService.getGreetingsWrapSingle("Fred", "Bloggs"));
+        
+        assertEquals("Hello1 Fred Hello1 Bloggs Hello2 null Hello3 Fred Hello4 Fred Bloggs Hello5 Fred Bloggs Hello6 Fred Bloggs Hello7 Fred Bloggs foo java.lang.RuntimeException: bla", 
+                helloWorldService.getGreetingsDontWrapSingle("Fred", "Bloggs"));        
+
+    }
+    
+    @Ignore
+    @Test
+    public void testWaitForInput() {
+        System.out.println("Press a key to end");
+        try {
+            System.in.read();
+        } catch (Exception ex) {
+        }
+        System.out.println("Shutting down");
+    }     
+
+    @After
+    public void end() {
+        if (node != null) {
+            node.stop();
+        }
+    }
+}

Added: tuscany/java/sca/itest/jms/format-jmstext/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/java/sca/itest/jms/format-jmstext/pom.xml?rev=822695&view=auto
==============================================================================
--- tuscany/java/sca/itest/jms/format-jmstext/pom.xml (added)
+++ tuscany/java/sca/itest/jms/format-jmstext/pom.xml Wed Oct  7 12:35:53 2009
@@ -0,0 +1,83 @@
+<?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.    
+-->
+<project>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.tuscany.sca</groupId>
+        <artifactId>tuscany-itest</artifactId>
+        <version>2.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>itest-jms-format-jmstext</artifactId>
+    <name>Apache Tuscany SCA iTest JMS Message Format jmstext</name>
+
+    <dependencies>
+        
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-sca-api</artifactId>
+            <version>2.0-SNAPSHOT</version>
+        </dependency>        
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node-impl</artifactId>
+            <version>2.0-SNAPSHOT</version>
+        </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-binding-jms-runtime</artifactId>
+            <version>2.0-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>activemq-core</artifactId>
+            <version>5.2.0</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+           <groupId>org.apache.geronimo.specs</groupId>
+           <artifactId>geronimo-jms_1.1_spec</artifactId>
+           <version>1.1</version>
+           <scope>provided</scope>
+           <exclusions>
+               <exclusion>
+                   <groupId>org.apache.geronimo.specs</groupId>
+                   <artifactId>geronimo-jms_1.1_spec</artifactId>
+               </exclusion>
+           </exclusions>
+        </dependency>         
+                
+    </dependencies>
+
+    <build>
+       <finalName>${artifactId}</finalName>
+    </build>
+</project>