diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-11 04:10:13 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-11 04:10:13 +0000 |
commit | a72fcfa3adf5be93bcf62e8ed26c08d10939b364 (patch) | |
tree | ebe3e388f11a71335f38b120a11d83be3cbc95d7 /branches/trunk-20080910/itest/wsdl | |
parent | 1ac507b3dc36ffa3340f66fe85cf626bfcf18831 (diff) |
Branch before trunk cleanup
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@694106 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
77 files changed, 8163 insertions, 0 deletions
diff --git a/branches/trunk-20080910/itest/wsdl-multiple/pom.xml b/branches/trunk-20080910/itest/wsdl-multiple/pom.xml new file mode 100644 index 0000000000..4d65aaf25c --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl-multiple/pom.xml @@ -0,0 +1,135 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-itest</artifactId> + <version>1.4-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>itest-wsdl-multiple</artifactId> + <name>Apache Tuscany SCA Multiple WSDL File Support Integration Tests</name> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-embedded</artifactId> + <version>1.4-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-java-runtime</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-interface-wsdl</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-axis2</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-databinding-sdo</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-databinding-axiom</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-jetty</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sdo</groupId> + <artifactId>tuscany-sdo-impl</artifactId> + <version>1.1.1</version> + <scope>compile</scope> + </dependency> + + </dependencies> + + <build> + <plugins> + <!--plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>1.0</version> + <executions> + <execution> + <id>add-source</id> + <phase>generate-sources</phase> + <goals> + <goal>add-source</goal> + </goals> + <configuration> + <sources> + <source>target/sdo-source</source> + </sources> + </configuration> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.apache.tuscany.sdo</groupId> + <artifactId>tuscany-sdo-plugin</artifactId> + <version>1.1.1</version> + <executions> + <execution> + <id>generate-sdo</id> + <phase>generate-sources</phase> + <configuration> + <schemaFile>${basedir}/src/main/resources/wsdl/AccountService.wsdl</schemaFile> + <javaPackage>com.bigbank.account</javaPackage> + <prefix>Account</prefix> + <noNotification>true</noNotification> + <noContainer>true</noContainer> + <noUnsettable>true</noUnsettable> + </configuration> + <goals> + <goal>generate</goal> + </goals> + </execution> + </executions> + </plugin--> + </plugins> + </build> +</project> diff --git a/branches/trunk-20080910/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldCallback.java b/branches/trunk-20080910/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldCallback.java new file mode 100644 index 0000000000..842ae0a692 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldCallback.java @@ -0,0 +1,30 @@ +/* + * 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.Remotable; + +/** + * This is the business interface of the HelloWorld greetings service. + */ +@Remotable +public interface HelloWorldCallback { + + public void getGreetingsCallback(String name); +} diff --git a/branches/trunk-20080910/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldClientImpl.java b/branches/trunk-20080910/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldClientImpl.java new file mode 100644 index 0000000000..d2d898e9c4 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldClientImpl.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 helloworld; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; + +/** + * This client program shows how to create an SCA runtime, start it, + * locate the HelloWorld service and invoke it. + */ +@Scope("COMPOSITE") +public class HelloWorldClientImpl implements HelloWorldService, HelloWorldCallback { + + @Reference + protected HelloWorldService helloWorldService; + + public void getGreetings(String name) { + helloWorldService.getGreetings(name); + } + + public void getGreetingsCallback(String name) { + System.out.println("Callback " + name); + } + +}
\ No newline at end of file diff --git a/branches/trunk-20080910/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldService.java b/branches/trunk-20080910/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldService.java new file mode 100644 index 0000000000..d4fbd434fe --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldService.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package helloworld; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Remotable; + +/** + * This is the business interface of the HelloWorld greetings service. + */ +@Remotable +@Callback(HelloWorldCallback.class) +public interface HelloWorldService { + + public void getGreetings(String name); +} diff --git a/branches/trunk-20080910/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldServiceImpl.java b/branches/trunk-20080910/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldServiceImpl.java new file mode 100644 index 0000000000..a46f763960 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl-multiple/src/main/java/helloworld/HelloWorldServiceImpl.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package helloworld; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Service; + +/** + * This class implements the HelloWorld service. + */ +@Service(HelloWorldService.class) +public class HelloWorldServiceImpl implements HelloWorldService { + + @Callback + protected HelloWorldCallback helloWorldCallback; + + public void getGreetings(String name) { + helloWorldCallback.getGreetingsCallback(name); + } + +} diff --git a/branches/trunk-20080910/itest/wsdl-multiple/src/main/resources/auto-wsdl.composite b/branches/trunk-20080910/itest/wsdl-multiple/src/main/resources/auto-wsdl.composite new file mode 100644 index 0000000000..9d9ed57cc7 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl-multiple/src/main/resources/auto-wsdl.composite @@ -0,0 +1,44 @@ +<?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:wsdli="http://www.w3.org/2006/01/wsdl-instance" + name="autohelloworldws"> + + <component name="HelloWorldClientComponent"> + <implementation.java class="helloworld.HelloWorldClientImpl"/> + <reference name="helloWorldService"> + <binding.ws uri="http://localhost:8085/HelloWorldServiceComponent"/> + <callback> + <binding.ws uri="http://localhost:8085/HelloWorldClientComponent/helloWorldService"/> + </callback> + </reference> + </component> + + <component name="HelloWorldServiceComponent"> + <implementation.java class="helloworld.HelloWorldServiceImpl"/> + <service name="HelloWorldService"> + <interface.java interface="helloworld.HelloWorldService" callbackInterface="helloworld.HelloWorldCallback"/> + <binding.ws uri="http://localhost:8085/HelloWorldServiceComponent"/> + <callback> + <binding.ws uri="http://localhost:8085/HelloWorldClientComponent/helloWorldService"/> + </callback> + </service> + </component> +</composite>
\ No newline at end of file diff --git a/branches/trunk-20080910/itest/wsdl-multiple/src/main/resources/manual-wsdl.composite b/branches/trunk-20080910/itest/wsdl-multiple/src/main/resources/manual-wsdl.composite new file mode 100644 index 0000000000..0c1dc5d353 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl-multiple/src/main/resources/manual-wsdl.composite @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance" + name="manualhelloworldws"> + + <component name="HelloWorldClientComponent"> + <implementation.java class="helloworld.HelloWorldClientImpl"/> + <reference name="helloWorldService"> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldServiceSOAP11port)"/> + <callback> + <binding.ws uri="http://localhost:8085/HelloWorldClientComponent/helloWorldService" + wsdlElement="http://helloworld#wsdl.binding(HelloWorldCallbackSOAP11Binding)"/> + </callback> + </reference> + </component> + + <component name="HelloWorldServiceComponent"> + <implementation.java class="helloworld.HelloWorldServiceImpl"/> + <service name="HelloWorldService"> + <interface.java interface="helloworld.HelloWorldService" callbackInterface="helloworld.HelloWorldCallback"/> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldServiceSOAP11port)"/> + <callback> + <binding.ws uri="http://localhost:8085/HelloWorldClientComponent/helloWorldService" + wsdlElement="http://helloworld#wsdl.binding(HelloWorldCallbackSOAP11Binding)"/> + </callback> + </service> + </component> +</composite>
\ No newline at end of file diff --git a/branches/trunk-20080910/itest/wsdl-multiple/src/main/resources/wsdl/helloworld.HelloWorldCallback.wsdl b/branches/trunk-20080910/itest/wsdl-multiple/src/main/resources/wsdl/helloworld.HelloWorldCallback.wsdl new file mode 100644 index 0000000000..ea2f93c3e6 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl-multiple/src/main/resources/wsdl/helloworld.HelloWorldCallback.wsdl @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<wsdl:definitions targetNamespace="http://helloworld" + xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" + xmlns:ns="http://helloworld/xsd" + xmlns:axis2="http://helloworld"> + <wsdl:types> + <xs:schema attributeFormDefault="qualified" + elementFormDefault="qualified" + targetNamespace="http://helloworld/xsd" + xmlns:xs="http://www.w3.org/2001/XMLSchema"> + <xs:element name="getGreetingsCallback"> + <xs:complexType> + <xs:sequence> + <xs:element name="param0" nillable="true" + type="xs:string" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="getGreetingsCallbackResponse"> + <xs:complexType/> + </xs:element> + </xs:schema> + </wsdl:types> + <wsdl:message name="getGreetingsCallbackMessage"> + <wsdl:part name="part1" element="ns:getGreetingsCallback"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="getGreetingsCallbackResponseMessage"> + <wsdl:part name="part1" element="ns:getGreetingsCallbackResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="HelloWorldCallbackPortType"> + <wsdl:operation name="getGreetingsCallback"> + <wsdl:input message="axis2:getGreetingsCallbackMessage"> + </wsdl:input> + <wsdl:output message="axis2:getGreetingsCallbackResponseMessage"> + </wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="HelloWorldCallbackSOAP11Binding" + type="axis2:HelloWorldCallbackPortType"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="getGreetingsCallback"> + <soap:operation soapAction="urn:getGreetingsCallback" + style="document" /> + <wsdl:input> + <soap:body use="literal" namespace="http://helloworld" /> + </wsdl:input> + </wsdl:operation> + </wsdl:binding> + <wsdl:binding name="HelloWorldCallbackSOAP12Binding" + type="axis2:HelloWorldCallbackPortType"> + <soap12:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="getGreetingsCallback"> + <soap12:operation soapAction="urn:getGreetingsCallback" + style="document" /> + <wsdl:input> + <soap12:body use="literal" namespace="http://helloworld" /> + </wsdl:input> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="HelloWorldCallback"> + <wsdl:port name="HelloWorldCallbackSOAP11port" + binding="axis2:HelloWorldCallbackSOAP11Binding"> + <soap:address + location="http://localhost:8085/axis2/services/HelloWorldCallback" /> + </wsdl:port> + <wsdl:port name="HelloWorldCallbackSOAP12port" + binding="axis2:HelloWorldCallbackSOAP12Binding"> + <soap12:address + location="http://localhost:8085/axis2/services/HelloWorldCallback" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/branches/trunk-20080910/itest/wsdl-multiple/src/main/resources/wsdl/helloworld.HelloWorldService.wsdl b/branches/trunk-20080910/itest/wsdl-multiple/src/main/resources/wsdl/helloworld.HelloWorldService.wsdl new file mode 100644 index 0000000000..1e50e146f2 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl-multiple/src/main/resources/wsdl/helloworld.HelloWorldService.wsdl @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<wsdl:definitions targetNamespace="http://helloworld" + xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" + xmlns:ns="http://helloworld/xsd" + xmlns:axis2="http://helloworld"> + <wsdl:types> + <xs:schema attributeFormDefault="qualified" + elementFormDefault="qualified" + targetNamespace="http://helloworld/xsd" + xmlns:xs="http://www.w3.org/2001/XMLSchema"> + <xs:element name="getGreetings"> + <xs:complexType> + <xs:sequence> + <xs:element name="param0" nillable="true" type="xs:string" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="getGreetingsResponse"> + <xs:complexType/> + </xs:element> + </xs:schema> + </wsdl:types> + <wsdl:message name="getGreetingsMessage"> + <wsdl:part name="part1" element="ns:getGreetings"></wsdl:part> + </wsdl:message> + <wsdl:message name="getGreetingsResponseMessage"> + <wsdl:part name="part1" element="ns:getGreetingsResponse"></wsdl:part> + </wsdl:message> + <wsdl:portType name="HelloWorldServicePortType"> + <wsdl:operation name="getGreetings"> + <wsdl:input message="axis2:getGreetingsMessage"> + </wsdl:input> + <wsdl:output message="axis2:getGreetingsResponseMessage"> + </wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="HelloWorldServiceSOAP12Binding" + type="axis2:HelloWorldServicePortType"> + <soap12:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="getGreetings"> + <soap12:operation soapAction="urn:getGreetings" + style="document" /> + <wsdl:input> + <soap12:body use="literal" namespace="http://helloworld" /> + </wsdl:input> + </wsdl:operation> + </wsdl:binding> + <wsdl:binding name="HelloWorldServiceSOAP11Binding" + type="axis2:HelloWorldServicePortType"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="getGreetings"> + <soap:operation soapAction="urn:getGreetings" + style="document" /> + <wsdl:input> + <soap:body use="literal" namespace="http://helloworld" /> + </wsdl:input> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="HelloWorldService"> + <wsdl:port name="HelloWorldServiceSOAP11port" + binding="axis2:HelloWorldServiceSOAP11Binding"> + <soap:address + location="http://localhost:8085/axis2/services/HelloWorldService" /> + </wsdl:port> + <wsdl:port name="HelloWorldServiceSOAP12port" + binding="axis2:HelloWorldServiceSOAP12Binding"> + <soap12:address + location="http://localhost:8085/axis2/services/HelloWorldService" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/branches/trunk-20080910/itest/wsdl-multiple/src/test/java/org/apache/tuscany/sca/itest/AutoWSDLTestCase.java b/branches/trunk-20080910/itest/wsdl-multiple/src/test/java/org/apache/tuscany/sca/itest/AutoWSDLTestCase.java new file mode 100644 index 0000000000..6a872faa17 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl-multiple/src/test/java/org/apache/tuscany/sca/itest/AutoWSDLTestCase.java @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest; + +import static junit.framework.Assert.assertEquals; +import helloworld.HelloWorldService; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the behaviour of the system when multiple WSDLs appear in the contribution + * with the same namespace + */ +public class AutoWSDLTestCase { + + private static SCADomain domain; + + @BeforeClass + public static void init() throws Throwable { + try { + domain = SCADomain.newInstance("auto-wsdl.composite"); + } catch(Exception ex){ + ex.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + if ( domain != null){ + domain.close(); + } + } + + @Test + public void testLoadWSDL() { + try { + HelloWorldService client = domain.getService(HelloWorldService.class, "HelloWorldClientComponent/HelloWorldService"); + client.getGreetings("petra"); + } catch(Exception ex){ + ex.printStackTrace(); + } + //assertEquals("Hi petra", client.getGreetings("petra")); + } + +} diff --git a/branches/trunk-20080910/itest/wsdl-multiple/src/test/java/org/apache/tuscany/sca/itest/ManualWSDLTestCase.java b/branches/trunk-20080910/itest/wsdl-multiple/src/test/java/org/apache/tuscany/sca/itest/ManualWSDLTestCase.java new file mode 100644 index 0000000000..5852f8d802 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl-multiple/src/test/java/org/apache/tuscany/sca/itest/ManualWSDLTestCase.java @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest; + +import static junit.framework.Assert.assertEquals; +import helloworld.HelloWorldService; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the behaviour of the system when multiple WSDLs appear in the contribution + * with the same namespace + */ +public class ManualWSDLTestCase { + + private static SCADomain domain; + + @BeforeClass + public static void init() throws Throwable { + try { + domain = SCADomain.newInstance("manual-wsdl.composite"); + } catch(Exception ex){ + ex.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + if (domain != null){ + domain.close(); + } + } + + @Test + public void testLoadWSDL() { + try { + HelloWorldService client = domain.getService(HelloWorldService.class, "HelloWorldClientComponent/HelloWorldService"); + client.getGreetings("petra"); + } catch(Exception ex){ + ex.printStackTrace(); + } + //assertEquals("Hi petra", client.getGreetings("petra")); + } + +} diff --git a/branches/trunk-20080910/itest/wsdl/pom.xml b/branches/trunk-20080910/itest/wsdl/pom.xml new file mode 100644 index 0000000000..9c48a604b5 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/pom.xml @@ -0,0 +1,135 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-itest</artifactId> + <version>1.4-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>itest-wsdl</artifactId> + <name>Apache Tuscany SCA WSDL Support Integration Tests</name> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-embedded</artifactId> + <version>1.4-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-java-runtime</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-interface-wsdl</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-axis2</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-databinding-sdo</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-databinding-axiom</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-jetty</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sdo</groupId> + <artifactId>tuscany-sdo-impl</artifactId> + <version>1.1.1</version> + <scope>compile</scope> + </dependency> + + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>1.0</version> + <executions> + <execution> + <id>add-source</id> + <phase>generate-sources</phase> + <goals> + <goal>add-source</goal> + </goals> + <configuration> + <sources> + <source>target/sdo-source</source> + </sources> + </configuration> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.apache.tuscany.sdo</groupId> + <artifactId>tuscany-sdo-plugin</artifactId> + <version>1.1.1</version> + <executions> + <execution> + <id>generate-sdo</id> + <phase>generate-sources</phase> + <configuration> + <schemaFile>${basedir}/src/main/resources/wsdl/AccountService.wsdl</schemaFile> + <javaPackage>com.bigbank.account</javaPackage> + <prefix>Account</prefix> + <noNotification>true</noNotification> + <noContainer>true</noContainer> + <noUnsettable>true</noUnsettable> + </configuration> + <goals> + <goal>generate</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/AccountDataService.java b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/AccountDataService.java new file mode 100644 index 0000000000..265b11f7dd --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/AccountDataService.java @@ -0,0 +1,92 @@ +/* + * 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 bigbank.account.services.accountdata; + +import org.osoa.sca.annotations.AllowsPassByReference; +import org.osoa.sca.annotations.Remotable; + +@Remotable +@AllowsPassByReference +public interface AccountDataService { + + /** + * Auto generated method signatures + * + * @param param0* + * @param param1* + * @param param2 + */ + public com.bigbank.account.StockSummary purchaseStock(int param0, com.bigbank.account.StockSummary parm1) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param4 + */ + public com.bigbank.account.CustomerProfileData getCustomerProfile(java.lang.String param4) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param6* + * @param param7 + */ + public float deposit(java.lang.String param6, float param7) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param9* + * @param param10* + * @param param11 + */ + public com.bigbank.account.CustomerProfileData createAccount(com.bigbank.account.CustomerProfileData param9, boolean param10, boolean param11) + throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param13* + * @param param14 + */ + public com.bigbank.account.StockSummary sellStock(int param13, int param14) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param16* + * @param param17 + */ + public float withdraw(java.lang.String param16, float param17) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param19 + */ + public com.bigbank.account.AccountReport getAccountReport(int param19) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param0 + */ + public com.bigbank.account.AccountLog getAccountLog(int param0) throws java.rmi.RemoteException; + +} diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/AccountDataServiceImpl.java b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/AccountDataServiceImpl.java new file mode 100644 index 0000000000..f8c9c28f26 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/AccountDataServiceImpl.java @@ -0,0 +1,93 @@ +/* + * 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 bigbank.account.services.accountdata; + +import java.rmi.RemoteException; + +import org.osoa.sca.annotations.Service; + +import com.bigbank.account.AccountFactory; +import com.bigbank.account.AccountLog; +import com.bigbank.account.AccountReport; +import com.bigbank.account.AccountSummary; +import com.bigbank.account.CustomerProfileData; +import com.bigbank.account.StockSummary; + +@Service(AccountDataService.class) +public class AccountDataServiceImpl implements AccountDataService { + + public CustomerProfileData getCustomerProfile(String logonID) throws RemoteException { + + return null; + } + + public AccountReport getAccountReport(int customerID) { + + AccountReport report =AccountFactory.INSTANCE.createAccountReport(); + AccountSummary summary1 = AccountFactory.INSTANCE.createAccountSummary(); + summary1.setAccountNumber("123"); + summary1.setAccountType("checking"); + summary1.setBalance(1000.0f); + report.getAccountSummaries().add(summary1); + AccountSummary summary2 = AccountFactory.INSTANCE.createAccountSummary(); + summary2.setAccountNumber("456"); + summary2.setAccountType("savings"); + summary2.setBalance(2000.0f); + report.getAccountSummaries().add(summary2); + + return report; + } + + public CustomerProfileData createAccount(CustomerProfileData customerProfile, boolean createSavings, boolean createCheckings) + throws RemoteException { + CustomerProfileData data = AccountFactory.INSTANCE.createCustomerProfileData(); + data.setLoginID(customerProfile.getLoginID()); + data.setAddress(customerProfile.getAddress()); + data.setEmail(customerProfile.getEmail()); + data.setFirstName(customerProfile.getFirstName()); + data.setId(customerProfile.getId()); + data.setLastName(customerProfile.getLastName()); + data.setPassword(customerProfile.getPassword()); + return data; + } + + public float deposit(String param6, float param7) throws RemoteException { + + return 0; + } + + public StockSummary purchaseStock(int param0, StockSummary stock) throws RemoteException { + + return null; + } + + public StockSummary sellStock(int param13, int param14) throws RemoteException { + + return null; + } + + public float withdraw(String param16, float param17) throws RemoteException { + + return 0; + } + + public AccountLog getAccountLog(final int customerID) throws RemoteException { + throw new RemoteException("This method should not be called"); + } +} diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/AccountServiceClientImpl.java b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/AccountServiceClientImpl.java new file mode 100644 index 0000000000..f16d20689d --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/AccountServiceClientImpl.java @@ -0,0 +1,79 @@ +/* + * 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 bigbank.account.services.accountdata; + +import java.rmi.RemoteException; + +import org.osoa.sca.annotations.Reference; + +import com.bigbank.account.AccountLog; +import com.bigbank.account.AccountReport; +import com.bigbank.account.CustomerProfileData; +import com.bigbank.account.StockSummary; + +public class AccountServiceClientImpl implements AccountDataService { + + AccountDataService accountService; + + @Reference + public void setAccountService(AccountDataService accountService) { + this.accountService = accountService; + } + + public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) throws RemoteException { + return accountService.createAccount(param9, param10, param11); + } + + public float deposit(String param6, float param7) throws RemoteException { + + return 0; + } + + public AccountLog getAccountLog(int param0) throws RemoteException { + + return null; + } + + public AccountReport getAccountReport(int param19) throws RemoteException { + + return accountService.getAccountReport(param19); + } + + public CustomerProfileData getCustomerProfile(String param4) throws RemoteException { + + return null; + } + + public StockSummary purchaseStock(int param0, StockSummary parm1) throws RemoteException { + + return null; + } + + public StockSummary sellStock(int param13, int param14) throws RemoteException { + + return null; + } + + public float withdraw(String param16, float param17) throws RemoteException { + + return 0; + } + +} diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component2aImpl.java b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component2aImpl.java new file mode 100644 index 0000000000..cba6f2ee6c --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component2aImpl.java @@ -0,0 +1,79 @@ +/* + * 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 bigbank.account.services.accountdata; + +import java.rmi.RemoteException; + +import org.osoa.sca.annotations.Reference; + +import com.bigbank.account.AccountLog; +import com.bigbank.account.AccountReport; +import com.bigbank.account.CustomerProfileData; +import com.bigbank.account.StockSummary; + +public class Component2aImpl implements AccountDataService { + + AccountDataService accountService; + + @Reference + public void setAccountService(AccountDataService accountService) { + this.accountService = accountService; + } + + public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) throws RemoteException { + return accountService.createAccount(param9, param10, param11); + } + + public float deposit(String param6, float param7) throws RemoteException { + + return 0; + } + + public AccountLog getAccountLog(int param0) throws RemoteException { + + return null; + } + + public AccountReport getAccountReport(int param19) throws RemoteException { + + return accountService.getAccountReport(param19); + } + + public CustomerProfileData getCustomerProfile(String param4) throws RemoteException { + + return null; + } + + public StockSummary purchaseStock(int param0, StockSummary parm1) throws RemoteException { + + return null; + } + + public StockSummary sellStock(int param13, int param14) throws RemoteException { + + return null; + } + + public float withdraw(String param16, float param17) throws RemoteException { + + return 0; + } + +} diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component2bImpl.java b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component2bImpl.java new file mode 100644 index 0000000000..9f15be0236 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component2bImpl.java @@ -0,0 +1,79 @@ +/* + * 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 bigbank.account.services.accountdata; + +import java.rmi.RemoteException; + +import org.osoa.sca.annotations.Reference; + +import com.bigbank.account.AccountLog; +import com.bigbank.account.AccountReport; +import com.bigbank.account.CustomerProfileData; +import com.bigbank.account.StockSummary; + +public class Component2bImpl implements AccountDataService { + + AccountDataService accountService; + + @Reference + public void setAccountService(AccountDataService accountService) { + this.accountService = accountService; + } + + public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) throws RemoteException { + return accountService.createAccount(param9, param10, param11); + } + + public float deposit(String param6, float param7) throws RemoteException { + + return 0; + } + + public AccountLog getAccountLog(int param0) throws RemoteException { + + return null; + } + + public AccountReport getAccountReport(int param19) throws RemoteException { + + return accountService.getAccountReport(param19); + } + + public CustomerProfileData getCustomerProfile(String param4) throws RemoteException { + + return null; + } + + public StockSummary purchaseStock(int param0, StockSummary parm1) throws RemoteException { + + return null; + } + + public StockSummary sellStock(int param13, int param14) throws RemoteException { + + return null; + } + + public float withdraw(String param16, float param17) throws RemoteException { + + return 0; + } + +} diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component3aImpl.java b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component3aImpl.java new file mode 100644 index 0000000000..f174e1af07 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component3aImpl.java @@ -0,0 +1,79 @@ +/* + * 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 bigbank.account.services.accountdata; + +import java.rmi.RemoteException; + +import org.osoa.sca.annotations.Reference; + +import com.bigbank.account.AccountLog; +import com.bigbank.account.AccountReport; +import com.bigbank.account.CustomerProfileData; +import com.bigbank.account.StockSummary; + +public class Component3aImpl implements AccountDataService { + + AccountDataService accountService; + + @Reference + public void setAccountService(AccountDataService accountService) { + this.accountService = accountService; + } + + public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) throws RemoteException { + return accountService.createAccount(param9, param10, param11); + } + + public float deposit(String param6, float param7) throws RemoteException { + + return 0; + } + + public AccountLog getAccountLog(int param0) throws RemoteException { + + return null; + } + + public AccountReport getAccountReport(int param19) throws RemoteException { + + return accountService.getAccountReport(param19); + } + + public CustomerProfileData getCustomerProfile(String param4) throws RemoteException { + + return null; + } + + public StockSummary purchaseStock(int param0, StockSummary parm1) throws RemoteException { + + return null; + } + + public StockSummary sellStock(int param13, int param14) throws RemoteException { + + return null; + } + + public float withdraw(String param16, float param17) throws RemoteException { + + return 0; + } + +} diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component3bImpl.java b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component3bImpl.java new file mode 100644 index 0000000000..4a5b7bceef --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/Component3bImpl.java @@ -0,0 +1,79 @@ +/* + * 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 bigbank.account.services.accountdata; + +import java.rmi.RemoteException; + +import org.osoa.sca.annotations.Reference; + +import com.bigbank.account.AccountLog; +import com.bigbank.account.AccountReport; +import com.bigbank.account.CustomerProfileData; +import com.bigbank.account.StockSummary; + +public class Component3bImpl implements AccountDataService { + + AccountDataService accountService; + + @Reference + public void setAccountService(AccountDataService accountService) { + this.accountService = accountService; + } + + public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) throws RemoteException { + return accountService.createAccount(param9, param10, param11); + } + + public float deposit(String param6, float param7) throws RemoteException { + + return 0; + } + + public AccountLog getAccountLog(int param0) throws RemoteException { + + return null; + } + + public AccountReport getAccountReport(int param19) throws RemoteException { + + return accountService.getAccountReport(param19); + } + + public CustomerProfileData getCustomerProfile(String param4) throws RemoteException { + + return null; + } + + public StockSummary purchaseStock(int param0, StockSummary parm1) throws RemoteException { + + return null; + } + + public StockSummary sellStock(int param13, int param14) throws RemoteException { + + return null; + } + + public float withdraw(String param16, float param17) throws RemoteException { + + return 0; + } + +} diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/CustomerIdService.java b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/CustomerIdService.java new file mode 100644 index 0000000000..e747eb041f --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/bigbank/account/services/accountdata/CustomerIdService.java @@ -0,0 +1,98 @@ +/* + * 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 bigbank.account.services.accountdata; + +import java.rmi.RemoteException; + +/** + * This interface allows access to a customer's id from the data service. + */ +public interface CustomerIdService { + + /* + * Return -1 if purchaseLotNumber not found + */ + public int getCustomerIdByPurchaseLotNumber(int purchaseLotNumber) throws RemoteException; + + /* + * Return -1 if account not found + */ + public int getCustomerIdByAccount(String account) throws RemoteException; + + // TODO (isilval) Fix this !!! + // Apparently, configuration can't deal with extends so I am adding the contents of AccountDataService here + + /** + * Auto generated method signatures + * + * @param param0* + * @param param1* + * @param param2 + */ + public com.bigbank.account.StockSummary purchaseStock(int param0, com.bigbank.account.StockSummary parm1) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param4 + */ + public com.bigbank.account.CustomerProfileData getCustomerProfile(java.lang.String param4) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param6* + * @param param7 + */ + public float deposit(java.lang.String param6, float param7) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param9* + * @param param10* + * @param param11 + */ + public com.bigbank.account.CustomerProfileData createAccount(com.bigbank.account.CustomerProfileData param9, boolean param10, boolean param11) + throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param13* + * @param param14 + */ + public com.bigbank.account.StockSummary sellStock(int param13, int param14) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param16* + * @param param17 + */ + public float withdraw(java.lang.String param16, float param17) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param19 + */ + public com.bigbank.account.AccountReport getAccountReport(int param19) throws java.rmi.RemoteException; + +} diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/helloworld/HelloWorldImpl.java b/branches/trunk-20080910/itest/wsdl/src/main/java/helloworld/HelloWorldImpl.java new file mode 100644 index 0000000000..c9076ebba6 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/helloworld/HelloWorldImpl.java @@ -0,0 +1,33 @@ +/* + * 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.Service; + +/** + * This class implements the HelloWorld service. + */ +@Service(HelloWorldService.class) +public class HelloWorldImpl implements HelloWorldService { + + public String getGreetings(String name) { + return "Hi " + name; + } + +} diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/helloworld/HelloWorldService.java b/branches/trunk-20080910/itest/wsdl/src/main/java/helloworld/HelloWorldService.java new file mode 100644 index 0000000000..268d90e910 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/helloworld/HelloWorldService.java @@ -0,0 +1,30 @@ +/* + * 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.Remotable; + +/** + * This is the business interface of the HelloWorld greetings service. + */ +@Remotable +public interface HelloWorldService { + + public String getGreetings(String name); +} diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/helloworld/HelloWorldServiceComponent.java b/branches/trunk-20080910/itest/wsdl/src/main/java/helloworld/HelloWorldServiceComponent.java new file mode 100644 index 0000000000..d706517b76 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/helloworld/HelloWorldServiceComponent.java @@ -0,0 +1,43 @@ +/* + * 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.Scope; + +/** + * This client program shows how to create an SCA runtime, start it, + * locate the HelloWorld service and invoke it. + */ +@Scope("COMPOSITE") +public class HelloWorldServiceComponent implements HelloWorldService { + + HelloWorldService helloWorldService; + + public String getGreetings(String name) { + return helloWorldService.getGreetings(name); + } + + public HelloWorldService getHelloWorldService() { + return helloWorldService; + } + + public void setHelloWorldService(HelloWorldService helloWorldService) { + this.helloWorldService = helloWorldService; + } +}
\ No newline at end of file diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component2aImpl.java b/branches/trunk-20080910/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component2aImpl.java new file mode 100644 index 0000000000..9d147dc013 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component2aImpl.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest; + +import helloworld.HelloWorldService; + +import org.osoa.sca.annotations.Reference; + +public class Component2aImpl implements HelloWorldService { + + private HelloWorldService comp; + + @Reference + public void setComp(HelloWorldService comp) { + this.comp = comp; + } + public String getGreetings(String s) { + return comp.getGreetings(s); + } + +} diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component2bImpl.java b/branches/trunk-20080910/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component2bImpl.java new file mode 100644 index 0000000000..7556e02b36 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component2bImpl.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest; + +import helloworld.HelloWorldService; + +import org.osoa.sca.annotations.Reference; + +public class Component2bImpl implements HelloWorldService { + + private HelloWorldService comp; + + @Reference + public void setComp(HelloWorldService comp) { + this.comp = comp; + } + + public String getGreetings(String s) { + return comp.getGreetings(s); + } + +} diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component3aImpl.java b/branches/trunk-20080910/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component3aImpl.java new file mode 100644 index 0000000000..e7031ff41c --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component3aImpl.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest; + +import helloworld.HelloWorldService; + +import org.osoa.sca.annotations.Reference; + +public class Component3aImpl implements HelloWorldService { + + private HelloWorldService comp; + + @Reference + public void setComp(HelloWorldService comp) { + this.comp = comp; + } + + public String getGreetings(String s) { + return comp.getGreetings(s); + } + +} diff --git a/branches/trunk-20080910/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component3bImpl.java b/branches/trunk-20080910/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component3bImpl.java new file mode 100644 index 0000000000..7a049ed7b0 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/java/org/apache/tuscany/sca/itest/Component3bImpl.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest; + +import helloworld.HelloWorldService; + +import org.osoa.sca.annotations.Reference; + +public class Component3bImpl implements HelloWorldService { + + private HelloWorldService comp; + + @Reference + public void setComp(HelloWorldService comp) { + this.comp = comp; + } + + public String getGreetings(String s) { + return comp.getGreetings(s); + } + +} diff --git a/branches/trunk-20080910/itest/wsdl/src/main/resources/SDOWSDLTest.composite b/branches/trunk-20080910/itest/wsdl/src/main/resources/SDOWSDLTest.composite new file mode 100644 index 0000000000..62596ee62a --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/resources/SDOWSDLTest.composite @@ -0,0 +1,344 @@ +<?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:wsdli="http://www.w3.org/2006/01/wsdl-instance" name="SDOWSDLTest"> + + <!-- dbsdo:import.sdo xmlns:dbsdo="http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0" + factory="com.bigbank.account.AccountFactory" / --> + + <service name="AccountService1a2a3a4a" promote="Component2a3a4a"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1a2a3a4a"/> + </service> + <service name="AccountService1a2a3a4b" promote="Component2a3a4b"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1a2a3a4b"/> + </service> + <service name="AccountService1a2a3b4a" promote="Component2a3b4a"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1a2a3b4a"/> + </service> + <service name="AccountService1a2a3b4b" promote="Component2a3b4b"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1a2a3b4b"/> + </service> + <service name="AccountService1a2b3a4a" promote="Component2b3a4a"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1a2b3a4a"/> + </service> + <service name="AccountService1a2b3a4b" promote="Component2b3a4b"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1a2b3a4b"/> + </service> + <service name="AccountService1a2b3b4a" promote="Component2b3b4a"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1a2b3b4a"/> + </service> + <service name="AccountService1a2b3b4b" promote="Component2b3b4b"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1a2b3b4b"/> + </service> + <service name="AccountService1b2a3a4a" promote="Component2a3a4a"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1b2a3a4a"/> + </service> + <service name="AccountService1b2a3a4b" promote="Component2a3a4b"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1b2a3a4b"/> + </service> + <service name="AccountService1b2a3b4a" promote="Component2a3b4a"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1b2a3b4a"/> + </service> + <service name="AccountService1b2a3b4b" promote="Component2a3b4b"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1b2a3b4b"/> + </service> + <service name="AccountService1b2b3a4a" promote="Component2b3a4a"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1b2b3a4a"/> + </service> + <service name="AccountService1b2b3a4b" promote="Component2b3a4b"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1b2b3a4b"/> + </service> + <service name="AccountService1b2b3b4a" promote="Component2b3b4a"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1b2b3b4a"/> + </service> + <service name="AccountService1b2b3b4b" promote="Component2b3b4b"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService1b2b3b4b"/> + </service> + + <component name="Component2a3a4a"> + <implementation.java class="bigbank.account.services.accountdata.Component2aImpl" /> + <reference name="accountService" target="Component3a4a"/> + </component> + <component name="Component2a3a4b"> + <implementation.java class="bigbank.account.services.accountdata.Component2aImpl" /> + <reference name="accountService" target="Component3a4b"/> + </component> + <component name="Component2a3b4a"> + <implementation.java class="bigbank.account.services.accountdata.Component2aImpl" /> + <reference name="accountService" target="Component3b4a"/> + </component> + <component name="Component2a3b4b"> + <implementation.java class="bigbank.account.services.accountdata.Component2aImpl" /> + <reference name="accountService" target="Component3b4b"/> + </component> + + <component name="Component2b3a4a"> + <implementation.java class="bigbank.account.services.accountdata.Component2bImpl" /> + <reference name="accountService" target="Component3a4a"/> + </component> + <component name="Component2b3a4b"> + <implementation.java class="bigbank.account.services.accountdata.Component2bImpl" /> + <reference name="accountService" target="Component3a4b"/> + </component> + <component name="Component2b3b4a"> + <implementation.java class="bigbank.account.services.accountdata.Component2bImpl" /> + <reference name="accountService" target="Component3b4a"/> + </component> + <component name="Component2b3b4b"> + <implementation.java class="bigbank.account.services.accountdata.Component2bImpl" /> + <reference name="accountService" target="Component3b4b"/> + </component> + + <component name="Component3a4a"> + <implementation.java class="bigbank.account.services.accountdata.Component3aImpl" /> + </component> + <reference name="Component3a4aRef" promote="Component3a4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService" /> + </reference> + + <component name="Component3a4b"> + <implementation.java class="bigbank.account.services.accountdata.Component3aImpl" /> + </component> + <reference name="Component3a4bRef" promote="Component3a4b/accountService"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService" /> + </reference> + + <component name="Component3b4a"> + <implementation.java class="bigbank.account.services.accountdata.Component3bImpl" /> + </component> + <reference name="Component3b4aRef" promote="Component3b4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService" /> + </reference> + + <component name="Component3b4b"> + <implementation.java class="bigbank.account.services.accountdata.Component3bImpl" /> + </component> + <reference name="Component3b4bRef" promote="Component3b4b/accountService"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService" /> + </reference> + + <!-- target service --> + + <service name="AccountService" promote="AccountServiceComponent"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" uri="http://localhost:8085/AccountService"/> + </service> + + <component name="AccountServiceComponent"> + <implementation.java class="bigbank.account.services.accountdata.AccountDataServiceImpl" /> + </component> + + <!-- test client --> + + <component name="AccountServiceClient"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="AccountServiceRef" promote="AccountServiceClient/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)"/> + </reference> + + <!-- clients --> + + <component name="Client1a2a3a4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1a2a3a4a" promote="Client1a2a3a4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1a2a3a4a" /> + </reference> + + <component name="Client1a2a3a4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl"/> + </component> + + <reference name="ClientRef1a2a3a4b" promote="Client1a2a3a4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1a2a3a4b" /> + </reference> + + <component name="Client1a2a3b4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1a2a3b4a" promote="Client1a2a3b4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1a2a3b4a" /> + </reference> + + <component name="Client1a2a3b4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1a2a3b4b" promote="Client1a2a3b4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1a2a3b4b" /> + </reference> + + <component name="Client1a2b3a4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1a2b3a4a" promote="Client1a2b3a4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1a2b3a4a" /> + </reference> + + <component name="Client1a2b3a4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1a2b3a4b" promote="Client1a2b3a4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1a2b3a4b" /> + </reference> + + <component name="Client1a2b3b4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1a2b3b4a" promote="Client1a2b3b4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1a2b3b4a" /> + </reference> + + <component name="Client1a2b3b4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1a2b3b4b" promote="Client1a2b3b4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1a2b3b4b" /> + </reference> + + <component name="Client1b2a3a4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2a3a4a" promote="Client1b2a3a4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1b2a3a4a" /> + </reference> + + <component name="Client1b2a3a4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2a3a4b" promote="Client1b2a3a4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1b2a3a4b" /> + </reference> + + <component name="Client1b2a3b4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2a3b4a" promote="Client1b2a3b4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1b2a3b4a" /> + </reference> + + <component name="Client1b2a3b4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2a3b4b" promote="Client1b2a3b4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1b2a3b4b" /> + </reference> + + <component name="Client1b2b3a4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2b3a4a" promote="Client1b2b3a4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1b2b3a4a" /> + </reference> + + <component name="Client1b2b3a4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2b3a4b" promote="Client1b2b3a4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1b2b3a4b" /> + </reference> + + <component name="Client1b2b3b4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2b3b4a" promote="Client1b2b3b4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1b2b3b4a" /> + </reference> + + <component name="Client1b2b3b4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2b3b4b" promote="Client1b2b3b4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws wsdlElement="http://www.bigbank.com/account#wsdl.endpoint(AccountService/AccountServiceSOAP)" + uri="http://localhost:8085/AccountService1b2b3b4b" /> + </reference> + +</composite> diff --git a/branches/trunk-20080910/itest/wsdl/src/main/resources/WSDLTest.composite b/branches/trunk-20080910/itest/wsdl/src/main/resources/WSDLTest.composite new file mode 100644 index 0000000000..2024578dae --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/resources/WSDLTest.composite @@ -0,0 +1,371 @@ +<?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" + + name="WSDLTest"> + + <service name="HelloWorldService1a2a3a4a" promote="Component2a3a4a" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1a2a3a4a"/> + </service> + <service name="HelloWorldService1a2a3a4b" promote="Component2a3a4b" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1a2a3a4b"/> + </service> + <service name="HelloWorldService1a2a3b4a" promote="Component2a3b4a" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1a2a3b4a"/> + </service> + <service name="HelloWorldService1a2a3b4b" promote="Component2a3b4b" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1a2a3b4b"/> + </service> + <service name="HelloWorldService1a2b3a4a" promote="Component2b3a4a" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1a2b3a4a"/> + </service> + <service name="HelloWorldService1a2b3a4b" promote="Component2b3a4b" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1a2b3a4b"/> + </service> + <service name="HelloWorldService1a2b3b4a" promote="Component2b3b4a" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1a2b3b4a"/> + </service> + <service name="HelloWorldService1a2b3b4b" promote="Component2b3b4b" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1a2b3b4b"/> + </service> + + <service name="HelloWorldService1b2a3a4a" promote="Component2a3a4a" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1b2a3a4a"/> + </service> + <service name="HelloWorldService1b2a3a4b" promote="Component2a3a4b" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1b2a3a4b"/> + </service> + <service name="HelloWorldService1b2a3b4a" promote="Component2a3b4a" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1b2a3b4a"/> + </service> + <service name="HelloWorldService1b2a3b4b" promote="Component2a3b4b" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1b2a3b4b"/> + </service> + <service name="HelloWorldService1b2b3a4a" promote="Component2b3a4a" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1b2b3a4a"/> + </service> + <service name="HelloWorldService1b2b3a4b" promote="Component2b3a4b" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1b2b3a4b"/> + </service> + <service name="HelloWorldService1b2b3b4a" promote="Component2b3b4a" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1b2b3b4a"/> + </service> + <service name="HelloWorldService1b2b3b4b" promote="Component2b3b4b" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldService1b2b3b4b"/> + </service> + + <component name="Component2a3a4a"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2aImpl"/> + <reference name="comp" target="Component3a4a" /> + </component> + <component name="Component2a3a4b"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2aImpl"/> + <reference name="comp" target="Component3a4b" /> + </component> + <component name="Component2a3b4a"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2aImpl"/> + <reference name="comp" target="Component3b4a" /> + </component> + <component name="Component2a3b4b"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2aImpl"/> + <reference name="comp" target="Component3b4b" /> + </component> + + <component name="Component2b3a4a"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2bImpl"/> + <reference name="comp" target="Component3a4a" /> + </component> + <component name="Component2b3a4b"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2bImpl"/> + <reference name="comp" target="Component3a4b" /> + </component> + <component name="Component2b3b4a"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2bImpl"/> + <reference name="comp" target="Component3b4a" /> + </component> + <component name="Component2b3b4b"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2bImpl"/> + <reference name="comp" target="Component3b4b" /> + </component> + + <component name="Component3a4a"> + <implementation.java class="org.apache.tuscany.sca.itest.Component3aImpl"/> + <reference name="comp" /> + </component> + <reference name="Component3a4aRef" promote="Component3a4a/comp" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldWebService" /> + </reference> + + <component name="Component3a4b"> + <implementation.java class="org.apache.tuscany.sca.itest.Component3aImpl"/> + <reference name="comp" /> + </component> + <reference name="Component3a4bRef" promote="Component3a4b/comp" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldWebService" /> + </reference> + + <component name="Component3b4a"> + <implementation.java class="org.apache.tuscany.sca.itest.Component3bImpl"/> + <reference name="comp" /> + </component> + <reference name="Component3b4aRef" promote="Component3b4a/comp" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldWebService" /> + </reference> + + <component name="Component3b4b"> + <implementation.java class="org.apache.tuscany.sca.itest.Component3bImpl"/> + <reference name="comp" /> + </component> + <reference name="Component3b4bRef" promote="Component3b4b/comp" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldWebService" /> + </reference> + + +<!-- the servive --> + + <service name="HelloWorldWebService" promote="HelloWorldServiceComponent" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" uri="http://localhost:8085/HelloWorldWebService"/> + </service> + + <component name="HelloWorldServiceComponent"> + <implementation.java class="helloworld.HelloWorldImpl" /> + </component> + +<!-- the clients --> + + <component name="Client1a2a3a4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2a3a4a" promote="Client1a2a3a4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1a2a3a4a" /> + </reference> + + <component name="Client1a2a3a4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2a3a4b" promote="Client1a2a3a4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1a2a3a4b" /> + </reference> + + <component name="Client1a2a3b4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2a3b4a" promote="Client1a2a3b4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1a2a3b4a" /> + </reference> + + <component name="Client1a2a3b4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2a3b4b" promote="Client1a2a3b4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1a2a3b4b" /> + </reference> + + <component name="Client1a2b3a4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2b3a4a" promote="Client1a2b3a4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1a2b3a4a" /> + </reference> + + <component name="Client1a2b3a4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2b3a4b" promote="Client1a2b3a4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1a2b3a4b" /> + </reference> + + <component name="Client1a2b3b4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2b3b4a" promote="Client1a2b3b4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1a2b3b4a" /> + </reference> + + <component name="Client1a2b3b4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2b3b4b" promote="Client1a2b3b4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1a2b3b4b" /> + </reference> + + <component name="Client1b2a3a4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2a3a4a" promote="Client1b2a3a4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1b2a3a4a" /> + </reference> + + <component name="Client1b2a3a4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2a3a4b" promote="Client1b2a3a4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1b2a3a4b" /> + </reference> + + <component name="Client1b2a3b4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2a3b4a" promote="Client1b2a3b4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1b2a3b4a" /> + </reference> + + <component name="Client1b2a3b4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2a3b4b" promote="Client1b2a3b4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1b2a3b4b" /> + </reference> + + <component name="Client1b2b3a4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2b3a4a" promote="Client1b2b3a4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1b2b3a4a" /> + </reference> + + <component name="Client1b2b3a4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2b3a4b" promote="Client1b2b3a4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)"/> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1b2b3a4b" /> + </reference> + + <component name="Client1b2b3b4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2b3b4a" promote="Client1b2b3b4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1b2b3b4a" /> + </reference> + + <component name="Client1b2b3b4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2b3b4b" promote="Client1b2b3b4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" + uri="http://localhost:8085/HelloWorldService1b2b3b4b" /> + </reference> + +</composite> diff --git a/branches/trunk-20080910/itest/wsdl/src/main/resources/wsdl/AccountService.wsdl b/branches/trunk-20080910/itest/wsdl/src/main/resources/wsdl/AccountService.wsdl new file mode 100644 index 0000000000..73f9ed4bfc --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/resources/wsdl/AccountService.wsdl @@ -0,0 +1,453 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:account="http://www.bigbank.com/account" + targetNamespace="http://www.bigbank.com/account" + name="AccountService"> + + <wsdl:types> + <xsd:schema targetNamespace="http://www.bigbank.com/account" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:account="http://www.bigbank.com/account"> + + <xsd:element name="getAccountReport"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerID" + type="xsd:int" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getAccountReportResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="accountReport" + type="account:AccountReport" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="AccountReport"> + <xsd:sequence> + <xsd:element name="accountSummaries" + type="account:AccountSummary" maxOccurs="unbounded" /> + <xsd:element name="stockSummaries" + type="account:StockSummary" maxOccurs="unbounded" /> + + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="AccountSummary"> + <xsd:attribute name="accountNumber" type="xsd:string" /> + <xsd:attribute name="accountType" type="xsd:string" /> + <xsd:attribute name="balance" type="xsd:float" /> + </xsd:complexType> + + <xsd:complexType name="StockSummary"> + <!-- xsd:attribute name="id" type="xsd:int" / --> + <xsd:attribute name="purchaseLotNumber" type="xsd:int" /> + <!-- unique id for this purchase --> + <xsd:attribute name="symbol" type="xsd:string" /> + <xsd:attribute name="quantity" type="xsd:int" /> + <xsd:attribute name="purchaseDate" type="xsd:dateTime" /> + <xsd:attribute name="purchasePrice" type="xsd:float" /> + <xsd:attribute name="currentPrice" type="xsd:float" /> + <xsd:attribute name="company" type="xsd:string" /> + <xsd:attribute name="highPrice" type="xsd:float" /> + <xsd:attribute name="lowPrice" type="xsd:float" /> + + </xsd:complexType> + + <!-- Profile in data base --> + <xsd:element name="getCustomerProfile"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="loginID" type="xsd:string" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="CustomerProfileData"> + <xsd:sequence> + <xsd:element name="firstName" type="xsd:string" /> + <xsd:element name="lastName" type="xsd:string" /> + <xsd:element name="address" type="xsd:string" /> + <xsd:element name="email" type="xsd:string" /> + <xsd:element name="loginID" type="xsd:string" /> + <xsd:element name="password" type="xsd:string" /> + <xsd:element name="id" type="xsd:int" /> + </xsd:sequence> + </xsd:complexType> + + <xsd:element name="getCustomerProfileResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerProfile" + type="account:CustomerProfileData" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="withdraw"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="accountNumber" + type="xsd:string" /> + <xsd:element name="amount" type="xsd:float" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="withdrawResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="balance" type="xsd:float" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="deposit"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="accountNumber" + type="xsd:string" /> + <xsd:element name="amount" type="xsd:float" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="depositResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="balance" type="xsd:float" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="purchaseStock"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="id" type="xsd:int" /> + <xsd:element name="stock" type="account:StockSummary" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="purchaseStockResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="purchaseSummary" + type="account:StockSummary" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + + + <xsd:element name="sellStock"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="purchaseLotNumber" + type="xsd:int" /><!-- unique id for this purchase --> + <xsd:element name="quantity" type="xsd:int" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="createAccount"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerProfile" + type="account:CustomerProfileData" /> + <xsd:element name="createSavings" + type="xsd:boolean" /> + <xsd:element name="createCheckings" + type="xsd:boolean" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="createAccountResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerProfile" + type="account:CustomerProfileData" /> + </xsd:sequence> + </xsd:complexType> + + </xsd:element> + + <xsd:element name="getAccountLog"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerID" + type="xsd:int" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getAccountLogResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="accountLog" + type="account:AccountLog" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="AccountLog"> + <xsd:sequence> + <xsd:element name="accountLogEntries" + type="account:AccountLogEntry" maxOccurs="unbounded" /> + <xsd:element name="stockLogEntries" + type="account:StockLogEntry" maxOccurs="unbounded" /> + + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="AccountLogEntry"> + <xsd:attribute name="logSeqNo" type="xsd:int" /> + <xsd:attribute name="id" type="xsd:int" /> + <xsd:attribute name="accountNumber" type="xsd:string" /> + <xsd:attribute name="actionType" type="xsd:string" /> + <xsd:attribute name="amount" type="xsd:float" /> + </xsd:complexType> + + <xsd:complexType name="StockLogEntry"> + <xsd:attribute name="logSeqNo" type="xsd:int" /> + <xsd:attribute name="id" type="xsd:int" /> + <xsd:attribute name="symbol" type="xsd:string" /> + <xsd:attribute name="quantity" type="xsd:int" /> + <xsd:attribute name="actionType" type="xsd:string" /> + <xsd:attribute name="purchaseLotNumber" type="xsd:int" /> + </xsd:complexType> + + </xsd:schema> + </wsdl:types> + <wsdl:message name="getAccountReportRequest"> + <wsdl:part element="account:getAccountReport" + name="getAccountReportRequest" /> + </wsdl:message> + <wsdl:message name="getAccountReportResponse"> + <wsdl:part element="account:getAccountReportResponse" + name="getAccountReportResponse" /> + </wsdl:message> + + <wsdl:message name="getCustomerProfileRequest"> + <wsdl:part element="account:getCustomerProfile" + name="getCustomerProfile" /> + </wsdl:message> + <wsdl:message name="getCustomerProfileResponse"> + <wsdl:part element="account:getCustomerProfileResponse" + name="getCustomerProfileResponse" /> + </wsdl:message> + + <wsdl:message name="withdrawRequest"> + <wsdl:part element="account:withdraw" name="withdrawRequest" /> + </wsdl:message> + + <wsdl:message name="withdrawResponse"> + <wsdl:part element="account:withdrawResponse" + name="withdrawResponse" /> + </wsdl:message> + + <wsdl:message name="depositRequest"> + <wsdl:part element="account:deposit" name="depositRequest" /> + </wsdl:message> + + <wsdl:message name="depositResponse"> + <wsdl:part element="account:depositResponse" + name="depositResponse" /> + </wsdl:message> + + <wsdl:message name="purchaseStockRequest"> + <wsdl:part element="account:purchaseStock" + name="purchaseStockRequest" /> + </wsdl:message> + + <wsdl:message name="purchaseStockResponse"> + <wsdl:part element="account:purchaseStockResponse" + name="purchaseStockResponse" /> + </wsdl:message> + + <wsdl:message name="sellStockRequest"> + <wsdl:part element="account:sellStock" name="sellStockRequest" /> + </wsdl:message> + + <wsdl:message name="createAccountRequest"> + <wsdl:part element="account:createAccount" name="createAccountRequest" /> + </wsdl:message> + + <wsdl:message name="createAccountResponse"> + <wsdl:part element="account:createAccountResponse" name="createAccountResponse" /> + </wsdl:message> + + <wsdl:message name="getAccountLogRequest"> + <wsdl:part element="account:getAccountLog" + name="getAccountLogRequest" /> + </wsdl:message> + + <wsdl:message name="getAccountLogResponse"> + <wsdl:part element="account:getAccountLogResponse" + name="getAccountLogResponse" /> + </wsdl:message> + + <wsdl:portType name="AccountService"> + <wsdl:operation name="getAccountReport"> + <wsdl:input message="account:getAccountReportRequest" /> + <wsdl:output message="account:getAccountReportResponse" /> + </wsdl:operation> + + <wsdl:operation name="getCustomerProfile"> + <wsdl:input message="account:getCustomerProfileRequest" /> + <wsdl:output message="account:getCustomerProfileResponse" /> + </wsdl:operation> + + <wsdl:operation name="withdraw"> + <wsdl:input message="account:withdrawRequest" /> + <wsdl:output message="account:withdrawResponse" /> + </wsdl:operation> + + <wsdl:operation name="deposit"> + <wsdl:input message="account:depositRequest" /> + <wsdl:output message="account:depositResponse" /> + </wsdl:operation> + + <wsdl:operation name="purchaseStock"> + <wsdl:input message="account:purchaseStockRequest" /> + <wsdl:output message="account:purchaseStockResponse" /> + </wsdl:operation> + + <wsdl:operation name="sellStock"> + <wsdl:input message="account:sellStockRequest" /> + <wsdl:output message="account:purchaseStockResponse" /> + </wsdl:operation> + + + <wsdl:operation name="createAccount"> + <wsdl:input message="account:createAccountRequest" /> + <wsdl:output message="account:createAccountResponse" /> + </wsdl:operation> + + <wsdl:operation name="getAccountLog"> + <wsdl:input message="account:getAccountLogRequest" /> + <wsdl:output message="account:getAccountLogResponse" /> + </wsdl:operation> + + </wsdl:portType> + + + + <wsdl:binding name="AccountServiceSOAP" type="account:AccountService"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="getAccountReport"> + <soap:operation + soapAction="http://www.bigbank.com/account/getAccountReport" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="getCustomerProfile"> + <soap:operation + soapAction="http://www.bigbank.com/account/getCustomerProfile" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="withdraw"> + <soap:operation + soapAction="http://www.bigbank.com/account/withdraw" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="deposit"> + <soap:operation + soapAction="http://www.bigbank.com/account/deposit" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="purchaseStock"> + <soap:operation + soapAction="http://www.bigbank.com/account/purchaseStock" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="sellStock"> + <soap:operation + soapAction="http://www.bigbank.com/account/sellStock" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="createAccount"> + <soap:operation + soapAction="http://www.bigbank.com/account/createAccount" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="getAccountLog"> + <soap:operation + soapAction="http://www.bigbank.com/account/getAccountLog" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + </wsdl:binding> + <wsdl:service name="AccountService"> + <wsdl:port binding="account:AccountServiceSOAP" + name="AccountServiceSOAP"> + <soap:address + location="http://localhost:8085/services/AccountService" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/branches/trunk-20080910/itest/wsdl/src/main/resources/wsdl/Hello.xsd b/branches/trunk-20080910/itest/wsdl/src/main/resources/wsdl/Hello.xsd new file mode 100644 index 0000000000..4fc5b10e7c --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/resources/wsdl/Hello.xsd @@ -0,0 +1,20 @@ + + <schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://helloworld" xmlns="http://www.w3.org/2001/XMLSchema"> + + <element name="getGreetings"> + <complexType> + <sequence> + <element name="name" type="xsd:string"/> + </sequence> + </complexType> + </element> + + <element name="getGreetingsResponse"> + <complexType> + <sequence> + <element name="getGreetingsReturn" type="xsd:string"/> + </sequence> + </complexType> + </element> + + </schema> diff --git a/branches/trunk-20080910/itest/wsdl/src/main/resources/wsdl/helloworld.wsdl b/branches/trunk-20080910/itest/wsdl/src/main/resources/wsdl/helloworld.wsdl new file mode 100644 index 0000000000..1966acc957 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/main/resources/wsdl/helloworld.wsdl @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<wsdl:definitions targetNamespace="http://helloworld" xmlns:tns="http://helloworld" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" + name="helloworld"> + + <wsdl:types> + <schema xmlns="http://www.w3.org/2001/XMLSchema"> + <import namespace="http://helloworld" schemaLocation="Hello.xsd"/> + </schema> + </wsdl:types> + + <wsdl:message name="getGreetingsRequest"> + <wsdl:part element="tns:getGreetings" name="parameters"/> + </wsdl:message> + + <wsdl:message name="getGreetingsResponse"> + <wsdl:part element="tns:getGreetingsResponse" name="parameters"/> + </wsdl:message> + + <wsdl:portType name="HelloWorld"> + <wsdl:operation name="getGreetings"> + <wsdl:input message="tns:getGreetingsRequest" name="getGreetingsRequest"/> + <wsdl:output message="tns:getGreetingsResponse" name="getGreetingsResponse"/> + </wsdl:operation> + </wsdl:portType> + + <wsdl:binding name="HelloWorldSoapBinding" type="tns:HelloWorld"> + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="getGreetings"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getGreetingsRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getGreetingsResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="HelloWorldService"> + <wsdl:port binding="tns:HelloWorldSoapBinding" name="HelloWorldSoapPort"> + <wsdlsoap:address location=""/> + </wsdl:port> + </wsdl:service> + +</wsdl:definitions> diff --git a/branches/trunk-20080910/itest/wsdl/src/test/java/org/apache/tuscany/sca/itest/SDOWSDLTestCase.java b/branches/trunk-20080910/itest/wsdl/src/test/java/org/apache/tuscany/sca/itest/SDOWSDLTestCase.java new file mode 100644 index 0000000000..12441753fb --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/test/java/org/apache/tuscany/sca/itest/SDOWSDLTestCase.java @@ -0,0 +1,169 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest; + +import static junit.framework.Assert.assertEquals; + +import java.rmi.RemoteException; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +import bigbank.account.services.accountdata.AccountDataService; + +import com.bigbank.account.AccountFactory; +import com.bigbank.account.AccountReport; +import com.bigbank.account.AccountSummary; +import com.bigbank.account.CustomerProfileData; + +/** + * Tests all the combinations of wiring services, components, and references + * which use either interface.java or interface.wsdl. + * + * The tests use a service (1) wired to a components (2) wired to another + * component (3) wired to a reference (4). Each of those uses either + * interface.java (a) or interface.wsdl (b). This results in 16 different + * combinations 1a2a3a4a thru 1b2b3b4b. + */ +public class SDOWSDLTestCase { + + private static SCADomain domain; + + @Test + public void testClient1a2a3a4a() throws RemoteException { + doit("Client1a2a3a4a"); + } + + @Test + public void testClient1a2a3a4b() throws RemoteException { + doit("Client1a2a3a4b"); + } + + @Test + public void testClient1a2a3b4a() throws RemoteException { + doit("Client1a2a3b4a"); + } + + @Test + public void testClient1a2a3b4b() throws RemoteException { + doit("Client1a2a3b4b"); + } + + @Test + public void testClient1a2b3a4a() throws RemoteException { + doit("Client1a2b3a4a"); + } + + @Test + public void testClient1a2b3a4b() throws RemoteException { + doit("Client1a2b3a4b"); + } + + @Test + public void testClient1a2b3b4a() throws RemoteException { + doit("Client1a2b3b4a"); + } + + @Test + public void testClient1a2b3b4b() throws RemoteException { + doit("Client1a2b3b4b"); + } + + @Test + public void testClient1b2a3a4a() throws RemoteException { + doit("Client1b2a3a4a"); + } + + @Test + public void testClient1b2a3a4b() throws RemoteException { + doit("Client1b2a3a4b"); + } + + @Test + public void testClient1b2a3b4a() throws RemoteException { + doit("Client1b2a3b4a"); + } + + @Test + public void testClient1b2a3b4b() throws RemoteException { + doit("Client1b2a3b4b"); + } + + @Test + public void testClient1b2b3a4a() throws RemoteException { + doit("Client1b2b3a4a"); + } + + @Test + public void testClient1b2b3a4b() throws RemoteException { + doit("Client1b2b3a4b"); + } + + @Test + public void testClient1b2b3b4a() throws RemoteException { + doit("Client1b2b3b4a"); + } + + @Test + public void testClient1b2b3b4b() throws RemoteException { + doit("Client1b2b3b4b"); + } + + private void doit(String compName) throws RemoteException { + AccountDataService client = domain.getService(AccountDataService.class, compName); + CustomerProfileData dataIn = AccountFactory.INSTANCE.createCustomerProfileData(); + dataIn.setAddress("home"); + dataIn.setEmail("petra@home"); + dataIn.setFirstName("petra"); + dataIn.setId(1); + dataIn.setLastName("A"); + dataIn.setLoginID("petra"); + dataIn.setPassword("ant"); + + CustomerProfileData dataOut = client.createAccount(dataIn , false, false); + + assertEquals(dataIn.getAddress(), dataOut.getAddress()); + assertEquals(dataIn.getEmail(), dataOut.getEmail()); + assertEquals(dataIn.getFirstName(), dataOut.getFirstName()); + assertEquals(dataIn.getId(), dataOut.getId()); + assertEquals(dataIn.getLastName(), dataOut.getLastName()); + assertEquals(dataIn.getLoginID(), dataOut.getLoginID()); + assertEquals(dataIn.getPassword(), dataOut.getPassword()); + + AccountReport report = client.getAccountReport(12345); + AccountSummary summary1 = (AccountSummary)report.getAccountSummaries().get(0); + assertEquals(summary1.getAccountType(), "checking"); + AccountSummary summary2 = (AccountSummary)report.getAccountSummaries().get(1); + assertEquals(summary2.getBalance(), 2000.f); + } + + @BeforeClass + public static void setUp() throws Exception { + domain = SCADomain.newInstance("SDOWSDLTest.composite"); + } + + @AfterClass + public static void tearDown() throws Exception { + domain.close(); + } + +} diff --git a/branches/trunk-20080910/itest/wsdl/src/test/java/org/apache/tuscany/sca/itest/WSDLTestCase.java b/branches/trunk-20080910/itest/wsdl/src/test/java/org/apache/tuscany/sca/itest/WSDLTestCase.java new file mode 100644 index 0000000000..fd30d69c79 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl/src/test/java/org/apache/tuscany/sca/itest/WSDLTestCase.java @@ -0,0 +1,146 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest; + +import static junit.framework.Assert.assertEquals; +import helloworld.HelloWorldService; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests all the combinations of wiring services, components, and references + * which use either interface.java or interface.wsdl. The tests use a service + * (1) wired to a components (2) wired to another component (3) wired to a + * reference (4). Each of those uses either interface.java (a) or interface.wsdl + * (b). This results in 16 different combinations 1a2a3a4a thru 1b2b3b4b. + */ +public class WSDLTestCase { + + private static SCADomain domain; + + @Test + public void testClient1a2a3a4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2a3a4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1a2a3a4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2a3a4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1a2a3b4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2a3b4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1a2a3b4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2a3b4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1a2b3a4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2b3a4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1a2b3a4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2b3a4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1a2b3b4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2b3b4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1a2b3b4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2b3b4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2a3a4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2a3a4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2a3a4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2a3a4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2a3b4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2a3b4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2a3b4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2a3b4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2b3a4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2b3a4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2b3a4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2b3a4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2b3b4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2b3b4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2b3b4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2b3b4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @BeforeClass + public static void init() throws Throwable { + domain = SCADomain.newInstance("WSDLTest.composite"); + } + + @AfterClass + public static void destroy() throws Exception { + domain.close(); + } +} diff --git a/branches/trunk-20080910/itest/wsdl2java/pom.xml b/branches/trunk-20080910/itest/wsdl2java/pom.xml new file mode 100644 index 0000000000..4691ce1ace --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl2java/pom.xml @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-itest</artifactId> + <version>1.4-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>itest-wsdl2java</artifactId> + <name>Apache Tuscany SCA WSDL2Java Integration Tests</name> + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-embedded</artifactId> + <version>1.4-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-java-runtime</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-interface-wsdl</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-axis2</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-databinding-sdo</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-databinding-axiom</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-jetty</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sdo</groupId> + <artifactId>tuscany-sdo-impl</artifactId> + <version>1.1.1</version> + <scope>compile</scope> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>1.0</version> + <executions> + <execution> + <id>add-test-source</id> + <phase>generate-sources</phase> + <goals> + <goal>add-test-source</goal> + </goals> + <configuration> + <sources> + <source>target/sdo-source</source> + </sources> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.tuscany.sdo</groupId> + <artifactId>tuscany-sdo-plugin</artifactId> + <version>1.1.1</version> + <executions> + <execution> + <id>generate-sdo-account-service</id> + <phase>generate-sources</phase> + <configuration> + <schemaFile> + ${basedir}/src/test/resources/AccountService.wsdl</schemaFile> + <targetDirectory> + ${basedir}/target/sdo-source</targetDirectory> + <javaPackage>com.bigbank.account</javaPackage> + <prefix>Account</prefix> + <noNotification>true</noNotification> + <noContainer>true</noContainer> + <noUnsettable>true</noUnsettable> + </configuration> + <goals> + <goal>generate</goal> + </goals> + </execution> + <execution> + <id>generate-sdo-stock-exception</id> + <phase>generate-sources</phase> + <configuration> + <schemaFile> + ${basedir}/src/test/resources/StockExceptionTest.wsdl</schemaFile> + <targetDirectory> + ${basedir}/target/sdo-source</targetDirectory> + <prefix>Stock</prefix> + <noInterfaces>true</noInterfaces> + <noNotification>true</noNotification> + <noContainer>true</noContainer> + <noUnsettable>true</noUnsettable> + </configuration> + <goals> + <goal>generate</goal> + </goals> + </execution> + <!--execution> + <id>generate-sdo-echo-service-xsd</id> + <phase>generate-sources</phase> + <configuration> + <schemaFile>${basedir}/src/test/resources/EchoService.xsd</schemaFile> + <targetDirectory>${basedir}/target/sdo-source</targetDirectory> + <prefix>Stock</prefix> + <noInterfaces>true</noInterfaces> + <noNotification>true</noNotification> + <noContainer>true</noContainer> + <noUnsettable>true</noUnsettable> + </configuration> + <goals> + <goal>generate</goal> + </goals> + </execution--> + </executions> + </plugin> + <plugin> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-maven-wsdl2java</artifactId> + <version>1.4-SNAPSHOT</version> + <executions> + <execution> + <configuration> + <wsdlFiles> + <wsdlFile> + <fileName> + ${basedir}/src/test/resources/AccountService.wsdl</fileName> + </wsdlFile> + <wsdlFile> + <fileName> + ${basedir}/src/test/resources/StockExceptionTest.wsdl</fileName> + </wsdlFile> + <!--wsdlFile> + <fileName>${basedir}/src/test/resources/EchoService.wsdl</fileName> + </wsdlFile--> + </wsdlFiles> + </configuration> + <goals> + <goal>generate</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff --git a/branches/trunk-20080910/itest/wsdl2java/src/test/resources/AccountService.wsdl b/branches/trunk-20080910/itest/wsdl2java/src/test/resources/AccountService.wsdl new file mode 100644 index 0000000000..9e5650e7dd --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl2java/src/test/resources/AccountService.wsdl @@ -0,0 +1,479 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:account="http://www.bigbank.com/account" + targetNamespace="http://www.bigbank.com/account" + name="AccountServiceWithFault"> + + <wsdl:types> + <xsd:schema targetNamespace="http://www.bigbank.com/account" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:account="http://www.bigbank.com/account"> + + <xsd:element name="getAccountReport"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerID" type="xsd:int" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getAccountReportResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="accountReport" + type="account:AccountReport" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="AccountReport"> + <xsd:sequence> + <xsd:element name="accountSummaries" + type="account:AccountSummary" maxOccurs="unbounded" /> + <xsd:element name="stockSummaries" + type="account:StockSummary" maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="AccountSummary"> + <xsd:attribute name="accountNumber" type="xsd:string" /> + <xsd:attribute name="accountType" type="xsd:string" /> + <xsd:attribute name="balance" type="xsd:float" /> + </xsd:complexType> + + <xsd:complexType name="StockSummary"> + <!-- xsd:attribute name="id" type="xsd:int" / --> + <xsd:attribute name="purchaseLotNumber" type="xsd:int" /> + <!-- unique id for this purchase --> + <xsd:attribute name="symbol" type="xsd:string" /> + <xsd:attribute name="quantity" type="xsd:int" /> + <xsd:attribute name="purchaseDate" type="xsd:dateTime" /> + <xsd:attribute name="purchasePrice" type="xsd:float" /> + <xsd:attribute name="currentPrice" type="xsd:float" /> + <xsd:attribute name="company" type="xsd:string" /> + <xsd:attribute name="highPrice" type="xsd:float" /> + <xsd:attribute name="lowPrice" type="xsd:float" /> + + </xsd:complexType> + + <!-- Profile in data base --> + <xsd:element name="getCustomerProfile"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="loginID" type="xsd:string" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="CustomerProfileData"> + <xsd:sequence> + <xsd:element name="firstName" type="xsd:string" /> + <xsd:element name="lastName" type="xsd:string" /> + <xsd:element name="address" type="xsd:string" /> + <xsd:element name="email" type="xsd:string" /> + <xsd:element name="loginID" type="xsd:string" /> + <xsd:element name="password" type="xsd:string" /> + <xsd:element name="id" type="xsd:int" /> + </xsd:sequence> + </xsd:complexType> + + <xsd:element name="getCustomerProfileResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerProfile" + type="account:CustomerProfileData" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="withdraw"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="accountNumber" + type="xsd:string" /> + <xsd:element name="amount" type="xsd:float" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="withdrawResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="balance" type="xsd:float" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <!-- @start added fault --> + <xsd:element name="insufficientFundsFault"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="message" type="xsd:string" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <!-- @end added fault --> + + <xsd:element name="deposit"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="accountNumber" + type="xsd:string" /> + <xsd:element name="amount" type="xsd:float" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="depositResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="balance" type="xsd:float" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="purchaseStock"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="id" type="xsd:int" /> + <xsd:element name="stock" + type="account:StockSummary" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="purchaseStockResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="purchaseSummary" + type="account:StockSummary" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + + + <xsd:element name="sellStock"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="purchaseLotNumber" + type="xsd:int" /><!-- unique id for this purchase --> + <xsd:element name="quantity" type="xsd:int" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="createAccount"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerProfile" + type="account:CustomerProfileData" /> + <xsd:element name="createSavings" + type="xsd:boolean" /> + <xsd:element name="createCheckings" + type="xsd:boolean" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="createAccountResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerProfile" + type="account:CustomerProfileData" /> + </xsd:sequence> + </xsd:complexType> + + </xsd:element> + + <xsd:element name="getAccountLog"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerID" type="xsd:int" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getAccountLogResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="accountLog" + type="account:AccountLog" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="AccountLog"> + <xsd:sequence> + <xsd:element name="accountLogEntries" + type="account:AccountLogEntry" maxOccurs="unbounded" /> + <xsd:element name="stockLogEntries" + type="account:StockLogEntry" maxOccurs="unbounded" /> + + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="AccountLogEntry"> + <xsd:attribute name="logSeqNo" type="xsd:int" /> + <xsd:attribute name="id" type="xsd:int" /> + <xsd:attribute name="accountNumber" type="xsd:string" /> + <xsd:attribute name="actionType" type="xsd:string" /> + <xsd:attribute name="amount" type="xsd:float" /> + </xsd:complexType> + + <xsd:complexType name="StockLogEntry"> + <xsd:attribute name="logSeqNo" type="xsd:int" /> + <xsd:attribute name="id" type="xsd:int" /> + <xsd:attribute name="symbol" type="xsd:string" /> + <xsd:attribute name="quantity" type="xsd:int" /> + <xsd:attribute name="actionType" type="xsd:string" /> + <xsd:attribute name="purchaseLotNumber" type="xsd:int" /> + </xsd:complexType> + + </xsd:schema> + </wsdl:types> + <wsdl:message name="getAccountReportRequest"> + <wsdl:part element="account:getAccountReport" + name="getAccountReportRequest" /> + </wsdl:message> + <wsdl:message name="getAccountReportResponse"> + <wsdl:part element="account:getAccountReportResponse" + name="getAccountReportResponse" /> + </wsdl:message> + + <wsdl:message name="getCustomerProfileRequest"> + <wsdl:part element="account:getCustomerProfile" + name="getCustomerProfile" /> + </wsdl:message> + <wsdl:message name="getCustomerProfileResponse"> + <wsdl:part element="account:getCustomerProfileResponse" + name="getCustomerProfileResponse" /> + </wsdl:message> + + <wsdl:message name="withdrawRequest"> + <wsdl:part element="account:withdraw" name="withdrawRequest" /> + </wsdl:message> + + <wsdl:message name="withdrawResponse"> + <wsdl:part element="account:withdrawResponse" + name="withdrawResponse" /> + </wsdl:message> + + <!-- @start added fault --> + <wsdl:message name="insufficientFundsException"> + <wsdl:part element="account:insufficientFundsFault" + name="insufficientFundsFault" /> + </wsdl:message> + <!-- @end added fault --> + + <wsdl:message name="depositRequest"> + <wsdl:part element="account:deposit" name="depositRequest" /> + </wsdl:message> + + <wsdl:message name="depositResponse"> + <wsdl:part element="account:depositResponse" + name="depositResponse" /> + </wsdl:message> + + <wsdl:message name="purchaseStockRequest"> + <wsdl:part element="account:purchaseStock" + name="purchaseStockRequest" /> + </wsdl:message> + + <wsdl:message name="purchaseStockResponse"> + <wsdl:part element="account:purchaseStockResponse" + name="purchaseStockResponse" /> + </wsdl:message> + + <wsdl:message name="sellStockRequest"> + <wsdl:part element="account:sellStock" name="sellStockRequest" /> + </wsdl:message> + + <wsdl:message name="createAccountRequest"> + <wsdl:part element="account:createAccount" + name="createAccountRequest" /> + </wsdl:message> + + <wsdl:message name="createAccountResponse"> + <wsdl:part element="account:createAccountResponse" + name="createAccountResponse" /> + </wsdl:message> + + <wsdl:message name="getAccountLogRequest"> + <wsdl:part element="account:getAccountLog" + name="getAccountLogRequest" /> + </wsdl:message> + + <wsdl:message name="getAccountLogResponse"> + <wsdl:part element="account:getAccountLogResponse" + name="getAccountLogResponse" /> + </wsdl:message> + + <wsdl:portType name="AccountServiceWithFault"> + <wsdl:operation name="getAccountReport"> + <wsdl:input message="account:getAccountReportRequest" /> + <wsdl:output message="account:getAccountReportResponse" /> + </wsdl:operation> + + <wsdl:operation name="getCustomerProfile"> + <wsdl:input message="account:getCustomerProfileRequest" /> + <wsdl:output message="account:getCustomerProfileResponse" /> + </wsdl:operation> + + <wsdl:operation name="withdraw"> + <wsdl:input message="account:withdrawRequest" /> + <wsdl:output message="account:withdrawResponse" /> + <!-- @start added fault --> + <wsdl:fault message="account:insufficientFundsException" + name="insufficientFundsException" /> + <!-- @end added fault --> + </wsdl:operation> + + <wsdl:operation name="deposit"> + <wsdl:input message="account:depositRequest" /> + <wsdl:output message="account:depositResponse" /> + </wsdl:operation> + + <wsdl:operation name="purchaseStock"> + <wsdl:input message="account:purchaseStockRequest" /> + <wsdl:output message="account:purchaseStockResponse" /> + </wsdl:operation> + + <wsdl:operation name="sellStock"> + <wsdl:input message="account:sellStockRequest" /> + <wsdl:output message="account:purchaseStockResponse" /> + </wsdl:operation> + + + <wsdl:operation name="createAccount"> + <wsdl:input message="account:createAccountRequest" /> + <wsdl:output message="account:createAccountResponse" /> + </wsdl:operation> + + <wsdl:operation name="getAccountLog"> + <wsdl:input message="account:getAccountLogRequest" /> + <wsdl:output message="account:getAccountLogResponse" /> + </wsdl:operation> + + </wsdl:portType> + + + + <wsdl:binding name="AccountServiceWithFaultSOAP" + type="account:AccountServiceWithFault"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="getAccountReport"> + <soap:operation + soapAction="http://www.bigbank.com/account/getAccountReport" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="getCustomerProfile"> + <soap:operation + soapAction="http://www.bigbank.com/account/getCustomerProfile" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="withdraw"> + <soap:operation + soapAction="http://www.bigbank.com/account/withdraw" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + <!-- @start added fault --> + <wsdl:fault name="insufficientFundsException"> + <soap:fault name="insufficientFundsException" use="literal" /> + </wsdl:fault> + <!-- @end added fault --> + </wsdl:operation> + + <wsdl:operation name="deposit"> + <soap:operation + soapAction="http://www.bigbank.com/account/deposit" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="purchaseStock"> + <soap:operation + soapAction="http://www.bigbank.com/account/purchaseStock" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="sellStock"> + <soap:operation + soapAction="http://www.bigbank.com/account/sellStock" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="createAccount"> + <soap:operation + soapAction="http://www.bigbank.com/account/createAccount" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="getAccountLog"> + <soap:operation + soapAction="http://www.bigbank.com/account/getAccountLog" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + </wsdl:binding> + <wsdl:service name="AccountServiceWithFault"> + <wsdl:port binding="account:AccountServiceWithFaultSOAP" + name="AccountServiceSOAP"> + <soap:address + location="http://localhost:8080/sample-bigbank-account/services/AccountServiceWithFault" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/branches/trunk-20080910/itest/wsdl2java/src/test/resources/EchoService.wsdl b/branches/trunk-20080910/itest/wsdl2java/src/test/resources/EchoService.wsdl new file mode 100644 index 0000000000..50d580f299 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl2java/src/test/resources/EchoService.wsdl @@ -0,0 +1,64 @@ +<?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. +--> +<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://test/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + name="EchoService" + targetNamespace="http://test/"> + + <types> + <xsd:schema> + <xsd:import namespace="http://test/" + schemaLocation="EchoService.xsd" /> + </xsd:schema> + </types> + <message name="echo"> + <part element="tns:echo" name="parameters" /> + </message> + <message name="echoResponse"> + <part element="tns:echoResponse" name="parameters" /> + </message> + <portType name="Echo"> + <operation name="echo"> + <input message="tns:echo" /> + <output message="tns:echoResponse" /> + </operation> + </portType> + <binding name="EchoPortBinding" type="tns:Echo"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <operation name="echo"> + <soap:operation soapAction="" /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + </operation> + </binding> + <service name="EchoService"> + <port binding="tns:EchoPortBinding" name="EchoPort"> + <soap:address + location="http://localhost:8085/w1/EchoService" /> + </port> + </service> +</definitions>
\ No newline at end of file diff --git a/branches/trunk-20080910/itest/wsdl2java/src/test/resources/EchoService.xsd b/branches/trunk-20080910/itest/wsdl2java/src/test/resources/EchoService.xsd new file mode 100644 index 0000000000..8069d4861f --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl2java/src/test/resources/EchoService.xsd @@ -0,0 +1,40 @@ +<?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. +--> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:tns="http://test/" + targetNamespace="http://test/" version="1.0"> + + <xs:complexType name="echoType"> + <xs:sequence> + <xs:element minOccurs="0" name="arg0" type="xs:string"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="echoResponseType"> + <xs:sequence> + <xs:element minOccurs="0" name="return" type="xs:string"/> + </xs:sequence> + </xs:complexType> + + <xs:element name="echo" type="tns:echoType"/> + + <xs:element name="echoResponse" type="tns:echoResponseType"/> + +</xs:schema>
\ No newline at end of file diff --git a/branches/trunk-20080910/itest/wsdl2java/src/test/resources/StockExceptionTest.wsdl b/branches/trunk-20080910/itest/wsdl2java/src/test/resources/StockExceptionTest.wsdl new file mode 100644 index 0000000000..c44229c162 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdl2java/src/test/resources/StockExceptionTest.wsdl @@ -0,0 +1,167 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<wsdl:definitions + targetNamespace="http://scatesttool.stockexceptiontestservice" + xmlns:impl="http://scatesttool.stockexceptiontestservice" + xmlns:tns="http://scatesttool.stockexceptiontestservice" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:wsi="http://ws-i.org/profiles/basic/1.1/xsd" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + name="StockExceptionTest"> + <wsdl:types> + <schema + targetNamespace="http://scatesttool.stockexceptiontestservice" + xmlns="http://www.w3.org/2001/XMLSchema" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + + <complexType name="StockOffer"> + <sequence> + <element name="symbol" minOccurs="1" + type="xsd:string" /> + <element name="price" minOccurs="1" type="xsd:float" + nillable="true" /><!-- max price reqested, actual response --> + <element name="name" minOccurs="0" + type="xsd:string" /> + </sequence> + </complexType> + + <element name="stockQuoteOffer"> + <complexType> + <sequence> + <element name="input" minOccurs="0" + type="tns:StockOffer" /> + </sequence> + </complexType> + </element> + <element name="stockQuoteOfferResponse"> + <complexType> + <sequence> + <element name="stockQuoteOfferReturn" + minOccurs="0" type="tns:StockOffer" /> + </sequence> + </complexType> + </element> + + <!-- Faults --> + <element name="invalidSymbolFault"> + <complexType> + <sequence> + <element name="message" minOccurs="1" + type="xsd:string" /> + <element name="offer" minOccurs="1" + type="tns:StockOffer" /> + </sequence> + </complexType> + </element> + + <element name="marketClosedFault"> + <complexType> + <sequence> + <element name="message" minOccurs="1" + type="xsd:string" /> + </sequence> + </complexType> + </element> + + </schema> + </wsdl:types> + + + <wsdl:message name="stockQuoteOfferRequest"> + <wsdl:part element="tns:stockQuoteOffer" name="parameters" /> + </wsdl:message> + + <wsdl:message name="stockQuoteOfferResponse"> + <wsdl:part element="tns:stockQuoteOfferResponse" + name="parameters" /> + </wsdl:message> + + <wsdl:message name="invalidSymbolException"> + <wsdl:part element="tns:invalidSymbolFault" name="fault" /> + </wsdl:message> + + <wsdl:message name="marketClosedException"> + <wsdl:part element="tns:marketClosedFault" name="fault" /> + </wsdl:message> + + + <wsdl:portType name="StockExceptionTest"> + <wsdl:operation name="stockQuoteOffer"> + <wsdl:input message="tns:stockQuoteOfferRequest" + name="stockQuoteOfferRequest" /> + + <wsdl:output message="tns:stockQuoteOfferResponse" + name="stockQuoteOfferResponse" /> + + <wsdl:fault message="tns:invalidSymbolException" + name="InvalidSymbolException" /> + + <wsdl:fault message="tns:marketClosedException" + name="MarketClosedException" /> + + </wsdl:operation> + + + </wsdl:portType> + + <wsdl:binding name="StockExceptionTestServiceSoapBinding" + type="tns:StockExceptionTest"> + <!-- <wsaw:UsingAddressing wsdl:required="false" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/> --> + + <wsdlsoap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + + <wsdl:operation name="stockQuoteOffer"> + <wsdlsoap:operation soapAction="" /> + + <wsdl:input name="stockQuoteOfferRequest"> + <wsdlsoap:body use="literal" /> + </wsdl:input> + + <wsdl:output name="stockQuoteOfferResponse"> + <wsdlsoap:body use="literal" /> + </wsdl:output> + + <wsdl:fault name="InvalidSymbolException"> + <wsdlsoap:fault name="InvalidSymbolException" use="literal" /> + </wsdl:fault> + + <wsdl:fault name="MarketClosedException"> + <wsdlsoap:fault name="MarketClosedException" use="literal" /> + </wsdl:fault> + + </wsdl:operation> + + + </wsdl:binding> + + <wsdl:service name="StockExceptionTestService"> + <wsdl:port binding="tns:StockExceptionTestServiceSoapBinding" + name="StockExceptionTestServiceSoapPort"> + <wsdlsoap:address + location="http://localhost:8080/StockExceptionTestService/services/StockExceptionTestService" /> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions>
\ No newline at end of file diff --git a/branches/trunk-20080910/itest/wsdlless/pom.xml b/branches/trunk-20080910/itest/wsdlless/pom.xml new file mode 100644 index 0000000000..08c84589ea --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/pom.xml @@ -0,0 +1,202 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-itest</artifactId> + <version>1.4-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>itest-wsdlless</artifactId> + <name>Apache Tuscany SCA WSDLless Support Integration Tests</name> + + <repositories> + <repository> + <id>java.net</id> + <name>java.net Maven 1.x Repository</name> + <url>http://download.java.net/maven/1</url> + <layout>legacy</layout> + </repository> + <repository> + <id>java.net2</id> + <name>java.net Maven 2.x Repository</name> + <url>http://download.java.net/maven/2</url> + </repository> + </repositories> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-embedded</artifactId> + <version>1.4-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-java-runtime</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-interface-wsdl</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-axis2</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-databinding-sdo</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-databinding-axiom</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-jetty</artifactId> + <version>1.4-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sdo</groupId> + <artifactId>tuscany-sdo-impl</artifactId> + <version>1.1.1</version> + <scope>compile</scope> + </dependency> + + <dependency> + <groupId>com.sun.xml.ws</groupId> + <artifactId>jaxws-rt</artifactId> + <version>2.1.4</version> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>copy</id> + <phase>generate-sources</phase> + <goals> + <goal>copy</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + <version>2.1</version> + <type>jar</type> + </artifactItem> + <artifactItem> + <groupId>javax.xml.ws</groupId> + <artifactId>jaxws-api</artifactId> + <version>2.1</version> + <type>jar</type> + </artifactItem> + <!-- + <artifactItem> + <groupId>com.sun.xml.ws</groupId> + <artifactId>jaxws-rt</artifactId> + <version>2.1.4</version> + <type>jar</type> + </artifactItem> + --> + </artifactItems> + <outputDirectory>${project.build.directory}/endorsed</outputDirectory> + <overWriteReleases>false</overWriteReleases> + <overWriteSnapshots>true</overWriteSnapshots> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <argLine>-Djava.endorsed.dirs=target/endorsed</argLine> + </configuration> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>1.0</version> + <executions> + <execution> + <id>add-source</id> + <phase>generate-sources</phase> + <goals> + <goal>add-source</goal> + </goals> + <configuration> + <sources> + <source>target/sdo-source</source> + </sources> + </configuration> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.apache.tuscany.sdo</groupId> + <artifactId>tuscany-sdo-plugin</artifactId> + <version>1.1.1</version> + <executions> + <execution> + <id>generate-sdo</id> + <phase>generate-sources</phase> + <configuration> + <schemaFile>${basedir}/src/main/resources/wsdl/AccountService.wsdl</schemaFile> + <javaPackage>com.bigbank.account</javaPackage> + <prefix>Account</prefix> + <noNotification>true</noNotification> + <noContainer>true</noContainer> + <noUnsettable>true</noUnsettable> + </configuration> + <goals> + <goal>generate</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project>
\ No newline at end of file diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataService.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataService.java new file mode 100644 index 0000000000..5886ebc6ff --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataService.java @@ -0,0 +1,95 @@ +/* + * 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 bigbank.account.services.accountdata; + +import javax.jws.WebService; +import javax.xml.ws.ResponseWrapper; +import org.osoa.sca.annotations.AllowsPassByReference; +import org.osoa.sca.annotations.Remotable; + +@Remotable +@AllowsPassByReference +@WebService(targetNamespace="http://www.bigbank.com/account") +public interface AccountDataService { + + /** + * Auto generated method signatures + * + * @param param0* + * @param param1* + * @param param2 + */ + public com.bigbank.account.StockSummary purchaseStock(int param0, com.bigbank.account.StockSummary parm1); + + /** + * Auto generated method signatures + * + * @param param4 + */ + public com.bigbank.account.CustomerProfileData getCustomerProfile(java.lang.String param4); + + /** + * Auto generated method signatures + * + * @param param6* + * @param param7 + */ + public float deposit(java.lang.String param6, float param7); + + /** + * Auto generated method signatures + * + * @param param9* + * @param param10* + * @param param11 + */ + public com.bigbank.account.CustomerProfileData createAccount(com.bigbank.account.CustomerProfileData param9, boolean param10, boolean param11); + + /** + * Auto generated method signatures + * + * @param param13* + * @param param14 + */ + @ResponseWrapper(localName="purchaseStockResponse") + public com.bigbank.account.StockSummary sellStock(int param13, int param14); + + /** + * Auto generated method signatures + * + * @param param16* + * @param param17 + */ + public float withdraw(java.lang.String param16, float param17); + + /** + * Auto generated method signatures + * + * @param param19 + */ + public com.bigbank.account.AccountReport getAccountReport(int param19); + + /** + * Auto generated method signatures + * + * @param param0 + */ + public com.bigbank.account.AccountLog getAccountLog(int param0); + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataServiceImpl.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataServiceImpl.java new file mode 100644 index 0000000000..df658428fd --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataServiceImpl.java @@ -0,0 +1,91 @@ +/* + * 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 bigbank.account.services.accountdata; + +import org.osoa.sca.annotations.Service; + +import com.bigbank.account.AccountFactory; +import com.bigbank.account.AccountLog; +import com.bigbank.account.AccountReport; +import com.bigbank.account.AccountSummary; +import com.bigbank.account.CustomerProfileData; +import com.bigbank.account.StockSummary; + +@Service(AccountDataService.class) +public class AccountDataServiceImpl implements AccountDataService { + + public CustomerProfileData getCustomerProfile(String logonID) { + + return null; + } + + public AccountReport getAccountReport(int customerID) { + + AccountReport report =AccountFactory.INSTANCE.createAccountReport(); + AccountSummary summary1 = AccountFactory.INSTANCE.createAccountSummary(); + summary1.setAccountNumber("123"); + summary1.setAccountType("checking"); + summary1.setBalance(1000.0f); + report.getAccountSummaries().add(summary1); + AccountSummary summary2 = AccountFactory.INSTANCE.createAccountSummary(); + summary2.setAccountNumber("456"); + summary2.setAccountType("savings"); + summary2.setBalance(2000.0f); + report.getAccountSummaries().add(summary2); + + return report; + } + + public CustomerProfileData createAccount(CustomerProfileData customerProfile, boolean createSavings, boolean createCheckings) + { + CustomerProfileData data = AccountFactory.INSTANCE.createCustomerProfileData(); + data.setLoginID(customerProfile.getLoginID()); + data.setAddress(customerProfile.getAddress()); + data.setEmail(customerProfile.getEmail()); + data.setFirstName(customerProfile.getFirstName()); + data.setId(customerProfile.getId()); + data.setLastName(customerProfile.getLastName()); + data.setPassword(customerProfile.getPassword()); + return data; + } + + public float deposit(String param6, float param7) { + + return 0; + } + + public StockSummary purchaseStock(int param0, StockSummary stock) { + + return null; + } + + public StockSummary sellStock(int param13, int param14) { + + return null; + } + + public float withdraw(String param16, float param17) { + + return 0; + } + + public AccountLog getAccountLog(final int customerID) { + throw new IllegalStateException("This method should not be called"); + } +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountServiceClientImpl.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountServiceClientImpl.java new file mode 100644 index 0000000000..d39df8c00e --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountServiceClientImpl.java @@ -0,0 +1,77 @@ +/* + * 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 bigbank.account.services.accountdata; + +import org.osoa.sca.annotations.Reference; + +import com.bigbank.account.AccountLog; +import com.bigbank.account.AccountReport; +import com.bigbank.account.CustomerProfileData; +import com.bigbank.account.StockSummary; + +public class AccountServiceClientImpl implements AccountDataService { + + AccountDataService accountService; + + @Reference + public void setAccountService(AccountDataService accountService) { + this.accountService = accountService; + } + + public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) { + return accountService.createAccount(param9, param10, param11); + } + + public float deposit(String param6, float param7) { + + return 0; + } + + public AccountLog getAccountLog(int param0) { + + return null; + } + + public AccountReport getAccountReport(int param19) { + + return accountService.getAccountReport(param19); + } + + public CustomerProfileData getCustomerProfile(String param4) { + + return null; + } + + public StockSummary purchaseStock(int param0, StockSummary parm1) { + + return null; + } + + public StockSummary sellStock(int param13, int param14) { + + return null; + } + + public float withdraw(String param16, float param17) { + + return 0; + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2aImpl.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2aImpl.java new file mode 100644 index 0000000000..d4a06780c3 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2aImpl.java @@ -0,0 +1,77 @@ +/* + * 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 bigbank.account.services.accountdata; + +import org.osoa.sca.annotations.Reference; + +import com.bigbank.account.AccountLog; +import com.bigbank.account.AccountReport; +import com.bigbank.account.CustomerProfileData; +import com.bigbank.account.StockSummary; + +public class Component2aImpl implements AccountDataService { + + AccountDataService accountService; + + @Reference + public void setAccountService(AccountDataService accountService) { + this.accountService = accountService; + } + + public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) { + return accountService.createAccount(param9, param10, param11); + } + + public float deposit(String param6, float param7) { + + return 0; + } + + public AccountLog getAccountLog(int param0) { + + return null; + } + + public AccountReport getAccountReport(int param19) { + + return accountService.getAccountReport(param19); + } + + public CustomerProfileData getCustomerProfile(String param4) { + + return null; + } + + public StockSummary purchaseStock(int param0, StockSummary parm1) { + + return null; + } + + public StockSummary sellStock(int param13, int param14) { + + return null; + } + + public float withdraw(String param16, float param17) { + + return 0; + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2bImpl.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2bImpl.java new file mode 100644 index 0000000000..6dc46c60b5 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2bImpl.java @@ -0,0 +1,77 @@ +/* + * 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 bigbank.account.services.accountdata; + +import org.osoa.sca.annotations.Reference; + +import com.bigbank.account.AccountLog; +import com.bigbank.account.AccountReport; +import com.bigbank.account.CustomerProfileData; +import com.bigbank.account.StockSummary; + +public class Component2bImpl implements AccountDataService { + + AccountDataService accountService; + + @Reference + public void setAccountService(AccountDataService accountService) { + this.accountService = accountService; + } + + public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) { + return accountService.createAccount(param9, param10, param11); + } + + public float deposit(String param6, float param7) { + + return 0; + } + + public AccountLog getAccountLog(int param0) { + + return null; + } + + public AccountReport getAccountReport(int param19) { + + return accountService.getAccountReport(param19); + } + + public CustomerProfileData getCustomerProfile(String param4) { + + return null; + } + + public StockSummary purchaseStock(int param0, StockSummary parm1) { + + return null; + } + + public StockSummary sellStock(int param13, int param14) { + + return null; + } + + public float withdraw(String param16, float param17) { + + return 0; + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3aImpl.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3aImpl.java new file mode 100644 index 0000000000..8471000152 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3aImpl.java @@ -0,0 +1,77 @@ +/* + * 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 bigbank.account.services.accountdata; + +import org.osoa.sca.annotations.Reference; + +import com.bigbank.account.AccountLog; +import com.bigbank.account.AccountReport; +import com.bigbank.account.CustomerProfileData; +import com.bigbank.account.StockSummary; + +public class Component3aImpl implements AccountDataService { + + AccountDataService accountService; + + @Reference + public void setAccountService(AccountDataService accountService) { + this.accountService = accountService; + } + + public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) { + return accountService.createAccount(param9, param10, param11); + } + + public float deposit(String param6, float param7) { + + return 0; + } + + public AccountLog getAccountLog(int param0) { + + return null; + } + + public AccountReport getAccountReport(int param19) { + + return accountService.getAccountReport(param19); + } + + public CustomerProfileData getCustomerProfile(String param4) { + + return null; + } + + public StockSummary purchaseStock(int param0, StockSummary parm1) { + + return null; + } + + public StockSummary sellStock(int param13, int param14) { + + return null; + } + + public float withdraw(String param16, float param17) { + + return 0; + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3bImpl.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3bImpl.java new file mode 100644 index 0000000000..859c61a724 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3bImpl.java @@ -0,0 +1,77 @@ +/* + * 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 bigbank.account.services.accountdata; + +import org.osoa.sca.annotations.Reference; + +import com.bigbank.account.AccountLog; +import com.bigbank.account.AccountReport; +import com.bigbank.account.CustomerProfileData; +import com.bigbank.account.StockSummary; + +public class Component3bImpl implements AccountDataService { + + AccountDataService accountService; + + @Reference + public void setAccountService(AccountDataService accountService) { + this.accountService = accountService; + } + + public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) { + return accountService.createAccount(param9, param10, param11); + } + + public float deposit(String param6, float param7) { + + return 0; + } + + public AccountLog getAccountLog(int param0) { + + return null; + } + + public AccountReport getAccountReport(int param19) { + + return accountService.getAccountReport(param19); + } + + public CustomerProfileData getCustomerProfile(String param4) { + + return null; + } + + public StockSummary purchaseStock(int param0, StockSummary parm1) { + + return null; + } + + public StockSummary sellStock(int param13, int param14) { + + return null; + } + + public float withdraw(String param16, float param17) { + + return 0; + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/CustomerIdService.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/CustomerIdService.java new file mode 100644 index 0000000000..e747eb041f --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/CustomerIdService.java @@ -0,0 +1,98 @@ +/* + * 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 bigbank.account.services.accountdata; + +import java.rmi.RemoteException; + +/** + * This interface allows access to a customer's id from the data service. + */ +public interface CustomerIdService { + + /* + * Return -1 if purchaseLotNumber not found + */ + public int getCustomerIdByPurchaseLotNumber(int purchaseLotNumber) throws RemoteException; + + /* + * Return -1 if account not found + */ + public int getCustomerIdByAccount(String account) throws RemoteException; + + // TODO (isilval) Fix this !!! + // Apparently, configuration can't deal with extends so I am adding the contents of AccountDataService here + + /** + * Auto generated method signatures + * + * @param param0* + * @param param1* + * @param param2 + */ + public com.bigbank.account.StockSummary purchaseStock(int param0, com.bigbank.account.StockSummary parm1) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param4 + */ + public com.bigbank.account.CustomerProfileData getCustomerProfile(java.lang.String param4) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param6* + * @param param7 + */ + public float deposit(java.lang.String param6, float param7) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param9* + * @param param10* + * @param param11 + */ + public com.bigbank.account.CustomerProfileData createAccount(com.bigbank.account.CustomerProfileData param9, boolean param10, boolean param11) + throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param13* + * @param param14 + */ + public com.bigbank.account.StockSummary sellStock(int param13, int param14) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param16* + * @param param17 + */ + public float withdraw(java.lang.String param16, float param17) throws java.rmi.RemoteException; + + /** + * Auto generated method signatures + * + * @param param19 + */ + public com.bigbank.account.AccountReport getAccountReport(int param19) throws java.rmi.RemoteException; + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/helloworld/HelloWorldImpl.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/helloworld/HelloWorldImpl.java new file mode 100644 index 0000000000..ca7c25f3fa --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/helloworld/HelloWorldImpl.java @@ -0,0 +1,44 @@ +/* + * 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.Service; + +/** + * This class implements the HelloWorld service. + */ +@Service(HelloWorldService.class) +public class HelloWorldImpl implements HelloWorldService { + + public String getGreetings(String name) { + return "Hi " + name; + } + + public String[] getMultipleGreetings(String[] names) { + if(names==null) { + return null; + } + String[] greetings = new String[names.length]; + for(int i=0; i<names.length;i++) { + greetings[i] = "Hi "+names[i]; + } + return greetings; + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/helloworld/HelloWorldService.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/helloworld/HelloWorldService.java new file mode 100644 index 0000000000..8b234599aa --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/helloworld/HelloWorldService.java @@ -0,0 +1,31 @@ +/* + * 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.Remotable; + +/** + * This is the business interface of the HelloWorld greetings service. + */ +@Remotable +public interface HelloWorldService { + + public String getGreetings(String name); + public String[] getMultipleGreetings(String[] names); +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/helloworld/HelloWorldServiceComponent.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/helloworld/HelloWorldServiceComponent.java new file mode 100644 index 0000000000..03984f7252 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/helloworld/HelloWorldServiceComponent.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package helloworld; + +import org.osoa.sca.annotations.Scope; + +/** + * This client program shows how to create an SCA runtime, start it, + * locate the HelloWorld service and invoke it. + */ +@Scope("COMPOSITE") +public class HelloWorldServiceComponent implements HelloWorldService { + + HelloWorldService helloWorldService; + + public String getGreetings(String name) { + return helloWorldService.getGreetings(name); + } + + public HelloWorldService getHelloWorldService() { + return helloWorldService; + } + + public void setHelloWorldService(HelloWorldService helloWorldService) { + this.helloWorldService = helloWorldService; + } + + public String[] getMultipleGreetings(String[] names) { + return helloWorldService.getMultipleGreetings(names); + } +}
\ No newline at end of file diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2aImpl.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2aImpl.java new file mode 100644 index 0000000000..45bb697437 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2aImpl.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest; + +import helloworld.HelloWorldService; + +import org.osoa.sca.annotations.Reference; + +public class Component2aImpl implements HelloWorldService { + + private HelloWorldService comp; + + @Reference + public void setComp(HelloWorldService comp) { + this.comp = comp; + } + public String getGreetings(String s) { + return comp.getGreetings(s); + } + + public String[] getMultipleGreetings(String[] names) { + return comp.getMultipleGreetings(names); + } + + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2bImpl.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2bImpl.java new file mode 100644 index 0000000000..9342c8e6ee --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2bImpl.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 org.apache.tuscany.sca.itest; + +import helloworld.HelloWorldService; + +import org.osoa.sca.annotations.Reference; + +public class Component2bImpl implements HelloWorldService { + + private HelloWorldService comp; + + @Reference + public void setComp(HelloWorldService comp) { + this.comp = comp; + } + + public String getGreetings(String s) { + return comp.getGreetings(s); + } + public String[] getMultipleGreetings(String[] names) { + return comp.getMultipleGreetings(names); + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3aImpl.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3aImpl.java new file mode 100644 index 0000000000..6c5ac96b67 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3aImpl.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 org.apache.tuscany.sca.itest; + +import helloworld.HelloWorldService; + +import org.osoa.sca.annotations.Reference; + +public class Component3aImpl implements HelloWorldService { + + private HelloWorldService comp; + + @Reference + public void setComp(HelloWorldService comp) { + this.comp = comp; + } + + public String getGreetings(String s) { + return comp.getGreetings(s); + } + public String[] getMultipleGreetings(String[] names) { + return comp.getMultipleGreetings(names); + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3bImpl.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3bImpl.java new file mode 100644 index 0000000000..ebaf33f568 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3bImpl.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest; + +import helloworld.HelloWorldService; + +import org.osoa.sca.annotations.Reference; + +public class Component3bImpl implements HelloWorldService { + + private HelloWorldService comp; + + @Reference + public void setComp(HelloWorldService comp) { + this.comp = comp; + } + + public String getGreetings(String s) { + return comp.getGreetings(s); + } + + public String[] getMultipleGreetings(String[] names) { + return comp.getMultipleGreetings(names); + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/service/AnObject.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/service/AnObject.java new file mode 100644 index 0000000000..65ba52f356 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/service/AnObject.java @@ -0,0 +1,62 @@ +/* + * 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 service; + +public class AnObject { + + private String someRetValue; + private Integer someOtherRetValue; + + public AnObject() { + } + + public AnObject(String someRetValue, Integer someOtherRetValue) { + this.someRetValue = someRetValue; + this.someOtherRetValue = someOtherRetValue; + } + + /** + * @return the someOtherRetValue + */ + public Integer getSomeOtherRetValue() { + return someOtherRetValue; + } + + /** + * @param someOtherRetValue the someOtherRetValue to set + */ + public void setSomeOtherRetValue(Integer someOtherRetValue) { + this.someOtherRetValue = someOtherRetValue; + } + + /** + * @return the someRetValue + */ + public String getSomeRetValue() { + return someRetValue; + } + + /** + * @param someRetValue the someRetValue to set + */ + public void setSomeRetValue(String someRetValue) { + this.someRetValue = someRetValue; + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/service/MoreComplexObject.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/service/MoreComplexObject.java new file mode 100644 index 0000000000..69eba6701d --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/service/MoreComplexObject.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 service; + +import java.io.Serializable; + +public class MoreComplexObject implements Serializable { + private static final long serialVersionUID = 43242314234123L; + private String stringParam; + private Integer intParam; + private String stringParam2; + + public String getStringParam() { + return stringParam; + } + + public void setStringParam(String stringParam) { + this.stringParam = stringParam; + } + + public Integer getIntParam() { + return intParam; + } + + public void setIntParam(Integer intParam) { + this.intParam = intParam; + } + + public String getStringParam2() { + return stringParam2; + } + + public void setStringParam2(String stringParam2) { + this.stringParam2 = stringParam2; + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/service/SomeService.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/service/SomeService.java new file mode 100644 index 0000000000..f6aaacb23a --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/service/SomeService.java @@ -0,0 +1,31 @@ +/* + * 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 service; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface SomeService { + + public AnObject getUsingString(String stringParam); + + public AnObject getUsingMoreComplexObject(MoreComplexObject moreComplexParam); + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/java/service/SomeServiceImpl.java b/branches/trunk-20080910/itest/wsdlless/src/main/java/service/SomeServiceImpl.java new file mode 100644 index 0000000000..39a2131024 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/java/service/SomeServiceImpl.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 service; + +import org.osoa.sca.annotations.Service; + +@Service(SomeService.class) +public class SomeServiceImpl implements SomeService { + + public AnObject getUsingString(String stringParam) { + System.out.println("Param value:" + stringParam); + + return getAnObject(stringParam); + } + + private AnObject getAnObject(String stringParam) { + return new AnObject(stringParam + "123", 123); + } + + public AnObject getUsingMoreComplexObject(MoreComplexObject moreComplexParam) { + System.out.println("Param value:" + moreComplexParam.getStringParam()); + + return getAnObject(moreComplexParam.getStringParam()); + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/resources/SDOWSDLTest.composite b/branches/trunk-20080910/itest/wsdlless/src/main/resources/SDOWSDLTest.composite new file mode 100644 index 0000000000..16d3806318 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/resources/SDOWSDLTest.composite @@ -0,0 +1,321 @@ +<?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:wsdli="http://www.w3.org/2006/01/wsdl-instance" name="SDOWSDLTest"> + + <service name="AccountService1a2a3a4a" promote="Component2a3a4a"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2a3a4a"/> + </service> + <service name="AccountService1a2a3a4b" promote="Component2a3a4b"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2a3a4b"/> + </service> + <service name="AccountService1a2a3b4a" promote="Component2a3b4a"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2a3b4a"/> + </service> + <service name="AccountService1a2a3b4b" promote="Component2a3b4b"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2a3b4b"/> + </service> + <service name="AccountService1a2b3a4a" promote="Component2b3a4a"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2b3a4a"/> + </service> + <service name="AccountService1a2b3a4b" promote="Component2b3a4b"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2b3a4b"/> + </service> + <service name="AccountService1a2b3b4a" promote="Component2b3b4a"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2b3b4a"/> + </service> + <service name="AccountService1a2b3b4b" promote="Component2b3b4b"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2b3b4b"/> + </service> + <service name="AccountService1b2a3a4a" promote="Component2a3a4a"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws uri="http://localhost:8085/AccountService1b2a3a4a"/> + </service> + <service name="AccountService1b2a3a4b" promote="Component2a3a4b"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws uri="http://localhost:8085/AccountService1b2a3a4b"/> + </service> + <service name="AccountService1b2a3b4a" promote="Component2a3b4a"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws uri="http://localhost:8085/AccountService1b2a3b4a"/> + </service> + <service name="AccountService1b2a3b4b" promote="Component2a3b4b"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws uri="http://localhost:8085/AccountService1b2a3b4b"/> + </service> + <service name="AccountService1b2b3a4a" promote="Component2b3a4a"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws uri="http://localhost:8085/AccountService1b2b3a4a"/> + </service> + <service name="AccountService1b2b3a4b" promote="Component2b3a4b"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws uri="http://localhost:8085/AccountService1b2b3a4b"/> + </service> + <service name="AccountService1b2b3b4a" promote="Component2b3b4a"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws uri="http://localhost:8085/AccountService1b2b3b4a"/> + </service> + <service name="AccountService1b2b3b4b" promote="Component2b3b4b"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws uri="http://localhost:8085/AccountService1b2b3b4b"/> + </service> + + <component name="Component2a3a4a"> + <implementation.java class="bigbank.account.services.accountdata.Component2aImpl" /> + <reference name="accountService" target="Component3a4a"/> + </component> + <component name="Component2a3a4b"> + <implementation.java class="bigbank.account.services.accountdata.Component2aImpl" /> + <reference name="accountService" target="Component3a4b"/> + </component> + <component name="Component2a3b4a"> + <implementation.java class="bigbank.account.services.accountdata.Component2aImpl" /> + <reference name="accountService" target="Component3b4a"/> + </component> + <component name="Component2a3b4b"> + <implementation.java class="bigbank.account.services.accountdata.Component2aImpl" /> + <reference name="accountService" target="Component3b4b"/> + </component> + + <component name="Component2b3a4a"> + <implementation.java class="bigbank.account.services.accountdata.Component2bImpl" /> + <reference name="accountService" target="Component3a4a"/> + </component> + <component name="Component2b3a4b"> + <implementation.java class="bigbank.account.services.accountdata.Component2bImpl" /> + <reference name="accountService" target="Component3a4b"/> + </component> + <component name="Component2b3b4a"> + <implementation.java class="bigbank.account.services.accountdata.Component2bImpl" /> + <reference name="accountService" target="Component3b4a"/> + </component> + <component name="Component2b3b4b"> + <implementation.java class="bigbank.account.services.accountdata.Component2bImpl" /> + <reference name="accountService" target="Component3b4b"/> + </component> + + <component name="Component3a4a"> + <implementation.java class="bigbank.account.services.accountdata.Component3aImpl" /> + </component> + <reference name="Component3a4aRef" promote="Component3a4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService" /> + </reference> + + <component name="Component3a4b"> + <implementation.java class="bigbank.account.services.accountdata.Component3aImpl" /> + </component> + <reference name="Component3a4bRef" promote="Component3a4b/accountService"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws uri="http://localhost:8085/AccountService" /> + </reference> + + <component name="Component3b4a"> + <implementation.java class="bigbank.account.services.accountdata.Component3bImpl" /> + </component> + <reference name="Component3b4aRef" promote="Component3b4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService" /> + </reference> + + <component name="Component3b4b"> + <implementation.java class="bigbank.account.services.accountdata.Component3bImpl" /> + </component> + <reference name="Component3b4bRef" promote="Component3b4b/accountService"> + <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/> + <binding.ws uri="http://localhost:8085/AccountService" /> + </reference> + + <!-- target service --> + + <service name="AccountService" promote="AccountServiceComponent"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService"/> + </service> + + <component name="AccountServiceComponent"> + <implementation.java class="bigbank.account.services.accountdata.AccountDataServiceImpl" /> + </component> + + <!-- test client --> + + <component name="AccountServiceClient"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="AccountServiceRef" promote="AccountServiceClient/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/services/AccountService"/> + </reference> + + <!-- clients --> + + <component name="Client1a2a3a4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1a2a3a4a" promote="Client1a2a3a4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2a3a4a" /> + </reference> + + <component name="Client1a2a3a4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl"/> + </component> + + <reference name="ClientRef1a2a3a4b" promote="Client1a2a3a4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2a3a4b" /> + </reference> + + <component name="Client1a2a3b4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1a2a3b4a" promote="Client1a2a3b4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2a3b4a" /> + </reference> + + <component name="Client1a2a3b4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1a2a3b4b" promote="Client1a2a3b4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2a3b4b" /> + </reference> + + <component name="Client1a2b3a4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1a2b3a4a" promote="Client1a2b3a4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2b3a4a" /> + </reference> + + <component name="Client1a2b3a4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1a2b3a4b" promote="Client1a2b3a4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2b3a4b" /> + </reference> + + <component name="Client1a2b3b4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1a2b3b4a" promote="Client1a2b3b4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2b3b4a" /> + </reference> + + <component name="Client1a2b3b4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1a2b3b4b" promote="Client1a2b3b4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1a2b3b4b" /> + </reference> + + <component name="Client1b2a3a4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2a3a4a" promote="Client1b2a3a4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1b2a3a4a" /> + </reference> + + <component name="Client1b2a3a4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2a3a4b" promote="Client1b2a3a4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1b2a3a4b" /> + </reference> + + <component name="Client1b2a3b4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2a3b4a" promote="Client1b2a3b4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1b2a3b4a" /> + </reference> + + <component name="Client1b2a3b4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2a3b4b" promote="Client1b2a3b4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1b2a3b4b" /> + </reference> + + <component name="Client1b2b3a4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2b3a4a" promote="Client1b2b3a4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1b2b3a4a" /> + </reference> + + <component name="Client1b2b3a4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2b3a4b" promote="Client1b2b3a4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1b2b3a4b" /> + </reference> + + <component name="Client1b2b3b4a"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2b3b4a" promote="Client1b2b3b4a/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1b2b3b4a" /> + </reference> + + <component name="Client1b2b3b4b"> + <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" /> + </component> + + <reference name="ClientRef1b2b3b4b" promote="Client1b2b3b4b/accountService"> + <interface.java interface="bigbank.account.services.accountdata.AccountDataService" /> + <binding.ws uri="http://localhost:8085/AccountService1b2b3b4b" /> + </reference> + +</composite> diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/resources/WSDLTest.composite b/branches/trunk-20080910/itest/wsdlless/src/main/resources/WSDLTest.composite new file mode 100644 index 0000000000..e69cdbc282 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/resources/WSDLTest.composite @@ -0,0 +1,350 @@ +<?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" + name="WSDLTest"> + + <service name="HelloWorldService1a2a3a4a" promote="Component2a3a4a" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3a4a"/> + </service> + <service name="HelloWorldService1a2a3a4b" promote="Component2a3a4b" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3a4b"/> + </service> + <service name="HelloWorldService1a2a3b4a" promote="Component2a3b4a" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3b4a"/> + </service> + <service name="HelloWorldService1a2a3b4b" promote="Component2a3b4b" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3b4b"/> + </service> + <service name="HelloWorldService1a2b3a4a" promote="Component2b3a4a" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3a4a"/> + </service> + <service name="HelloWorldService1a2b3a4b" promote="Component2b3a4b" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3a4b"/> + </service> + <service name="HelloWorldService1a2b3b4a" promote="Component2b3b4a" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3b4a"/> + </service> + <service name="HelloWorldService1a2b3b4b" promote="Component2b3b4b" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3b4b"/> + </service> + + <service name="HelloWorldService1b2a3a4a" promote="Component2a3a4a" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3a4a"/> + </service> + <service name="HelloWorldService1b2a3a4b" promote="Component2a3a4b" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3a4b"/> + </service> + <service name="HelloWorldService1b2a3b4a" promote="Component2a3b4a" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3b4a"/> + </service> + <service name="HelloWorldService1b2a3b4b" promote="Component2a3b4b" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3b4b"/> + </service> + <service name="HelloWorldService1b2b3a4a" promote="Component2b3a4a" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3a4a"/> + </service> + <service name="HelloWorldService1b2b3a4b" promote="Component2b3a4b" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3a4b"/> + </service> + <service name="HelloWorldService1b2b3b4a" promote="Component2b3b4a" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3b4a"/> + </service> + <service name="HelloWorldService1b2b3b4b" promote="Component2b3b4b" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3b4b"/> + </service> + + <component name="Component2a3a4a"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2aImpl"/> + <reference name="comp" target="Component3a4a" /> + </component> + <component name="Component2a3a4b"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2aImpl"/> + <reference name="comp" target="Component3a4b" /> + </component> + <component name="Component2a3b4a"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2aImpl"/> + <reference name="comp" target="Component3b4a" /> + </component> + <component name="Component2a3b4b"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2aImpl"/> + <reference name="comp" target="Component3b4b" /> + </component> + + <component name="Component2b3a4a"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2bImpl"/> + <reference name="comp" target="Component3a4a" /> + </component> + <component name="Component2b3a4b"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2bImpl"/> + <reference name="comp" target="Component3a4b" /> + </component> + <component name="Component2b3b4a"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2bImpl"/> + <reference name="comp" target="Component3b4a" /> + </component> + <component name="Component2b3b4b"> + <implementation.java class="org.apache.tuscany.sca.itest.Component2bImpl"/> + <reference name="comp" target="Component3b4b" /> + </component> + + <component name="Component3a4a"> + <implementation.java class="org.apache.tuscany.sca.itest.Component3aImpl"/> + <reference name="comp" /> + </component> + <reference name="Component3a4aRef" promote="Component3a4a/comp" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws uri="http://localhost:8085/HelloWorldWebService" /> + </reference> + + <component name="Component3a4b"> + <implementation.java class="org.apache.tuscany.sca.itest.Component3aImpl"/> + <reference name="comp" /> + </component> + <reference name="Component3a4bRef" promote="Component3a4b/comp" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldWebService" /> + </reference> + + <component name="Component3b4a"> + <implementation.java class="org.apache.tuscany.sca.itest.Component3bImpl"/> + <reference name="comp" /> + </component> + <reference name="Component3b4aRef" promote="Component3b4a/comp" > + <interface.java interface="helloworld.HelloWorldService" /> + <binding.ws uri="http://localhost:8085/HelloWorldWebService" /> + </reference> + + <component name="Component3b4b"> + <implementation.java class="org.apache.tuscany.sca.itest.Component3bImpl"/> + <reference name="comp" /> + </component> + <reference name="Component3b4bRef" promote="Component3b4b/comp" > + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldWebService" /> + </reference> + + +<!-- the servive --> + + <service name="HelloWorldWebService" promote="HelloWorldServiceComponent" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldWebService"/> + </service> + + <component name="HelloWorldServiceComponent"> + <implementation.java class="helloworld.HelloWorldImpl" /> + </component> + +<!-- the clients --> + + <component name="Client1a2a3a4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2a3a4a" promote="Client1a2a3a4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3a4a" /> + </reference> + + <component name="Client1a2a3a4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2a3a4b" promote="Client1a2a3a4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3a4b" /> + </reference> + + <component name="Client1a2a3b4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2a3b4a" promote="Client1a2a3b4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3b4a" /> + </reference> + + <component name="Client1a2a3b4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2a3b4b" promote="Client1a2a3b4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3b4b" /> + </reference> + + <component name="Client1a2b3a4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2b3a4a" promote="Client1a2b3a4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3a4a" /> + </reference> + + <component name="Client1a2b3a4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2b3a4b" promote="Client1a2b3a4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3a4b" /> + </reference> + + <component name="Client1a2b3b4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2b3b4a" promote="Client1a2b3b4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3b4a" /> + </reference> + + <component name="Client1a2b3b4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1a2b3b4b" promote="Client1a2b3b4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3b4b" /> + </reference> + + <component name="Client1b2a3a4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2a3a4a" promote="Client1b2a3a4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3a4a" /> + </reference> + + <component name="Client1b2a3a4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2a3a4b" promote="Client1b2a3a4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3a4b" /> + </reference> + + <component name="Client1b2a3b4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2a3b4a" promote="Client1b2a3b4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3b4a" /> + </reference> + + <component name="Client1b2a3b4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2a3b4b" promote="Client1b2a3b4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3b4b" /> + </reference> + + <component name="Client1b2b3a4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2b3a4a" promote="Client1b2b3a4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3a4a" /> + </reference> + + <component name="Client1b2b3a4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2b3a4b" promote="Client1b2b3a4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)"/> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3a4b" /> + </reference> + + <component name="Client1b2b3b4a"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2b3b4a" promote="Client1b2b3b4a/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3b4a" /> + </reference> + + <component name="Client1b2b3b4b"> + <implementation.java class="helloworld.HelloWorldServiceComponent"/> + <reference name="helloWorldService" /> + </component> + + <reference name="ClientRef1b2b3b4b" promote="Client1b2b3b4b/helloWorldService" > + <!-- interface.java interface="helloworld.HelloWorldService" / --> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" /> + <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3b4b" /> + </reference> + +</composite> diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/resources/some.composite b/branches/trunk-20080910/itest/wsdlless/src/main/resources/some.composite new file mode 100644 index 0000000000..1b099239d1 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/resources/some.composite @@ -0,0 +1,33 @@ +<?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" targetNamespace="http://test" xmlns:test="http://test"
+ name="some">
+ <service name="SomeServices" promote="SomeServicesComponent">
+ <binding.ws uri="http://localhost:8085/SomeServices" />
+ </service>
+
+ <component name="SomeServicesComponent">
+ <implementation.java class="service.SomeServiceImpl" />
+ <service name="SomeService">
+ <interface.java interface="service.SomeService" />
+ </service>
+ </component>
+
+</composite>
diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/resources/wsdl/AccountService.wsdl b/branches/trunk-20080910/itest/wsdlless/src/main/resources/wsdl/AccountService.wsdl new file mode 100644 index 0000000000..73f9ed4bfc --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/resources/wsdl/AccountService.wsdl @@ -0,0 +1,453 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:account="http://www.bigbank.com/account" + targetNamespace="http://www.bigbank.com/account" + name="AccountService"> + + <wsdl:types> + <xsd:schema targetNamespace="http://www.bigbank.com/account" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:account="http://www.bigbank.com/account"> + + <xsd:element name="getAccountReport"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerID" + type="xsd:int" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getAccountReportResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="accountReport" + type="account:AccountReport" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="AccountReport"> + <xsd:sequence> + <xsd:element name="accountSummaries" + type="account:AccountSummary" maxOccurs="unbounded" /> + <xsd:element name="stockSummaries" + type="account:StockSummary" maxOccurs="unbounded" /> + + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="AccountSummary"> + <xsd:attribute name="accountNumber" type="xsd:string" /> + <xsd:attribute name="accountType" type="xsd:string" /> + <xsd:attribute name="balance" type="xsd:float" /> + </xsd:complexType> + + <xsd:complexType name="StockSummary"> + <!-- xsd:attribute name="id" type="xsd:int" / --> + <xsd:attribute name="purchaseLotNumber" type="xsd:int" /> + <!-- unique id for this purchase --> + <xsd:attribute name="symbol" type="xsd:string" /> + <xsd:attribute name="quantity" type="xsd:int" /> + <xsd:attribute name="purchaseDate" type="xsd:dateTime" /> + <xsd:attribute name="purchasePrice" type="xsd:float" /> + <xsd:attribute name="currentPrice" type="xsd:float" /> + <xsd:attribute name="company" type="xsd:string" /> + <xsd:attribute name="highPrice" type="xsd:float" /> + <xsd:attribute name="lowPrice" type="xsd:float" /> + + </xsd:complexType> + + <!-- Profile in data base --> + <xsd:element name="getCustomerProfile"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="loginID" type="xsd:string" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="CustomerProfileData"> + <xsd:sequence> + <xsd:element name="firstName" type="xsd:string" /> + <xsd:element name="lastName" type="xsd:string" /> + <xsd:element name="address" type="xsd:string" /> + <xsd:element name="email" type="xsd:string" /> + <xsd:element name="loginID" type="xsd:string" /> + <xsd:element name="password" type="xsd:string" /> + <xsd:element name="id" type="xsd:int" /> + </xsd:sequence> + </xsd:complexType> + + <xsd:element name="getCustomerProfileResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerProfile" + type="account:CustomerProfileData" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="withdraw"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="accountNumber" + type="xsd:string" /> + <xsd:element name="amount" type="xsd:float" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="withdrawResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="balance" type="xsd:float" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="deposit"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="accountNumber" + type="xsd:string" /> + <xsd:element name="amount" type="xsd:float" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="depositResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="balance" type="xsd:float" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="purchaseStock"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="id" type="xsd:int" /> + <xsd:element name="stock" type="account:StockSummary" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="purchaseStockResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="purchaseSummary" + type="account:StockSummary" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + + + <xsd:element name="sellStock"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="purchaseLotNumber" + type="xsd:int" /><!-- unique id for this purchase --> + <xsd:element name="quantity" type="xsd:int" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="createAccount"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerProfile" + type="account:CustomerProfileData" /> + <xsd:element name="createSavings" + type="xsd:boolean" /> + <xsd:element name="createCheckings" + type="xsd:boolean" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="createAccountResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerProfile" + type="account:CustomerProfileData" /> + </xsd:sequence> + </xsd:complexType> + + </xsd:element> + + <xsd:element name="getAccountLog"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerID" + type="xsd:int" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="getAccountLogResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="accountLog" + type="account:AccountLog" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="AccountLog"> + <xsd:sequence> + <xsd:element name="accountLogEntries" + type="account:AccountLogEntry" maxOccurs="unbounded" /> + <xsd:element name="stockLogEntries" + type="account:StockLogEntry" maxOccurs="unbounded" /> + + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="AccountLogEntry"> + <xsd:attribute name="logSeqNo" type="xsd:int" /> + <xsd:attribute name="id" type="xsd:int" /> + <xsd:attribute name="accountNumber" type="xsd:string" /> + <xsd:attribute name="actionType" type="xsd:string" /> + <xsd:attribute name="amount" type="xsd:float" /> + </xsd:complexType> + + <xsd:complexType name="StockLogEntry"> + <xsd:attribute name="logSeqNo" type="xsd:int" /> + <xsd:attribute name="id" type="xsd:int" /> + <xsd:attribute name="symbol" type="xsd:string" /> + <xsd:attribute name="quantity" type="xsd:int" /> + <xsd:attribute name="actionType" type="xsd:string" /> + <xsd:attribute name="purchaseLotNumber" type="xsd:int" /> + </xsd:complexType> + + </xsd:schema> + </wsdl:types> + <wsdl:message name="getAccountReportRequest"> + <wsdl:part element="account:getAccountReport" + name="getAccountReportRequest" /> + </wsdl:message> + <wsdl:message name="getAccountReportResponse"> + <wsdl:part element="account:getAccountReportResponse" + name="getAccountReportResponse" /> + </wsdl:message> + + <wsdl:message name="getCustomerProfileRequest"> + <wsdl:part element="account:getCustomerProfile" + name="getCustomerProfile" /> + </wsdl:message> + <wsdl:message name="getCustomerProfileResponse"> + <wsdl:part element="account:getCustomerProfileResponse" + name="getCustomerProfileResponse" /> + </wsdl:message> + + <wsdl:message name="withdrawRequest"> + <wsdl:part element="account:withdraw" name="withdrawRequest" /> + </wsdl:message> + + <wsdl:message name="withdrawResponse"> + <wsdl:part element="account:withdrawResponse" + name="withdrawResponse" /> + </wsdl:message> + + <wsdl:message name="depositRequest"> + <wsdl:part element="account:deposit" name="depositRequest" /> + </wsdl:message> + + <wsdl:message name="depositResponse"> + <wsdl:part element="account:depositResponse" + name="depositResponse" /> + </wsdl:message> + + <wsdl:message name="purchaseStockRequest"> + <wsdl:part element="account:purchaseStock" + name="purchaseStockRequest" /> + </wsdl:message> + + <wsdl:message name="purchaseStockResponse"> + <wsdl:part element="account:purchaseStockResponse" + name="purchaseStockResponse" /> + </wsdl:message> + + <wsdl:message name="sellStockRequest"> + <wsdl:part element="account:sellStock" name="sellStockRequest" /> + </wsdl:message> + + <wsdl:message name="createAccountRequest"> + <wsdl:part element="account:createAccount" name="createAccountRequest" /> + </wsdl:message> + + <wsdl:message name="createAccountResponse"> + <wsdl:part element="account:createAccountResponse" name="createAccountResponse" /> + </wsdl:message> + + <wsdl:message name="getAccountLogRequest"> + <wsdl:part element="account:getAccountLog" + name="getAccountLogRequest" /> + </wsdl:message> + + <wsdl:message name="getAccountLogResponse"> + <wsdl:part element="account:getAccountLogResponse" + name="getAccountLogResponse" /> + </wsdl:message> + + <wsdl:portType name="AccountService"> + <wsdl:operation name="getAccountReport"> + <wsdl:input message="account:getAccountReportRequest" /> + <wsdl:output message="account:getAccountReportResponse" /> + </wsdl:operation> + + <wsdl:operation name="getCustomerProfile"> + <wsdl:input message="account:getCustomerProfileRequest" /> + <wsdl:output message="account:getCustomerProfileResponse" /> + </wsdl:operation> + + <wsdl:operation name="withdraw"> + <wsdl:input message="account:withdrawRequest" /> + <wsdl:output message="account:withdrawResponse" /> + </wsdl:operation> + + <wsdl:operation name="deposit"> + <wsdl:input message="account:depositRequest" /> + <wsdl:output message="account:depositResponse" /> + </wsdl:operation> + + <wsdl:operation name="purchaseStock"> + <wsdl:input message="account:purchaseStockRequest" /> + <wsdl:output message="account:purchaseStockResponse" /> + </wsdl:operation> + + <wsdl:operation name="sellStock"> + <wsdl:input message="account:sellStockRequest" /> + <wsdl:output message="account:purchaseStockResponse" /> + </wsdl:operation> + + + <wsdl:operation name="createAccount"> + <wsdl:input message="account:createAccountRequest" /> + <wsdl:output message="account:createAccountResponse" /> + </wsdl:operation> + + <wsdl:operation name="getAccountLog"> + <wsdl:input message="account:getAccountLogRequest" /> + <wsdl:output message="account:getAccountLogResponse" /> + </wsdl:operation> + + </wsdl:portType> + + + + <wsdl:binding name="AccountServiceSOAP" type="account:AccountService"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="getAccountReport"> + <soap:operation + soapAction="http://www.bigbank.com/account/getAccountReport" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="getCustomerProfile"> + <soap:operation + soapAction="http://www.bigbank.com/account/getCustomerProfile" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="withdraw"> + <soap:operation + soapAction="http://www.bigbank.com/account/withdraw" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="deposit"> + <soap:operation + soapAction="http://www.bigbank.com/account/deposit" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="purchaseStock"> + <soap:operation + soapAction="http://www.bigbank.com/account/purchaseStock" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="sellStock"> + <soap:operation + soapAction="http://www.bigbank.com/account/sellStock" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="createAccount"> + <soap:operation + soapAction="http://www.bigbank.com/account/createAccount" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + <wsdl:operation name="getAccountLog"> + <soap:operation + soapAction="http://www.bigbank.com/account/getAccountLog" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + + </wsdl:binding> + <wsdl:service name="AccountService"> + <wsdl:port binding="account:AccountServiceSOAP" + name="AccountServiceSOAP"> + <soap:address + location="http://localhost:8085/services/AccountService" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/branches/trunk-20080910/itest/wsdlless/src/main/resources/wsdl/helloworld.wsdl b/branches/trunk-20080910/itest/wsdlless/src/main/resources/wsdl/helloworld.wsdl new file mode 100644 index 0000000000..bc6fe0e89a --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/main/resources/wsdl/helloworld.wsdl @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<wsdl:definitions targetNamespace="http://helloworld" + xmlns:tns="http://helloworld" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="helloworld"> + + <wsdl:types> + <schema elementFormDefault="qualified" + targetNamespace="http://helloworld" + xmlns="http://www.w3.org/2001/XMLSchema"> + + <element name="getGreetings"> + <complexType> + <sequence> + <element name="name" type="xsd:string" /> + </sequence> + </complexType> + </element> + + <element name="getGreetingsResponse"> + <complexType> + <sequence> + <element name="getGreetingsReturn" + type="xsd:string" /> + </sequence> + </complexType> + </element> + + <element name="getMultipleGreetings"> + <complexType> + <sequence> + <element name="name" type="xsd:string" + maxOccurs="unbounded" /> + </sequence> + </complexType> + </element> + + <element name="getMultipleGreetingsResponse"> + <complexType> + <sequence> + <element name="getGreetingsReturn" + type="xsd:string" maxOccurs="unbounded" /> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="getGreetingsRequest"> + <wsdl:part element="tns:getGreetings" name="parameters" /> + </wsdl:message> + + <wsdl:message name="getGreetingsResponse"> + <wsdl:part element="tns:getGreetingsResponse" name="parameters" /> + </wsdl:message> + + <wsdl:message name="getMultipleGreetingsRequest"> + <wsdl:part element="tns:getMultipleGreetings" name="parameters" /> + </wsdl:message> + + <wsdl:message name="getMultipleGreetingsResponse"> + <wsdl:part element="tns:getMultipleGreetingsResponse" + name="parameters" /> + </wsdl:message> + + <wsdl:portType name="HelloWorld"> + <wsdl:operation name="getGreetings"> + <wsdl:input message="tns:getGreetingsRequest" + name="getGreetingsRequest" /> + <wsdl:output message="tns:getGreetingsResponse" + name="getGreetingsResponse" /> + </wsdl:operation> + <wsdl:operation name="getMultipleGreetings"> + <wsdl:input message="tns:getMultipleGreetingsRequest" + name="getMultipleGreetingsRequest" /> + <wsdl:output message="tns:getMultipleGreetingsResponse" + name="getMultipleGreetingsResponse" /> + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="HelloWorldSoapBinding" type="tns:HelloWorld"> + <wsdlsoap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="getGreetings"> + <wsdlsoap:operation soapAction="" /> + <wsdl:input name="getGreetingsRequest"> + <wsdlsoap:body use="literal" /> + </wsdl:input> + <wsdl:output name="getGreetingsResponse"> + <wsdlsoap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="getMultipleGreetings"> + <wsdlsoap:operation soapAction="" /> + <wsdl:input name="getMultipleGreetingsRequest"> + <wsdlsoap:body use="literal" /> + </wsdl:input> + <wsdl:output name="getMultipleGreetingsResponse"> + <wsdlsoap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + + <wsdl:service name="HelloWorldService"> + <wsdl:port binding="tns:HelloWorldSoapBinding" + name="HelloWorldSoapPort"> + <wsdlsoap:address location="" /> + </wsdl:port> + </wsdl:service> + +</wsdl:definitions> diff --git a/branches/trunk-20080910/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/SDOWSDLTestCase.java b/branches/trunk-20080910/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/SDOWSDLTestCase.java new file mode 100644 index 0000000000..33f541b21b --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/SDOWSDLTestCase.java @@ -0,0 +1,173 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest; + +import static junit.framework.Assert.assertEquals; + +import java.rmi.RemoteException; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +import bigbank.account.services.accountdata.AccountDataService; + +import com.bigbank.account.AccountFactory; +import com.bigbank.account.AccountReport; +import com.bigbank.account.AccountSummary; +import com.bigbank.account.CustomerProfileData; + +/** + * Tests all the combinations of wiring services, components, and references + * which use either interface.java or interface.wsdl. + * + * The tests use a service (1) wired to a components (2) wired to another + * component (3) wired to a reference (4). Each of those uses either + * interface.java (a) or interface.wsdl (b). This results in 16 different + * combinations 1a2a3a4a thru 1b2b3b4b. + */ +public class SDOWSDLTestCase { + + private static SCADomain domain; + + @Test + public void testClient1a2a3a4a() throws RemoteException { + doit("Client1a2a3a4a"); + } + + @Test + public void testClient1a2a3a4b() throws RemoteException { + doit("Client1a2a3a4b"); + } + + @Test + public void testClient1a2a3b4a() throws RemoteException { + doit("Client1a2a3b4a"); + } + + @Test + public void testClient1a2a3b4b() throws RemoteException { + doit("Client1a2a3b4b"); + } + + @Test + public void testClient1a2b3a4a() throws RemoteException { + doit("Client1a2b3a4a"); + } + + @Test + public void testClient1a2b3a4b() throws RemoteException { + doit("Client1a2b3a4b"); + } + + @Test + public void testClient1a2b3b4a() throws RemoteException { + doit("Client1a2b3b4a"); + } + + @Test + public void testClient1a2b3b4b() throws RemoteException { + doit("Client1a2b3b4b"); + } + + @Test + public void testClient1b2a3a4a() throws RemoteException { + doit("Client1b2a3a4a"); + } + + @Test + public void testClient1b2a3a4b() throws RemoteException { + doit("Client1b2a3a4b"); + } + + @Test + public void testClient1b2a3b4a() throws RemoteException { + doit("Client1b2a3b4a"); + } + + @Test + public void testClient1b2a3b4b() throws RemoteException { + doit("Client1b2a3b4b"); + } + + @Test + public void testClient1b2b3a4a() throws RemoteException { + doit("Client1b2b3a4a"); + } + + @Test + public void testClient1b2b3a4b() throws RemoteException { + doit("Client1b2b3a4b"); + } + + @Test + public void testClient1b2b3b4a() throws RemoteException { + doit("Client1b2b3b4a"); + } + + @Test + public void testClient1b2b3b4b() throws RemoteException { + doit("Client1b2b3b4b"); + } + + private void doit(String compName) throws RemoteException { + AccountDataService client = domain.getService(AccountDataService.class, compName); + CustomerProfileData dataIn = AccountFactory.INSTANCE.createCustomerProfileData(); + dataIn.setAddress("home"); + dataIn.setEmail("petra@home"); + dataIn.setFirstName("petra"); + dataIn.setId(1); + dataIn.setLastName("A"); + dataIn.setLoginID("petra"); + dataIn.setPassword("ant"); + + CustomerProfileData dataOut = client.createAccount(dataIn , false, false); + + assertEquals(dataIn.getAddress(), dataOut.getAddress()); + assertEquals(dataIn.getEmail(), dataOut.getEmail()); + assertEquals(dataIn.getFirstName(), dataOut.getFirstName()); + assertEquals(dataIn.getId(), dataOut.getId()); + assertEquals(dataIn.getLastName(), dataOut.getLastName()); + assertEquals(dataIn.getLoginID(), dataOut.getLoginID()); + assertEquals(dataIn.getPassword(), dataOut.getPassword()); + + AccountReport report = client.getAccountReport(12345); + AccountSummary summary1 = (AccountSummary)report.getAccountSummaries().get(0); + assertEquals(summary1.getAccountType(), "checking"); + AccountSummary summary2 = (AccountSummary)report.getAccountSummaries().get(1); + assertEquals(summary2.getBalance(), 2000.f); + } + + @BeforeClass + public static void setUp() throws Exception { + try { + domain = SCADomain.newInstance("SDOWSDLTest.composite"); + }catch(Throwable e) { + e.printStackTrace(); + } + } + + @AfterClass + public static void tearDown() throws Exception { + domain.close(); + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/WSDLTestCase.java b/branches/trunk-20080910/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/WSDLTestCase.java new file mode 100644 index 0000000000..82bf7ce650 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/WSDLTestCase.java @@ -0,0 +1,150 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.itest; + +import static junit.framework.Assert.assertEquals; +import helloworld.HelloWorldService; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests all the combinations of wiring services, components, and references + * which use either interface.java or interface.wsdl. The tests use a service + * (1) wired to a components (2) wired to another component (3) wired to a + * reference (4). Each of those uses either interface.java (a) or interface.wsdl + * (b). This results in 16 different combinations 1a2a3a4a thru 1b2b3b4b. + */ +public class WSDLTestCase { + + private static SCADomain domain; + + @Test + public void testClient1a2a3a4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2a3a4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + String[] greetings = client.getMultipleGreetings(new String[] {"John", "Smith"}); + assertEquals(2, greetings.length); + assertEquals("Hi John", greetings[0]); + assertEquals("Hi Smith", greetings[1]); + } + + @Test + public void testClient1a2a3a4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2a3a4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1a2a3b4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2a3b4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1a2a3b4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2a3b4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1a2b3a4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2b3a4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1a2b3a4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2b3a4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1a2b3b4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2b3b4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1a2b3b4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2b3b4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2a3a4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2a3a4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2a3a4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2a3a4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2a3b4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2a3b4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2a3b4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2a3b4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2b3a4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2b3a4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2b3a4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2b3a4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2b3b4a() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2b3b4a"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @Test + public void testClient1b2b3b4b() { + HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2b3b4b"); + assertEquals("Hi petra", client.getGreetings("petra")); + } + + @BeforeClass + public static void init() throws Throwable { + domain = SCADomain.newInstance("WSDLTest.composite"); + } + + @AfterClass + public static void destroy() throws Exception { + domain.close(); + } +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/test/java/service/SomeComponentTestCase.java b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/SomeComponentTestCase.java new file mode 100644 index 0000000000..7c62287c57 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/SomeComponentTestCase.java @@ -0,0 +1,83 @@ +/* + * 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 service; + +import static org.junit.Assert.assertEquals; + +import java.net.URL; + +import javax.xml.namespace.QName; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +import service.generated.SomeServiceService; + +/** + * @author pxk3 + * + */ +public class SomeComponentTestCase { + private static SCADomain scaDomain; + private static SomeService someService; + + @BeforeClass + public static void setUp() throws Exception { + scaDomain = SCADomain.newInstance("some.composite"); + someService = scaDomain.getService(SomeService.class, "SomeServicesComponent"); + } + + @AfterClass + public static void tearDown() throws Exception { + scaDomain.close(); + } + + @Test + public void testGetUsingMoreComplexObject() throws Exception { + String stringParam = "ABC"; + URL url = new URL("http://localhost:8085/SomeServices?wsdl"); + QName serviceQName = new QName("http://service/", "SomeServiceService"); + SomeServiceService service = new SomeServiceService(url, serviceQName); + service.generated.SomeService proxy = service.getSomeServicePort(); + service.generated.AnObject obj = proxy.getUsingString(stringParam); + assertEquals(stringParam + "123", obj.getSomeRetValue()); + + service.generated.MoreComplexObject obj2 = new service.generated.MoreComplexObject(); + obj2.setStringParam(stringParam); + obj2.setStringParam2("2"); + obj2.setIntParam(new Integer(0)); + + obj = proxy.getUsingMoreComplexObject(obj2); + assertEquals(stringParam + "123", obj.getSomeRetValue()); + } + + @Test + public void testLocal() { + String stringParam = "1234"; + MoreComplexObject moreComplexParam = new MoreComplexObject(); + moreComplexParam.setStringParam(stringParam); + + AnObject anObject = someService.getUsingMoreComplexObject(moreComplexParam); + + assertEquals(stringParam + "123", anObject.getSomeRetValue()); + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/AnObject.java b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/AnObject.java new file mode 100644 index 0000000000..effeb3c701 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/AnObject.java @@ -0,0 +1,100 @@ +/* + * 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 service.generated; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + +/** + * <p>Java class for anObject complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType name="anObject"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="someOtherRetValue" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/> + * <element name="someRetValue" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "anObject", namespace = "", propOrder = {"someOtherRetValue", "someRetValue"}) +public class AnObject { + + protected Integer someOtherRetValue; + protected String someRetValue; + + /** + * Gets the value of the someOtherRetValue property. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getSomeOtherRetValue() { + return someOtherRetValue; + } + + /** + * Sets the value of the someOtherRetValue property. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setSomeOtherRetValue(Integer value) { + this.someOtherRetValue = value; + } + + /** + * Gets the value of the someRetValue property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getSomeRetValue() { + return someRetValue; + } + + /** + * Sets the value of the someRetValue property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setSomeRetValue(String value) { + this.someRetValue = value; + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/GetUsingMoreComplexObject.java b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/GetUsingMoreComplexObject.java new file mode 100644 index 0000000000..284e961788 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/GetUsingMoreComplexObject.java @@ -0,0 +1,79 @@ +/* + * 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 service.generated; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +/** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="arg0" type="{}moreComplexObject" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = {"arg0"}) +@XmlRootElement(name = "getUsingMoreComplexObject", namespace = "http://service/") +public class GetUsingMoreComplexObject { + + @XmlElementRef(name = "arg0", type = JAXBElement.class) + protected JAXBElement<MoreComplexObject> arg0; + + /** + * Gets the value of the arg0 property. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link MoreComplexObject }{@code >} + * + */ + public JAXBElement<MoreComplexObject> getArg0() { + return arg0; + } + + /** + * Sets the value of the arg0 property. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link MoreComplexObject }{@code >} + * + */ + public void setArg0(JAXBElement<MoreComplexObject> value) { + this.arg0 = ((JAXBElement<MoreComplexObject>)value); + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/GetUsingMoreComplexObjectResponse.java b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/GetUsingMoreComplexObjectResponse.java new file mode 100644 index 0000000000..4113aa1a0a --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/GetUsingMoreComplexObjectResponse.java @@ -0,0 +1,79 @@ +/* + * 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 service.generated; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +/** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="return" type="{}anObject" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = {"_return"}) +@XmlRootElement(name = "getUsingMoreComplexObjectResponse", namespace = "http://service/") +public class GetUsingMoreComplexObjectResponse { + + @XmlElementRef(name = "return", type = JAXBElement.class) + protected JAXBElement<AnObject> _return; + + /** + * Gets the value of the return property. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link AnObject }{@code >} + * + */ + public JAXBElement<AnObject> getReturn() { + return _return; + } + + /** + * Sets the value of the return property. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link AnObject }{@code >} + * + */ + public void setReturn(JAXBElement<AnObject> value) { + this._return = ((JAXBElement<AnObject>)value); + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/GetUsingString.java b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/GetUsingString.java new file mode 100644 index 0000000000..532b948b47 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/GetUsingString.java @@ -0,0 +1,79 @@ +/* + * 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 service.generated; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +/** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = {"arg0"}) +@XmlRootElement(name = "getUsingString", namespace = "http://service/") +public class GetUsingString { + + @XmlElementRef(name = "arg0", type = JAXBElement.class) + protected JAXBElement<String> arg0; + + /** + * Gets the value of the arg0 property. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement<String> getArg0() { + return arg0; + } + + /** + * Sets the value of the arg0 property. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setArg0(JAXBElement<String> value) { + this.arg0 = ((JAXBElement<String>)value); + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/GetUsingStringResponse.java b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/GetUsingStringResponse.java new file mode 100644 index 0000000000..82bfb2d2aa --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/GetUsingStringResponse.java @@ -0,0 +1,79 @@ +/* + * 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 service.generated; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +/** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="return" type="{}anObject" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = {"_return"}) +@XmlRootElement(name = "getUsingStringResponse", namespace = "http://service/") +public class GetUsingStringResponse { + + @XmlElementRef(name = "return", type = JAXBElement.class) + protected JAXBElement<AnObject> _return; + + /** + * Gets the value of the return property. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link AnObject }{@code >} + * + */ + public JAXBElement<AnObject> getReturn() { + return _return; + } + + /** + * Sets the value of the return property. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link AnObject }{@code >} + * + */ + public void setReturn(JAXBElement<AnObject> value) { + this._return = ((JAXBElement<AnObject>)value); + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/MoreComplexObject.java b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/MoreComplexObject.java new file mode 100644 index 0000000000..61c7c6cb19 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/MoreComplexObject.java @@ -0,0 +1,126 @@ +/* + * 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 service.generated; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + +/** + * <p>Java class for moreComplexObject complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType name="moreComplexObject"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="intParam" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/> + * <element name="stringParam" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="stringParam2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "moreComplexObject", namespace = "", propOrder = {"intParam", "stringParam", "stringParam2"}) +public class MoreComplexObject { + + protected Integer intParam; + protected String stringParam; + protected String stringParam2; + + /** + * Gets the value of the intParam property. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getIntParam() { + return intParam; + } + + /** + * Sets the value of the intParam property. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setIntParam(Integer value) { + this.intParam = value; + } + + /** + * Gets the value of the stringParam property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getStringParam() { + return stringParam; + } + + /** + * Sets the value of the stringParam property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setStringParam(String value) { + this.stringParam = value; + } + + /** + * Gets the value of the stringParam2 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getStringParam2() { + return stringParam2; + } + + /** + * Sets the value of the stringParam2 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setStringParam2(String value) { + this.stringParam2 = value; + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/ObjectFactory.java b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/ObjectFactory.java new file mode 100644 index 0000000000..1ba0c497d9 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/ObjectFactory.java @@ -0,0 +1,141 @@ +/* + * 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 service.generated; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.namespace.QName; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the service.jaxws package. + * <p>An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _GetUsingMoreComplexObjectArg0_QNAME = new QName("", "arg0"); + private final static QName _GetUsingStringResponseReturn_QNAME = new QName("", "return"); + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: service.jaxws + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link AnObject } + * + */ + public AnObject createAnObject() { + return new AnObject(); + } + + /** + * Create an instance of {@link GetUsingStringResponse } + * + */ + public GetUsingStringResponse createGetUsingStringResponse() { + return new GetUsingStringResponse(); + } + + /** + * Create an instance of {@link GetUsingMoreComplexObjectResponse } + * + */ + public GetUsingMoreComplexObjectResponse createGetUsingMoreComplexObjectResponse() { + return new GetUsingMoreComplexObjectResponse(); + } + + /** + * Create an instance of {@link GetUsingString } + * + */ + public GetUsingString createGetUsingString() { + return new GetUsingString(); + } + + /** + * Create an instance of {@link GetUsingMoreComplexObject } + * + */ + public GetUsingMoreComplexObject createGetUsingMoreComplexObject() { + return new GetUsingMoreComplexObject(); + } + + /** + * Create an instance of {@link MoreComplexObject } + * + */ + public MoreComplexObject createMoreComplexObject() { + return new MoreComplexObject(); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MoreComplexObject }{@code >}} + * + */ + @XmlElementDecl(namespace = "", name = "arg0", scope = GetUsingMoreComplexObject.class) + public JAXBElement<MoreComplexObject> createGetUsingMoreComplexObjectArg0(MoreComplexObject value) { + return new JAXBElement<MoreComplexObject>(_GetUsingMoreComplexObjectArg0_QNAME, MoreComplexObject.class, + GetUsingMoreComplexObject.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AnObject }{@code >}} + * + */ + @XmlElementDecl(namespace = "", name = "return", scope = GetUsingStringResponse.class) + public JAXBElement<AnObject> createGetUsingStringResponseReturn(AnObject value) { + return new JAXBElement<AnObject>(_GetUsingStringResponseReturn_QNAME, AnObject.class, + GetUsingStringResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AnObject }{@code >}} + * + */ + @XmlElementDecl(namespace = "", name = "return", scope = GetUsingMoreComplexObjectResponse.class) + public JAXBElement<AnObject> createGetUsingMoreComplexObjectResponseReturn(AnObject value) { + return new JAXBElement<AnObject>(_GetUsingStringResponseReturn_QNAME, AnObject.class, + GetUsingMoreComplexObjectResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "", name = "arg0", scope = GetUsingString.class) + public JAXBElement<String> createGetUsingStringArg0(String value) { + return new JAXBElement<String>(_GetUsingMoreComplexObjectArg0_QNAME, String.class, GetUsingString.class, value); + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/SomeService.java b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/SomeService.java new file mode 100644 index 0000000000..4a584a8da2 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/SomeService.java @@ -0,0 +1,65 @@ +/* + * 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 service.generated; + +import javax.jws.WebMethod; +import javax.jws.WebParam; +import javax.jws.WebResult; +import javax.jws.WebService; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.ws.RequestWrapper; +import javax.xml.ws.ResponseWrapper; + +/** + * This class was generated by the JAX-WS RI. + * JAX-WS RI 2.1.1 in JDK 6 + * Generated source version: 2.1 + * + */ +@WebService(name = "SomeService", targetNamespace = "http://service/") +@XmlSeeAlso( {ObjectFactory.class}) +public interface SomeService { + + /** + * + * @param arg0 + * @return + * returns service.generated.AnObject + */ + @WebMethod + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "getUsingMoreComplexObject", targetNamespace = "http://service/", className = "service.generated.GetUsingMoreComplexObject") + @ResponseWrapper(localName = "getUsingMoreComplexObjectResponse", targetNamespace = "http://service/", className = "service.generated.GetUsingMoreComplexObjectResponse") + public AnObject getUsingMoreComplexObject(@WebParam(name = "arg0", targetNamespace = "") + MoreComplexObject arg0); + + /** + * + * @param arg0 + * @return + * returns service.generated.AnObject + */ + @WebMethod + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "getUsingString", targetNamespace = "http://service/", className = "service.generated.GetUsingString") + @ResponseWrapper(localName = "getUsingStringResponse", targetNamespace = "http://service/", className = "service.generated.GetUsingStringResponse") + public AnObject getUsingString(@WebParam(name = "arg0", targetNamespace = "") + String arg0); + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/SomeServiceService.java b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/SomeServiceService.java new file mode 100644 index 0000000000..44c2b67256 --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/SomeServiceService.java @@ -0,0 +1,81 @@ +/* + * 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 service.generated; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.xml.namespace.QName; +import javax.xml.ws.Service; +import javax.xml.ws.WebEndpoint; +import javax.xml.ws.WebServiceClient; +import javax.xml.ws.WebServiceFeature; + +/** + * This class was generated by the JAX-WS RI. + * JAX-WS RI 2.1.1 in JDK 6 + * Generated source version: 2.1 + * + */ +@WebServiceClient(name = "SomeServiceService", targetNamespace = "http://service/", wsdlLocation = "file:/C:/Tuscany/java/sca/itest/wsdlless/src/main/resources/some.wsdl") +public class SomeServiceService extends Service { + + private final static URL SOMESERVICESERVICE_WSDL_LOCATION; + + static { + URL url = null; + try { + url = new URL("file:/C:/Tuscany/java/sca/itest/wsdlless/src/main/resources/some.wsdl"); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + SOMESERVICESERVICE_WSDL_LOCATION = url; + } + + public SomeServiceService(URL wsdlLocation, QName serviceName) { + super(wsdlLocation, serviceName); + } + + public SomeServiceService() { + super(SOMESERVICESERVICE_WSDL_LOCATION, new QName("http://service/", "SomeServiceService")); + } + + /** + * + * @return + * returns SomeService + */ + @WebEndpoint(name = "SomeServicePort") + public SomeService getSomeServicePort() { + return (SomeService)super.getPort(new QName("http://service/", "SomeServicePort"), SomeService.class); + } + + /** + * + * @param features + * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values. + * @return + * returns SomeService + */ + @WebEndpoint(name = "SomeServicePort") + public SomeService getSomeServicePort(WebServiceFeature... features) { + return (SomeService)super.getPort(new QName("http://service/", "SomeServicePort"), SomeService.class, features); + } + +} diff --git a/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/package-info.java b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/package-info.java new file mode 100644 index 0000000000..d7b3fef82e --- /dev/null +++ b/branches/trunk-20080910/itest/wsdlless/src/test/java/service/generated/package-info.java @@ -0,0 +1,21 @@ +/* + * 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://service/") +package service.generated; + |