summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/trunk/itest/wsdlgen/src
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-13 01:42:27 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-13 01:42:27 +0000
commit3c7c4a749baafcf375f4785a7668d3a25c9063e3 (patch)
treea66b8b031c5dc6c7744f44b44b6bcd371bd0b8df /sca-java-1.x/trunk/itest/wsdlgen/src
parenteb03ff672236cddf65533f39b83ddd5e2984a2bb (diff)
Moving 1.x trunk
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835700 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-1.x/trunk/itest/wsdlgen/src')
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/main/java/anotherpackage/BBean.java42
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/main/java/anotherpackage/CBean.java45
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/ABean.java55
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/HelloWorldClientImpl.java68
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/HelloWorldImpl.java69
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/HelloWorldService.java45
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/package-info.java20
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/main/java/yetanotherpackage/DBean.java53
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/META-INF/sca-contribution.xml23
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/definitions.xml66
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/helloworld.composite71
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/helloworld1.composite43
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl343
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java122
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/test/java/helloworld/JmsTransportTestCase.java121
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService.wsdl137
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService_schema1.xsd14
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService_schema2.xsd124
-rw-r--r--sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/README6
19 files changed, 1467 insertions, 0 deletions
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/anotherpackage/BBean.java b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/anotherpackage/BBean.java
new file mode 100644
index 0000000000..f9578a5f92
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/anotherpackage/BBean.java
@@ -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 anotherpackage;
+
+public class BBean {
+
+ protected String field1;
+ protected String field2;
+
+ public String getField1() {
+ return field1;
+ }
+
+ public void setField1(String field1) {
+ this.field1 = field1;
+ }
+
+ public String getField2() {
+ return field2;
+ }
+
+ public void setField2(String field2) {
+ this.field2 = field2;
+ }
+}
+
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/anotherpackage/CBean.java b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/anotherpackage/CBean.java
new file mode 100644
index 0000000000..b1b3801210
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/anotherpackage/CBean.java
@@ -0,0 +1,45 @@
+/*
+ * 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 anotherpackage;
+
+import javax.xml.bind.annotation.XmlType;
+
+@XmlType(name="")
+public class CBean {
+
+ protected String field1;
+ protected String field2;
+
+ public String getField1() {
+ return field1;
+ }
+
+ public void setField1(String field1) {
+ this.field1 = field1;
+ }
+
+ public String getField2() {
+ return field2;
+ }
+
+ public void setField2(String field2) {
+ this.field2 = field2;
+ }
+}
+
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/ABean.java b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/ABean.java
new file mode 100644
index 0000000000..bcfa0f8be7
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/ABean.java
@@ -0,0 +1,55 @@
+/*
+ * 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 helloworld;
+
+import anotherpackage.BBean;
+
+
+
+public class ABean {
+
+ protected String field1;
+ protected String field2;
+ protected BBean field3;
+
+ public String getField1() {
+ return field1;
+ }
+
+ public void setField1(String field1) {
+ this.field1 = field1;
+ }
+
+ public String getField2() {
+ return field2;
+ }
+
+ public void setField2(String field2) {
+ this.field2 = field2;
+ }
+
+ public BBean getField3() {
+ return field3;
+ }
+
+ public void setField3(BBean field3) {
+ this.field3 = field3;
+ }
+}
+
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/HelloWorldClientImpl.java b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/HelloWorldClientImpl.java
new file mode 100644
index 0000000000..04fbe6934a
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/HelloWorldClientImpl.java
@@ -0,0 +1,68 @@
+/*
+ * 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 helloworld;
+
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+import yetanotherpackage.DBean;
+
+import anotherpackage.BBean;
+import anotherpackage.CBean;
+
+/**
+ * This class implements the HelloWorld service.
+ */
+@Service(HelloWorldService.class)
+public class HelloWorldClientImpl implements HelloWorldService {
+
+ @Reference
+ protected HelloWorldService hwService;
+
+ public String getGreetings(String name) {
+ return "Hello " + hwService.getGreetings(name);
+ }
+
+ public String getGreetingsBean(ABean bean){
+ return "Hello " + hwService.getGreetingsBean(bean);
+ }
+
+ public String getGreetingsBeanArray(ABean[] bean){
+ return "Hello " + hwService.getGreetingsBeanArray(bean);
+ }
+
+ /*
+ public String getGreetingsBeanVector(Vector<ABean> bean){
+ return "Hello " + bean.get(0).getField1() + " " + bean.get(0).getField2();
+ }
+ */
+
+ public String getGreetingsBBean(BBean bean){
+ return "Hello " + hwService.getGreetingsBBean(bean);
+ }
+
+ public String getGreetingsCBean(CBean bean){
+ return "Hello " + hwService.getGreetingsCBean(bean);
+ }
+
+ public String getGreetingsDBean(DBean bean){
+ return "Hello " + hwService.getGreetingsDBean(bean);
+ }
+}
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/HelloWorldImpl.java b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/HelloWorldImpl.java
new file mode 100644
index 0000000000..a92a819aaf
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/HelloWorldImpl.java
@@ -0,0 +1,69 @@
+/*
+ * 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 helloworld;
+
+import javax.jws.WebService;
+
+import org.osoa.sca.annotations.Service;
+
+import yetanotherpackage.DBean;
+
+import anotherpackage.BBean;
+import anotherpackage.CBean;
+
+/**
+ * This class implements the HelloWorld service.
+ */
+@WebService
+@Service(HelloWorldService.class)
+public class HelloWorldImpl implements HelloWorldService {
+
+ public String getGreetings(String name) {
+ return "Hello " + name;
+ }
+
+ public String getGreetingsBean(ABean bean) {
+ return "Hello " + bean.getField1() + " " + bean.getField2()
+ + bean.getField3().getField1() + " "
+ + bean.getField3().getField2();
+ }
+
+ public String getGreetingsBeanArray(ABean[] bean) {
+ return "Hello " + bean[0].getField1() + " " + bean[0].getField2();
+ }
+
+ /*
+ * public String getGreetingsBeanVector(Vector<ABean> bean){ return "Hello "
+ * + bean.get(0).getField1() + " " + bean.get(0).getField2(); }
+ */
+
+ public String getGreetingsBBean(BBean bean) {
+ return "Hello " + bean.getField1() + " " + bean.getField2();
+ }
+
+ public String getGreetingsCBean(CBean bean) {
+ return "Hello " + bean.getField1() + " " + bean.getField2();
+ }
+
+ public String getGreetingsDBean(DBean bean) {
+ return "Hello " + bean.getField1() + " " + bean.getField2() + " "
+ + bean.getField3().getField1() + " "
+ + bean.getField3().getField2();
+ }
+}
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/HelloWorldService.java b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/HelloWorldService.java
new file mode 100644
index 0000000000..6b0425d473
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/HelloWorldService.java
@@ -0,0 +1,45 @@
+/*
+ * 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 helloworld;
+
+import javax.jws.WebService;
+
+import org.osoa.sca.annotations.Remotable;
+
+import yetanotherpackage.DBean;
+
+import anotherpackage.BBean;
+import anotherpackage.CBean;
+
+/**
+ * This is the business interface of the HelloWorld greetings service.
+ */
+@WebService
+@Remotable
+public interface HelloWorldService {
+
+ public String getGreetings(String name);
+ public String getGreetingsBean(ABean bean);
+ public String getGreetingsBeanArray(ABean[] bean);
+ //public String getGreetingsBeanVector(Vector<ABean> bean);
+ public String getGreetingsBBean(BBean bean);
+ public String getGreetingsCBean(CBean bean);
+ public String getGreetingsDBean(DBean bean);
+}
+
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/package-info.java b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/package-info.java
new file mode 100644
index 0000000000..45bc473320
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/helloworld/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * 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.
+ */
+@javax.xml.bind.annotation.XmlSchema(namespace="http://test")
+package helloworld;
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/yetanotherpackage/DBean.java b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/yetanotherpackage/DBean.java
new file mode 100644
index 0000000000..cee893d678
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/main/java/yetanotherpackage/DBean.java
@@ -0,0 +1,53 @@
+/*
+ * 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 yetanotherpackage;
+
+import anotherpackage.BBean;
+
+public class DBean {
+
+ protected String field1;
+ protected String field2;
+ protected BBean field3;
+
+ public String getField1() {
+ return field1;
+ }
+
+ public void setField1(String field1) {
+ this.field1 = field1;
+ }
+
+ public String getField2() {
+ return field2;
+ }
+
+ public void setField2(String field2) {
+ this.field2 = field2;
+ }
+
+ public BBean getField3() {
+ return field3;
+ }
+
+ public void setField3(BBean field3) {
+ this.field3 = field3;
+ }
+}
+
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/META-INF/sca-contribution.xml b/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/META-INF/sca-contribution.xml
new file mode 100644
index 0000000000..c7797931d2
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/META-INF/sca-contribution.xml
@@ -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://www.osoa.org/xmlns/sca/1.0"
+ xmlns:hw="http://helloworld">
+ <deployable composite="hw:helloworldws" />
+</contribution>
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/definitions.xml b/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/definitions.xml
new file mode 100644
index 0000000000..e1b316dcc6
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/definitions.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ * 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.
+-->
+<sca:definitions xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0">
+
+ <sca:intent name="transport"
+ constrains="sca:binding.ws">
+ <sca:description>
+ The general intent that a transport is available over which SOAP messages flow
+ </sca:description>
+ </sca:intent>
+
+ <sca:intent name="transport.jms">
+ <sca:description>
+ A JMS transport is required
+ </sca:description>
+ </sca:intent>
+
+ <sca:intent name="transport.http">
+ <sca:description>
+ An HTTP transport is required
+ </sca:description>
+ </sca:intent>
+
+ <!--
+ how does the following relate to confidentiality intents
+ does confidentiality become a profile intent?
+ -->
+ <sca:intent name="transport.https">
+ <sca:description>
+ An HTTPS transport is required
+ </sca:description>
+ </sca:intent>
+
+ <sca:policySet name="wsJMSTransportPolicy"
+ provides="transport.jms"
+ appliesTo="sca:binding.ws">
+ <tuscany:wsConfigParam>
+ <parameter name="TuscanyQueueConnectionFactory">
+ <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+ <parameter name="java.naming.provider.url">tcp://localhost:61982</parameter>
+ <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
+ </parameter>
+ </tuscany:wsConfigParam>
+ </sca:policySet>
+
+ </sca:definitions> \ No newline at end of file
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/helloworld.composite b/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/helloworld.composite
new file mode 100644
index 0000000000..2b5d51b71e
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/helloworld.composite
@@ -0,0 +1,71 @@
+<?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://www.osoa.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://helloworld"
+ xmlns:hw="http://helloworld"
+ name="helloworldws">
+
+ <component name="HelloWorldServiceComponent1">
+ <implementation.java class="helloworld.HelloWorldImpl" />
+ <service name="HelloWorldService">
+ <binding.ws uri="jms:/queue.sample?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:51293"/>
+ </service>
+ </component>
+
+ <component name="HelloWorldServiceComponent2">
+ <implementation.java class="helloworld.HelloWorldImpl" />
+ <service name="HelloWorldService">
+ <interface.wsdl interface="http://helloworld/#wsdl.interface(HelloWorldService)" />
+ <binding.ws uri="jms:/queue.sample?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:51293"/>
+ </service>
+ </component>
+
+ <component name="HelloWorldServiceComponent3">
+ <implementation.java class="helloworld.HelloWorldImpl" />
+ <service name="HelloWorldService">
+ <binding.ws uri="jms:/queue.sample?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:51293"
+ wsdlElement="http://helloworld/#wsdl.binding(HelloWorldJmsBinding)"/>
+ </service>
+ </component>
+
+ <component name="HelloWorldServiceComponent4">
+ <implementation.java class="helloworld.HelloWorldImpl" />
+ <service name="HelloWorldService">
+ <binding.ws wsdlElement="http://helloworld/#wsdl.port(HelloWorldService/HelloWorldJmsPort)"/>
+ </service>
+ </component>
+
+ <component name="HelloWorldServiceComponent5">
+ <implementation.java class="helloworld.HelloWorldImpl" />
+ <service name="HelloWorldService">
+ <binding.ws wsdlElement="http://helloworld/#wsdl.service(HelloWorldService)"/>
+ </service>
+ </component>
+
+
+ <component name="HelloWorldServiceComponent10">
+ <implementation.java class="helloworld.HelloWorldImpl" />
+ <service name="HelloWorldService">
+ <binding.ws/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/helloworld1.composite b/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/helloworld1.composite
new file mode 100644
index 0000000000..3bd84f34d9
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/helloworld1.composite
@@ -0,0 +1,43 @@
+<?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://www.osoa.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://helloworld"
+ xmlns:hw="http://helloworld"
+ name="helloworldws">
+
+ <component name="HelloWorldClientComponent1">
+ <implementation.java class="helloworld.HelloWorldClientImpl" />
+ <service name="HelloWorldService">
+ <binding.sca/>
+ </service>
+ <reference name="hwService">
+ <binding.ws uri="http://localhost:8085/HelloWorldServiceComponent1"/>
+ </reference>
+ </component>
+
+ <component name="HelloWorldServiceComponent1">
+ <implementation.java class="helloworld.HelloWorldImpl" />
+ <service name="HelloWorldService">
+ <binding.ws uri="http://localhost:8085/HelloWorldServiceComponent1"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl b/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl
new file mode 100644
index 0000000000..185aa2c649
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl
@@ -0,0 +1,343 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+ <!--
+ * 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.
+ -->
+
+ <!--
+ Generated by pointing a browser at
+ http://l3aw203:8085/HelloWorldServiceComponent1?wsdl
+ -->
+ <!-- but with manual changes to introduce the JMS configuration -->
+
+<wsdl:definitions name="HelloWorldServiceService"
+ targetNamespace="http://helloworld/" xmlns="http://helloworld/"
+ 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 attributeFormDefault="qualified"
+ elementFormDefault="unqualified" targetNamespace="http://helloworld/"
+ xmlns:ns0="http://test" xmlns:tns="http://helloworld/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:import namespace="http://test" />
+ <xs:element name="getGreetingsBean">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="arg0" nillable="true"
+ type="ns0:aBean" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getGreetingsDBean">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="arg0" nillable="true"
+ type="tns:dBean" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getGreetings">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="arg0" nillable="true"
+ type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getGreetingsCBean">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getGreetingsDBeanResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return" nillable="true"
+ type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getGreetingsCBeanResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return" nillable="true"
+ type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getGreetingsBBean">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="arg0" nillable="true"
+ type="tns:bBean" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getGreetingsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return" nillable="true"
+ type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getGreetingsBeanResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return" nillable="true"
+ type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getGreetingsBeanArrayResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return" nillable="true"
+ type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getGreetingsBBeanResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return" nillable="true"
+ type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getGreetingsBeanArray">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="arg0"
+ nillable="true" type="ns0:aBean" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="bBean">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="field1" type="xs:string" />
+ <xs:element minOccurs="0" name="field2" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="dBean">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="field1" type="xs:string" />
+ <xs:element minOccurs="0" name="field2" type="xs:string" />
+ <xs:element minOccurs="0" name="field3" type="tns:bBean" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:schema>
+ <xs:schema targetNamespace="http://test" version="1.0"
+ xmlns:__nnns="http://helloworld/" xmlns:tns="http://test"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:import namespace="http://helloworld/" />
+ <xs:complexType name="aBean">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="field1" type="xs:string" />
+ <xs:element minOccurs="0" name="field2" type="xs:string" />
+ <xs:element minOccurs="0" name="field3" type="__nnns:bBean" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType final="#all" name="aBeanArray">
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="item"
+ nillable="true" type="tns:aBean" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:schema>
+ </wsdl:types>
+ <wsdl:message name="getGreetingsBean">
+ <wsdl:part name="getGreetingsBean" element="getGreetingsBean">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="getGreetingsDBean">
+ <wsdl:part name="getGreetingsDBean" element="getGreetingsDBean">
+
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="getGreetings">
+ <wsdl:part name="getGreetings" element="getGreetings">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="getGreetingsCBean">
+ <wsdl:part name="getGreetingsCBean" element="getGreetingsCBean">
+ </wsdl:part>
+
+ </wsdl:message>
+ <wsdl:message name="getGreetingsDBeanResponse">
+ <wsdl:part name="getGreetingsDBeanResponse" element="getGreetingsDBeanResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="getGreetingsCBeanResponse">
+ <wsdl:part name="getGreetingsCBeanResponse" element="getGreetingsCBeanResponse">
+ </wsdl:part>
+ </wsdl:message>
+
+ <wsdl:message name="getGreetingsBBean">
+ <wsdl:part name="getGreetingsBBean" element="getGreetingsBBean">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="getGreetingsResponse">
+ <wsdl:part name="getGreetingsResponse" element="getGreetingsResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="getGreetingsBeanResponse">
+
+ <wsdl:part name="getGreetingsBeanResponse" element="getGreetingsBeanResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="getGreetingsBeanArrayResponse">
+ <wsdl:part name="getGreetingsBeanArrayResponse" element="getGreetingsBeanArrayResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="getGreetingsBBeanResponse">
+ <wsdl:part name="getGreetingsBBeanResponse" element="getGreetingsBBeanResponse">
+
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="getGreetingsBeanArray">
+ <wsdl:part name="getGreetingsBeanArray" element="getGreetingsBeanArray">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="HelloWorldService">
+ <wsdl:operation name="getGreetings">
+ <wsdl:input message="getGreetings">
+
+ </wsdl:input>
+ <wsdl:output message="getGreetingsResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="getGreetingsDBean">
+ <wsdl:input message="getGreetingsDBean">
+ </wsdl:input>
+ <wsdl:output message="getGreetingsDBeanResponse">
+ </wsdl:output>
+
+ </wsdl:operation>
+ <wsdl:operation name="getGreetingsBean">
+ <wsdl:input message="getGreetingsBean">
+ </wsdl:input>
+ <wsdl:output message="getGreetingsBeanResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="getGreetingsBeanArray">
+ <wsdl:input message="getGreetingsBeanArray">
+
+ </wsdl:input>
+ <wsdl:output message="getGreetingsBeanArrayResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="getGreetingsBBean">
+ <wsdl:input message="getGreetingsBBean">
+ </wsdl:input>
+ <wsdl:output message="getGreetingsBBeanResponse">
+ </wsdl:output>
+
+ </wsdl:operation>
+ <wsdl:operation name="getGreetingsCBean">
+ <wsdl:input message="getGreetingsCBean">
+ </wsdl:input>
+ <wsdl:output message="getGreetingsCBeanResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="HelloWorldServiceBinding" type="HelloWorldService">
+
+ <SOAP:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="getGreetings">
+ <SOAP:operation />
+ <wsdl:input>
+ <SOAP:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <SOAP:body use="literal" />
+ </wsdl:output>
+
+ </wsdl:operation>
+ <wsdl:operation name="getGreetingsDBean">
+ <SOAP:operation />
+ <wsdl:input>
+ <SOAP:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <SOAP:body use="literal" />
+ </wsdl:output>
+
+ </wsdl:operation>
+ <wsdl:operation name="getGreetingsBean">
+ <SOAP:operation />
+ <wsdl:input>
+ <SOAP:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <SOAP:body use="literal" />
+ </wsdl:output>
+
+ </wsdl:operation>
+ <wsdl:operation name="getGreetingsBeanArray">
+ <SOAP:operation />
+ <wsdl:input>
+ <SOAP:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <SOAP:body use="literal" />
+ </wsdl:output>
+
+ </wsdl:operation>
+ <wsdl:operation name="getGreetingsBBean">
+ <SOAP:operation />
+ <wsdl:input>
+ <SOAP:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <SOAP:body use="literal" />
+ </wsdl:output>
+
+ </wsdl:operation>
+ <wsdl:operation name="getGreetingsCBean">
+ <SOAP:operation />
+ <wsdl:input>
+ <SOAP:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <SOAP:body use="literal" />
+ </wsdl:output>
+
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:binding name="HelloWorldJmsBinding" type="HelloWorldService">
+ <SOAP:binding style="document" transport="http://schemas.xmlsoap.org/soap/jms" />
+ <wsdl:operation name="getGreetings">
+ <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="HelloWorldService">
+ <wsdl:port name="HelloWorldJmsPort" binding="HelloWorldJmsBinding">
+ <SOAP:address
+ location="jms:/queue.sample?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:51293" />
+ </wsdl:port>
+ <wsdl:port name="HelloWorldServicePort" binding="HelloWorldServiceBinding">
+ <SOAP:address location="http://localhost:8085/HelloWorldServiceComponent1" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java b/sca-java-1.x/trunk/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java
new file mode 100644
index 0000000000..22f154fbf3
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java
@@ -0,0 +1,122 @@
+/*
+ * 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 helloworld;
+
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertNotNull;
+
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import yetanotherpackage.DBean;
+
+import anotherpackage.BBean;
+
+/**
+ * Tests that the helloworld server is available
+ */
+public class HttpTransportTestCase{
+
+ private SCADomain scaDomain;
+
+ @Before
+ public void startServer() throws Exception {
+ scaDomain = SCADomain.newInstance("helloworld1.composite");
+ }
+
+ @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");
+ }
+
+ @Test
+ public void testComponent1SCA() throws IOException {
+ HelloWorldService helloWorldService = scaDomain.getService(HelloWorldService.class, "HelloWorldServiceComponent1/HelloWorldService");
+ assertNotNull(helloWorldService);
+
+ HelloWorldService helloWorldClient = scaDomain.getService(HelloWorldService.class, "HelloWorldClientComponent1/HelloWorldService");
+ assertNotNull(helloWorldClient);
+
+ assertEquals("Hello Smith", helloWorldService.getGreetings("Smith"));
+ assertEquals("Hello Hello Smith", helloWorldClient.getGreetings("Smith"));
+
+ BBean bbean = new BBean();
+ bbean.setField1("1");
+ bbean.setField2("2");
+
+ DBean abean = new DBean();
+ abean.setField1("3");
+ abean.setField2("4");
+ abean.setField3(bbean);
+
+ assertEquals("Hello Hello 3 4 1 2", helloWorldClient.getGreetingsDBean(abean));
+ }
+
+ @Test
+ public void testComponent1JAXWS() throws IOException {
+
+ // talk to the service using JAXWS with WSDL generated from this service used wsgen
+ // the idea here is to demonstrate that the service is providing a JAXWS compliant
+ // interface
+ QName serviceName = new QName("http://helloworld/", "HelloWorldImplService");
+ URL wsdlLocation = this.getClass().getClassLoader().getResource("wsdl/HelloWorldImplService.wsdl");
+ Service webService = Service.create( wsdlLocation, serviceName );
+ HelloWorldService wsProxy = (HelloWorldService) webService.getPort(HelloWorldService.class);
+
+ assertEquals("Hello Fred", wsProxy.getGreetings("Fred"));
+
+ BBean bbean = new BBean();
+ bbean.setField1("1");
+ bbean.setField2("2");
+
+ DBean abean = new DBean();
+ abean.setField1("3");
+ abean.setField2("4");
+ abean.setField3(bbean);
+
+ assertEquals("Hello 3 4 1 2", wsProxy.getGreetingsDBean(abean));
+
+ // repeat the JAXWS call with WSDL generated by tuscany
+
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ if (scaDomain != null) {
+ scaDomain.close();
+ }
+ }
+
+}
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/test/java/helloworld/JmsTransportTestCase.java b/sca-java-1.x/trunk/itest/wsdlgen/src/test/java/helloworld/JmsTransportTestCase.java
new file mode 100644
index 0000000000..fe74ef1a3d
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/test/java/helloworld/JmsTransportTestCase.java
@@ -0,0 +1,121 @@
+/*
+ * 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 helloworld;
+
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertNotNull;
+
+import java.io.IOException;
+
+import org.apache.activemq.broker.BrokerService;
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * Tests that the helloworld server is available
+ */
+public class JmsTransportTestCase{
+
+ private SCADomain scaDomain;
+ private BrokerService jmsBroker;
+
+ @Before
+ public void startServer() throws Exception {
+ startBroker();
+ scaDomain = SCADomain.newInstance("helloworld.composite");
+ }
+
+ protected void startBroker() throws Exception {
+ jmsBroker = new BrokerService();
+ jmsBroker.setPersistent(false);
+ jmsBroker.setUseJmx(false);
+ jmsBroker.addConnector("tcp://localhost:51293");
+ jmsBroker.start();
+ }
+
+ //@Ignore
+ @Test
+ public void testComponent1() throws IOException {
+ HelloWorldService helloWorldService = scaDomain.getService(HelloWorldService.class, "HelloWorldServiceComponent1/HelloWorldService");
+ assertNotNull(helloWorldService);
+
+ assertEquals("Hello Smith", helloWorldService.getGreetings("Smith"));
+ }
+
+ //@Ignore
+ @Test
+ public void testComponent2() throws IOException {
+ HelloWorldService helloWorldService = scaDomain.getService(HelloWorldService.class, "HelloWorldServiceComponent2/HelloWorldService");
+ assertNotNull(helloWorldService);
+
+ assertEquals("Hello Smith", helloWorldService.getGreetings("Smith"));
+ }
+
+ @Ignore
+ @Test
+ public void testComponent3() throws IOException {
+ HelloWorldService helloWorldService = scaDomain.getService(HelloWorldService.class, "HelloWorldServiceComponent3/HelloWorldService");
+ assertNotNull(helloWorldService);
+
+ assertEquals("Hello Smith", helloWorldService.getGreetings("Smith"));
+ }
+
+ @Ignore
+ @Test
+ public void testComponent4() throws IOException {
+ HelloWorldService helloWorldService = scaDomain.getService(HelloWorldService.class, "HelloWorldServiceComponent4/HelloWorldService");
+ assertNotNull(helloWorldService);
+
+ assertEquals("Hello Smith", helloWorldService.getGreetings("Smith"));
+ }
+
+ @Ignore
+ @Test
+ public void testComponent5() throws IOException {
+ HelloWorldService helloWorldService = scaDomain.getService(HelloWorldService.class, "HelloWorldServiceComponent5/HelloWorldService");
+ assertNotNull(helloWorldService);
+
+ assertEquals("Hello Smith", helloWorldService.getGreetings("Smith"));
+ }
+
+ @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 stopServer() throws Exception {
+ if (scaDomain != null) {
+ scaDomain.close();
+ }
+ if (jmsBroker != null) {
+ jmsBroker.stop();
+ }
+ }
+
+}
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService.wsdl b/sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService.wsdl
new file mode 100644
index 0000000000..5fa0d565b1
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService.wsdl
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.3-b02-. -->
+<definitions targetNamespace="http://helloworld/" name="HelloWorldImplService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://helloworld/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+ <types>
+ <xsd:schema>
+ <xsd:import namespace="http://test" schemaLocation="HelloWorldImplService_schema1.xsd"/>
+ </xsd:schema>
+ <xsd:schema>
+ <xsd:import namespace="http://helloworld/" schemaLocation="HelloWorldImplService_schema2.xsd"/>
+ </xsd:schema>
+ </types>
+ <message name="getGreetings">
+ <part name="parameters" element="tns:getGreetings"/>
+ </message>
+ <message name="getGreetingsResponse">
+ <part name="parameters" element="tns:getGreetingsResponse"/>
+ </message>
+ <message name="getGreetingsBean">
+ <part name="parameters" element="tns:getGreetingsBean"/>
+ </message>
+ <message name="getGreetingsBeanResponse">
+ <part name="parameters" element="tns:getGreetingsBeanResponse"/>
+ </message>
+ <message name="getGreetingsBeanArray">
+ <part name="parameters" element="tns:getGreetingsBeanArray"/>
+ </message>
+ <message name="getGreetingsBeanArrayResponse">
+ <part name="parameters" element="tns:getGreetingsBeanArrayResponse"/>
+ </message>
+ <message name="getGreetingsBBean">
+ <part name="parameters" element="tns:getGreetingsBBean"/>
+ </message>
+ <message name="getGreetingsBBeanResponse">
+ <part name="parameters" element="tns:getGreetingsBBeanResponse"/>
+ </message>
+ <message name="getGreetingsCBean">
+ <part name="parameters" element="tns:getGreetingsCBean"/>
+ </message>
+ <message name="getGreetingsCBeanResponse">
+ <part name="parameters" element="tns:getGreetingsCBeanResponse"/>
+ </message>
+ <message name="getGreetingsDBean">
+ <part name="parameters" element="tns:getGreetingsDBean"/>
+ </message>
+ <message name="getGreetingsDBeanResponse">
+ <part name="parameters" element="tns:getGreetingsDBeanResponse"/>
+ </message>
+ <portType name="HelloWorldService">
+ <operation name="getGreetings">
+ <input message="tns:getGreetings"/>
+ <output message="tns:getGreetingsResponse"/>
+ </operation>
+ <operation name="getGreetingsBean">
+ <input message="tns:getGreetingsBean"/>
+ <output message="tns:getGreetingsBeanResponse"/>
+ </operation>
+ <operation name="getGreetingsBeanArray">
+ <input message="tns:getGreetingsBeanArray"/>
+ <output message="tns:getGreetingsBeanArrayResponse"/>
+ </operation>
+ <operation name="getGreetingsBBean">
+ <input message="tns:getGreetingsBBean"/>
+ <output message="tns:getGreetingsBBeanResponse"/>
+ </operation>
+ <operation name="getGreetingsCBean">
+ <input message="tns:getGreetingsCBean"/>
+ <output message="tns:getGreetingsCBeanResponse"/>
+ </operation>
+ <operation name="getGreetingsDBean">
+ <input message="tns:getGreetingsDBean"/>
+ <output message="tns:getGreetingsDBeanResponse"/>
+ </operation>
+ </portType>
+ <binding name="HelloWorldImplPortBinding" type="tns:HelloWorldService">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+ <operation name="getGreetings">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="getGreetingsBean">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="getGreetingsBeanArray">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="getGreetingsBBean">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="getGreetingsCBean">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="getGreetingsDBean">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="HelloWorldImplService">
+ <port name="HelloWorldImplPort" binding="tns:HelloWorldImplPortBinding">
+ <soap:address location="http://localhost:8085/HelloWorldServiceComponent1"/>
+ </port>
+ </service>
+</definitions>
+
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService_schema1.xsd b/sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService_schema1.xsd
new file mode 100644
index 0000000000..70de7a05ae
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService_schema1.xsd
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema version="1.0" targetNamespace="http://test" xmlns:ns1="http://helloworld/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:import namespace="http://helloworld/" schemaLocation="HelloWorldImplService_schema2.xsd"/>
+
+ <xs:complexType name="aBean">
+ <xs:sequence>
+ <xs:element name="field1" type="xs:string" minOccurs="0"/>
+ <xs:element name="field2" type="xs:string" minOccurs="0"/>
+ <xs:element name="field3" type="ns1:bBean" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
+
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService_schema2.xsd b/sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService_schema2.xsd
new file mode 100644
index 0000000000..446492c371
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService_schema2.xsd
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema version="1.0" targetNamespace="http://helloworld/" xmlns:ns1="http://test" xmlns:tns="http://helloworld/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:import namespace="http://test" schemaLocation="HelloWorldImplService_schema1.xsd"/>
+
+ <xs:element name="getGreetings" type="tns:getGreetings"/>
+
+ <xs:element name="getGreetingsBBean" type="tns:getGreetingsBBean"/>
+
+ <xs:element name="getGreetingsBBeanResponse" type="tns:getGreetingsBBeanResponse"/>
+
+ <xs:element name="getGreetingsBean" type="tns:getGreetingsBean"/>
+
+ <xs:element name="getGreetingsBeanArray" type="tns:getGreetingsBeanArray"/>
+
+ <xs:element name="getGreetingsBeanArrayResponse" type="tns:getGreetingsBeanArrayResponse"/>
+
+ <xs:element name="getGreetingsBeanResponse" type="tns:getGreetingsBeanResponse"/>
+
+ <xs:element name="getGreetingsCBean" type="tns:getGreetingsCBean"/>
+
+ <xs:element name="getGreetingsCBeanResponse" type="tns:getGreetingsCBeanResponse"/>
+
+ <xs:element name="getGreetingsDBean" type="tns:getGreetingsDBean"/>
+
+ <xs:element name="getGreetingsDBeanResponse" type="tns:getGreetingsDBeanResponse"/>
+
+ <xs:element name="getGreetingsResponse" type="tns:getGreetingsResponse"/>
+
+ <xs:complexType name="getGreetingsBeanArray">
+ <xs:sequence>
+ <xs:element name="arg0" type="ns1:aBean" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="bBean">
+ <xs:sequence>
+ <xs:element name="field1" type="xs:string" minOccurs="0"/>
+ <xs:element name="field2" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="getGreetingsBeanArrayResponse">
+ <xs:sequence>
+ <xs:element name="return" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="getGreetingsBBean">
+ <xs:sequence>
+ <xs:element name="arg0" type="tns:bBean" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="getGreetingsBBeanResponse">
+ <xs:sequence>
+ <xs:element name="return" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="getGreetingsCBean">
+ <xs:sequence>
+ <xs:element name="arg0" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="field1" type="xs:string" minOccurs="0"/>
+ <xs:element name="field2" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="getGreetingsCBeanResponse">
+ <xs:sequence>
+ <xs:element name="return" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="getGreetingsBean">
+ <xs:sequence>
+ <xs:element name="arg0" type="ns1:aBean" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="getGreetingsBeanResponse">
+ <xs:sequence>
+ <xs:element name="return" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="getGreetingsDBean">
+ <xs:sequence>
+ <xs:element name="arg0" type="tns:dBean" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="dBean">
+ <xs:sequence>
+ <xs:element name="field1" type="xs:string" minOccurs="0"/>
+ <xs:element name="field2" type="xs:string" minOccurs="0"/>
+ <xs:element name="field3" type="tns:bBean" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="getGreetingsDBeanResponse">
+ <xs:sequence>
+ <xs:element name="return" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="getGreetings">
+ <xs:sequence>
+ <xs:element name="arg0" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="getGreetingsResponse">
+ <xs:sequence>
+ <xs:element name="return" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
+
diff --git a/sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/README b/sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/README
new file mode 100644
index 0000000000..f0092fbfb1
--- /dev/null
+++ b/sca-java-1.x/trunk/itest/wsdlgen/src/test/resources/wsdl/README
@@ -0,0 +1,6 @@
+These are files generated by JAXWS wsgen. The maven pom.xml is configured to generate
+them to target/jaxws/wsgen/wsdl. These files are copied manually from there to here
+and the .wsdl file is hand edited to
+
+1/ add the right service port location
+2/ change the port type name to HelloWorldService