summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/itest
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-10-01 15:23:45 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-10-01 15:23:45 +0000
commit574b17f369e247d6711421eeeaf6d4759e7fb2e1 (patch)
treef16098831fa8637b115782ff4a75ee2db89dfd0d /branches/sca-java-1.x/itest
parent00a5b3a769c59878e1754307f87abb3d235ee828 (diff)
TUSCANY-3283 - improve the wsdlgen test case to test the situation where a type with a namespace references a type without a namespace
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@820686 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.x/itest')
-rw-r--r--branches/sca-java-1.x/itest/wsdlgen/pom.xml21
-rw-r--r--branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/ABean.java4
-rw-r--r--branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/HelloWorldClientImpl.java68
-rw-r--r--branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/HelloWorldImpl.java33
-rw-r--r--branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/HelloWorldService.java6
-rw-r--r--branches/sca-java-1.x/itest/wsdlgen/src/main/java/yetanotherpackage/DBean.java53
-rw-r--r--branches/sca-java-1.x/itest/wsdlgen/src/main/resources/helloworld1.composite12
-rw-r--r--branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl (renamed from branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/helloworld.wsdl)185
-rw-r--r--branches/sca-java-1.x/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java54
-rw-r--r--branches/sca-java-1.x/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService.wsdl137
-rw-r--r--branches/sca-java-1.x/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService_schema1.xsd14
-rw-r--r--branches/sca-java-1.x/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService_schema2.xsd124
-rw-r--r--branches/sca-java-1.x/itest/wsdlgen/src/test/resources/wsdl/README6
13 files changed, 649 insertions, 68 deletions
diff --git a/branches/sca-java-1.x/itest/wsdlgen/pom.xml b/branches/sca-java-1.x/itest/wsdlgen/pom.xml
index 92b361bf07..0a2a280e62 100644
--- a/branches/sca-java-1.x/itest/wsdlgen/pom.xml
+++ b/branches/sca-java-1.x/itest/wsdlgen/pom.xml
@@ -87,6 +87,27 @@
<build>
<finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jaxws-maven-plugin</artifactId>
+ <version>1.9</version>
+ <executions>
+ <execution>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>wsgen</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <sei>helloworld.HelloWorldImpl</sei>
+ <genWsdl>true</genWsdl>
+ <keep>true</keep>
+ </configuration>
+ </plugin>
+ </plugins>
+
</build>
</project>
diff --git a/branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/ABean.java b/branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/ABean.java
index 0d2f9bf380..bcfa0f8be7 100644
--- a/branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/ABean.java
+++ b/branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/ABean.java
@@ -20,6 +20,8 @@ package helloworld;
import anotherpackage.BBean;
+
+
public class ABean {
protected String field1;
@@ -41,7 +43,7 @@ public class ABean {
public void setField2(String field2) {
this.field2 = field2;
}
-
+
public BBean getField3() {
return field3;
}
diff --git a/branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/HelloWorldClientImpl.java b/branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/HelloWorldClientImpl.java
new file mode 100644
index 0000000000..04fbe6934a
--- /dev/null
+++ b/branches/sca-java-1.x/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/branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/HelloWorldImpl.java b/branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/HelloWorldImpl.java
index 788eded6f9..a92a819aaf 100644
--- a/branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/HelloWorldImpl.java
+++ b/branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/HelloWorldImpl.java
@@ -22,6 +22,8 @@ import javax.jws.WebService;
import org.osoa.sca.annotations.Service;
+import yetanotherpackage.DBean;
+
import anotherpackage.BBean;
import anotherpackage.CBean;
@@ -35,26 +37,33 @@ public class HelloWorldImpl implements HelloWorldService {
public String getGreetings(String name) {
return "Hello " + name;
}
-
- public String getGreetingsBean(ABean bean){
- return "Hello " + bean.getField1() + " " + bean.getField2();
+
+ public String getGreetingsBean(ABean bean) {
+ return "Hello " + bean.getField1() + " " + bean.getField2()
+ + bean.getField3().getField1() + " "
+ + bean.getField3().getField2();
}
- public String getGreetingsBeanArray(ABean[] bean){
+ 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 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 getGreetingsBBean(BBean bean){
+
+ public String getGreetingsCBean(CBean 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/branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/HelloWorldService.java b/branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/HelloWorldService.java
index 9922b8a233..6b0425d473 100644
--- a/branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/HelloWorldService.java
+++ b/branches/sca-java-1.x/itest/wsdlgen/src/main/java/helloworld/HelloWorldService.java
@@ -18,14 +18,19 @@
*/
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 {
@@ -35,5 +40,6 @@ public interface HelloWorldService {
//public String getGreetingsBeanVector(Vector<ABean> bean);
public String getGreetingsBBean(BBean bean);
public String getGreetingsCBean(CBean bean);
+ public String getGreetingsDBean(DBean bean);
}
diff --git a/branches/sca-java-1.x/itest/wsdlgen/src/main/java/yetanotherpackage/DBean.java b/branches/sca-java-1.x/itest/wsdlgen/src/main/java/yetanotherpackage/DBean.java
new file mode 100644
index 0000000000..cee893d678
--- /dev/null
+++ b/branches/sca-java-1.x/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/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/helloworld1.composite b/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/helloworld1.composite
index 12ef393521..12d98d3453 100644
--- a/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/helloworld1.composite
+++ b/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/helloworld1.composite
@@ -22,11 +22,21 @@
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://L3AW203:8085/HelloWorldServiceComponent1"/>
+ </reference>
+ </component>
<component name="HelloWorldServiceComponent1">
<implementation.java class="helloworld.HelloWorldImpl" />
<service name="HelloWorldService">
- <binding.ws/>
+ <binding.ws uri="http://L3AW203:8085/HelloWorldServiceComponent1"/>
</service>
</component>
diff --git a/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/helloworld.wsdl b/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl
index 35dfe95359..2f7b40e0ed 100644
--- a/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/helloworld.wsdl
+++ b/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?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 *
@@ -14,8 +14,15 @@
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:tns="http://helloworld/"
+ 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>
@@ -37,34 +44,43 @@
<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="getGreetingsBBeanResponse">
+ <xs:complexType name="getGreetingsBean">
<xs:sequence>
- <xs:element minOccurs="0" name="return"
- type="xs:string" />
+ <xs:element minOccurs="0" name="arg0"
+ type="ns1:aBean" />
</xs:sequence>
</xs:complexType>
- <xs:complexType name="getGreetingsCBeanResponse">
+ <xs:complexType name="getGreetingsBeanArrayResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return"
type="xs:string" />
</xs:sequence>
</xs:complexType>
- <xs:complexType name="getGreetingsBeanArrayResponse">
+ <xs:complexType name="getGreetingsBeanArray">
<xs:sequence>
- <xs:element minOccurs="0" name="return"
- type="xs:string" />
+ <xs:element maxOccurs="unbounded"
+ minOccurs="0" name="arg0" nillable="true" type="ns1:aBean" />
</xs:sequence>
</xs:complexType>
- <xs:complexType name="getGreetingsResponse">
+ <xs:complexType name="getGreetingsBBeanResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return"
type="xs:string" />
</xs:sequence>
</xs:complexType>
- <xs:complexType name="getGreetings">
+ <xs:complexType name="getGreetingsBBean">
<xs:sequence>
<xs:element minOccurs="0" name="arg0"
+ type="tns:bBean" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="getGreetingsCBeanResponse">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return"
type="xs:string" />
</xs:sequence>
</xs:complexType>
@@ -74,10 +90,16 @@
type="xs:string" />
</xs:sequence>
</xs:complexType>
- <xs:complexType name="getGreetingsBean">
+ <xs:complexType name="getGreetings">
<xs:sequence>
<xs:element minOccurs="0" name="arg0"
- type="ns1:aBean" />
+ type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="getGreetingsResponse">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return"
+ type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="getGreetingsCBean">
@@ -94,16 +116,16 @@
</xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="getGreetingsBBean">
+ <xs:complexType name="getGreetingsDBean">
<xs:sequence>
<xs:element minOccurs="0" name="arg0"
- type="tns:bBean" />
+ type="dBean" />
</xs:sequence>
</xs:complexType>
- <xs:complexType name="getGreetingsBeanArray">
+ <xs:complexType name="getGreetingsDBeanResponse">
<xs:sequence>
- <xs:element maxOccurs="unbounded"
- minOccurs="0" name="arg0" nillable="true" type="ns1:aBean" />
+ <xs:element minOccurs="0" name="return"
+ type="xs:string" />
</xs:sequence>
</xs:complexType>
@@ -115,11 +137,21 @@
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="bBean" />
+ </xs:sequence>
+ </xs:complexType>
</xs:schema>
<xs:schema targetNamespace="http://test" version="1.0"
xmlns:__nnns="http://helloworld/" 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"
@@ -133,87 +165,103 @@
</xs:schema>
</wsdl:types>
<wsdl:message name="getGreetingsBean">
- <wsdl:part name="getGreetingsBean" element="tns: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="tns:getGreetings">
+ <wsdl:part name="getGreetings" element="getGreetings">
</wsdl:part>
-
</wsdl:message>
<wsdl:message name="getGreetingsCBean">
- <wsdl:part name="getGreetingsCBean" element="tns:getGreetingsCBean">
+
+ <wsdl:part name="getGreetingsCBean" element="getGreetingsCBean">
</wsdl:part>
</wsdl:message>
- <wsdl:message name="getGreetingsCBeanResponse">
- <wsdl:part name="getGreetingsCBeanResponse" element="tns:getGreetingsCBeanResponse">
+ <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="tns:getGreetingsBBean">
+ <wsdl:part name="getGreetingsBBean" element="getGreetingsBBean">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getGreetingsResponse">
- <wsdl:part name="getGreetingsResponse" element="tns:getGreetingsResponse">
+ <wsdl:part name="getGreetingsResponse" element="getGreetingsResponse">
</wsdl:part>
+
</wsdl:message>
<wsdl:message name="getGreetingsBeanResponse">
-
- <wsdl:part name="getGreetingsBeanResponse" element="tns:getGreetingsBeanResponse">
+ <wsdl:part name="getGreetingsBeanResponse" element="getGreetingsBeanResponse">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getGreetingsBeanArrayResponse">
<wsdl:part name="getGreetingsBeanArrayResponse"
- element="tns:getGreetingsBeanArrayResponse">
+ element="getGreetingsBeanArrayResponse">
</wsdl:part>
</wsdl:message>
- <wsdl:message name="getGreetingsBBeanResponse">
- <wsdl:part name="getGreetingsBBeanResponse" element="tns:getGreetingsBBeanResponse">
+ <wsdl:message name="getGreetingsBBeanResponse">
+ <wsdl:part name="getGreetingsBBeanResponse" element="getGreetingsBBeanResponse">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getGreetingsBeanArray">
- <wsdl:part name="getGreetingsBeanArray" element="tns:getGreetingsBeanArray">
+ <wsdl:part name="getGreetingsBeanArray" element="getGreetingsBeanArray">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="HelloWorldService">
- <wsdl:operation name="getGreetings">
- <wsdl:input message="tns:getGreetings">
+ <wsdl:operation name="getGreetings">
+ <wsdl:input message="getGreetings">
</wsdl:input>
- <wsdl:output message="tns:getGreetingsResponse">
+ <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="tns:getGreetingsBean">
+ <wsdl:input message="getGreetingsBean">
</wsdl:input>
- <wsdl:output message="tns:getGreetingsBeanResponse">
+ <wsdl:output message="getGreetingsBeanResponse">
</wsdl:output>
-
</wsdl:operation>
+
<wsdl:operation name="getGreetingsBeanArray">
- <wsdl:input message="tns:getGreetingsBeanArray">
+ <wsdl:input message="getGreetingsBeanArray">
</wsdl:input>
- <wsdl:output message="tns:getGreetingsBeanArrayResponse">
+ <wsdl:output message="getGreetingsBeanArrayResponse">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getGreetingsBBean">
- <wsdl:input message="tns:getGreetingsBBean">
-
+ <wsdl:input message="getGreetingsBBean">
</wsdl:input>
- <wsdl:output message="tns:getGreetingsBBeanResponse">
+
+ <wsdl:output message="getGreetingsBBeanResponse">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getGreetingsCBean">
- <wsdl:input message="tns:getGreetingsCBean">
+ <wsdl:input message="getGreetingsCBean">
</wsdl:input>
- <wsdl:output message="tns:getGreetingsCBeanResponse">
+ <wsdl:output message="getGreetingsCBeanResponse">
</wsdl:output>
-
</wsdl:operation>
+
</wsdl:portType>
- <wsdl:binding name="HelloWorldJmsBinding" type="tns:HelloWorldService">
+ <wsdl:binding name="HelloWorldServiceBinding" type="HelloWorldService">
<SOAP:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="getGreetings">
@@ -221,8 +269,18 @@
<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>
@@ -231,8 +289,8 @@
<wsdl:input>
<SOAP:body use="literal" />
</wsdl:input>
-
<wsdl:output>
+
<SOAP:body use="literal" />
</wsdl:output>
</wsdl:operation>
@@ -241,8 +299,8 @@
<wsdl:input>
<SOAP:body use="literal" />
</wsdl:input>
-
<wsdl:output>
+
<SOAP:body use="literal" />
</wsdl:output>
</wsdl:operation>
@@ -251,8 +309,8 @@
<wsdl:input>
<SOAP:body use="literal" />
</wsdl:input>
-
<wsdl:output>
+
<SOAP:body use="literal" />
</wsdl:output>
</wsdl:operation>
@@ -261,16 +319,37 @@
<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="tns:HelloWorldJmsBinding">
+ <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://l3aw203:8085/HelloWorldServiceComponent1" />
+ </wsdl:port>
</wsdl:service>
-</wsdl:definitions> \ No newline at end of file
+</wsdl:definitions>
diff --git a/branches/sca-java-1.x/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java b/branches/sca-java-1.x/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java
index d52db8e812..c5c1d50bc1 100644
--- a/branches/sca-java-1.x/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java
+++ b/branches/sca-java-1.x/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java
@@ -22,6 +22,11 @@ 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;
@@ -29,6 +34,10 @@ 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
*/
@@ -42,11 +51,54 @@ public class HttpTransportTestCase{
}
@Test
- public void testComponent1() throws IOException {
+ 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
+
}
diff --git a/branches/sca-java-1.x/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService.wsdl b/branches/sca-java-1.x/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService.wsdl
new file mode 100644
index 0000000000..ded4c0a9f0
--- /dev/null
+++ b/branches/sca-java-1.x/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://L3AW203:8085/HelloWorldServiceComponent1"/>
+ </port>
+ </service>
+</definitions>
+
diff --git a/branches/sca-java-1.x/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService_schema1.xsd b/branches/sca-java-1.x/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService_schema1.xsd
new file mode 100644
index 0000000000..70de7a05ae
--- /dev/null
+++ b/branches/sca-java-1.x/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/branches/sca-java-1.x/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService_schema2.xsd b/branches/sca-java-1.x/itest/wsdlgen/src/test/resources/wsdl/HelloWorldImplService_schema2.xsd
new file mode 100644
index 0000000000..446492c371
--- /dev/null
+++ b/branches/sca-java-1.x/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/branches/sca-java-1.x/itest/wsdlgen/src/test/resources/wsdl/README b/branches/sca-java-1.x/itest/wsdlgen/src/test/resources/wsdl/README
new file mode 100644
index 0000000000..f0092fbfb1
--- /dev/null
+++ b/branches/sca-java-1.x/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