diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:08:37 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:08:37 +0000 |
commit | 4ef0430519e276c2bdecea75f7a0f42f49f0cf30 (patch) | |
tree | 19dd40a9336c52160da6671d2fb3d428725733d4 /sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl | |
parent | 725006d4c47e63986ac042ade23a4d193298b1fe (diff) |
Moving 1.x branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835132 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl')
61 files changed, 4223 insertions, 0 deletions
diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/pom.xml b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/pom.xml new file mode 100644 index 0000000000..9984d70fec --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/pom.xml @@ -0,0 +1,58 @@ +<?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>vtest-wsbinding-nowsdl</artifactId> + <version>1.5-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>vtest-wsbinding-nowsdl-defaultbinding</artifactId> + <name>Apache Tuscany SCA vTest Web Service Binding Verification Tests - No WSDL Default Binding</name> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-embedded</artifactId> + <version>1.5-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-axis2</artifactId> + <version>1.5-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-tomcat</artifactId> + <version>1.5-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-java-runtime</artifactId> + <version>1.5-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + </dependencies> +</project> diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java new file mode 100644 index 0000000000..cba68beb65 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import org.osoa.sca.annotations.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java new file mode 100644 index 0000000000..43e35564b5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java new file mode 100644 index 0000000000..8838c07899 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java new file mode 100644 index 0000000000..27eee2de0a --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import org.osoa.sca.annotations.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java new file mode 100644 index 0000000000..da767518ec --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + public BService b1; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + +}
\ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java new file mode 100644 index 0000000000..4402b76f3a --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService; +import org.osoa.sca.annotations.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java new file mode 100644 index 0000000000..8392f5ed81 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * 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.vtest.wsbinding.nowsdl.defaultbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.CService; +import org.osoa.sca.annotations.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java new file mode 100644 index 0000000000..8064abf235 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * 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.vtest.wsbinding.nowsdl.defaultbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.CService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.DService; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * This class implements AService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +}
\ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite new file mode 100644 index 0000000000..39d66fa365 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite @@ -0,0 +1,61 @@ +<?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://vtest.wsbinding.nowsdl.defaultbinding" + xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance" + name="nowsdl.defaultbinding"> + + <component name="BComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl.BServiceImpl"/> + <service name="BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService"/> + <binding.ws uri="http://localhost:8085/BComponent"/> + </service> + </component> + + <component name="CComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl.CServiceImpl"/> + <service name="CService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.CService"/> + <binding.ws uri="http://localhost:8085/CComponent"/> + </service> + </component> + + <component name="AComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl.AServiceImpl"/> + <reference name="b1" target="BComponent/BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService"/> + <binding.ws uri="http://localhost:8085/BComponent"/> + </reference> + </component> + + <component name="DComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl.DServiceImpl"/> + <reference name="b1" target="BComponent/BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService"/> + <binding.ws uri="http://localhost:8085/BComponent"/> + </reference> + <reference name="c1" target="CComponent/CService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.CService"/> + <binding.ws uri="http://localhost:8085/CComponent"/> + </reference> + </component> + +</composite> diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java new file mode 100644 index 0000000000..b50774cfa9 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java @@ -0,0 +1,112 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.2.2 of SCA Web Services Binding V1.00 + * + * @TODO - will add following tests<br> + * <li>promoted service</li> + * <li>with complex type object</li> + */ +public class NoWsdlDefaultBindingTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdl.composite"; + protected static AService a; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a = ServiceFinder.getService(AService.class, "AComponent"); + d = ServiceFinder.getService(DService.class, "DComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 169-181:<br> + * 2.2.2 Examples Without a WSDL Document<br> + * The next example shows the simplest form of the binding element without + * WSDL document,<br> + * ...<br> + * which itself uses all the defaults.<br> + */ + @Test + public void testNoWsdl1() throws Exception { + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(4000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + } + + /** + * Lines 169-181:<br> + * Test two references using binding.ws but without WSDL documents.<br> + */ + @Test + public void testNoWsdl2() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml new file mode 100644 index 0000000000..aa361e4e97 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml @@ -0,0 +1,58 @@ +<?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>vtest-wsbinding-nowsdl</artifactId> + <version>1.5-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>vtest-wsbinding-nowsdl-multisoapbindings</artifactId> + <name>Apache Tuscany SCA vTest Web Service Binding Verification Tests - No WSDL Multi Soap Bindings</name> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-embedded</artifactId> + <version>1.5-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-axis2</artifactId> + <version>1.5-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-tomcat</artifactId> + <version>1.5-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-java-runtime</artifactId> + <version>1.5-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + </dependencies> +</project> diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java new file mode 100644 index 0000000000..4acfc5ca3f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import org.osoa.sca.annotations.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java new file mode 100644 index 0000000000..fa2f11b495 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java new file mode 100644 index 0000000000..b55df2c0ae --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java new file mode 100644 index 0000000000..e39103a436 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import org.osoa.sca.annotations.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java new file mode 100644 index 0000000000..650d3295a6 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + public BService b1; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + +}
\ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java new file mode 100644 index 0000000000..69d993251b --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService; +import org.osoa.sca.annotations.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java new file mode 100644 index 0000000000..ddcfc01416 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * 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.vtest.wsbinding.nowsdl.multisoapbindings.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.CService; +import org.osoa.sca.annotations.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java new file mode 100644 index 0000000000..a3081b3bf4 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * 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.vtest.wsbinding.nowsdl.multisoapbindings.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.CService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.DService; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * This class implements AService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +}
\ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite new file mode 100644 index 0000000000..8cd599354a --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite @@ -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. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://vtest.wsbinding.nowsdl" + xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance" + name="nowsdl"> + + <component name="BComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl.BServiceImpl"/> + <service name="BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService"/> + <binding.ws name="BServiceSOAP11" requires="SOAP.1_1" uri="http://localhost:8085/BService/soap11"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/BService/soap12"/> + </service> + </component> + + <component name="CComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl.CServiceImpl"/> + <service name="CService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.CService"/> + <binding.ws name="CServiceSOAP12" requires="SOAP.1_2" uri="http://localhost:8085/CService/soap12"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/CService/soap11"/> + </service> + </component> + + <component name="AComponent1"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl.AServiceImpl"/> + <reference name="b1" target="BComponent/BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService"/> + <binding.ws/> + </reference> + </component> + + <component name="AComponent2"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl.AServiceImpl"/> + <reference name="b1" target="BComponent/BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService"/> + <binding.ws requires="SOAP"/> + </reference> + </component> + + <component name="AComponent3"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl.AServiceImpl"/> + <reference name="b1" target="BComponent/BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService"/> + <binding.ws requires="SOAP.1_1"/> + </reference> + </component> + + <component name="AComponent4"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl.AServiceImpl"/> + <reference name="b1" target="BComponent/BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService"/> + <binding.ws requires="SOAP.1_2"/> + </reference> + </component> + + <component name="DComponent1"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl.DServiceImpl"/> + <reference name="b1" target="BComponent/BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService"/> + <binding.ws requires="SOAP.1_1"/> + </reference> + <reference name="c1" target="CComponent/CService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.CService"/> + <binding.ws requires="SOAP.1_2"/> + </reference> + </component> + + <component name="DComponent2"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl.DServiceImpl"/> + <reference name="b1" target="BComponent/BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService"/> + <binding.ws requires="SOAP.1_2"/> + </reference> + <reference name="c1" target="CComponent/CService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.CService"/> + <binding.ws requires="SOAP.1_1"/> + </reference> + </component> + + <service name="BServicePromoted" promote="BComponentPromoted"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService"/> + <binding.ws name="BServicePromotedSOAP11" requires="SOAP.1_1" uri="http://localhost:8085/BServicePromoted/soap11"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/BServicePromoted/soap12"/> + </service> + + <service name="CServicePromoted" promote="CComponentPromoted"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.CService"/> + <binding.ws name="CServicePromotedSOAP12" requires="SOAP.1_2" uri="http://localhost:8085/CServicePromoted/soap12"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/CServicePromoted/soap11"/> + </service> + + <component name="BComponentPromoted"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl.BServiceImpl"/> + </component> + + <component name="CComponentPromoted"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl.CServiceImpl"/> + </component> + + <reference name="DComponent3B1" promote="DComponent3/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/BServicePromoted/soap12"/> + </reference> + + <reference name="DComponent3C1" promote="DComponent3/c1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.CService"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/CServicePromoted/soap11"/> + </reference> + + <component name="DComponent3"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl.DServiceImpl"/> + <reference name="b1"/> + <reference name="c1"/> + </component> + +</composite> diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java new file mode 100644 index 0000000000..ae058cf6c9 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java @@ -0,0 +1,162 @@ +/* + * 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.vtest.wsbinding.nowsdl.multisoapbindings; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.wsdl.Binding; +import javax.wsdl.Definition; +import javax.wsdl.Port; +import javax.wsdl.Service; +import javax.wsdl.extensions.http.HTTPAddress; +import javax.wsdl.extensions.http.HTTPBinding; +import javax.wsdl.extensions.soap.SOAPAddress; +import javax.wsdl.extensions.soap.SOAPBinding; +import javax.wsdl.extensions.soap12.SOAP12Address; +import javax.wsdl.extensions.soap12.SOAP12Binding; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section 2.3.2 of SCA Web Services Binding V1.00 + */ +public class GeneratedWSDLTestCase { + + protected static String compositeName = "nowsdlmultisoapbindings.composite"; + protected static Definition cWSDL = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + cWSDL = ServiceFinder.getWSDLDefinition("CComponent", "CService"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + private Map getPorts(Definition wsdl, String service) { + String targetNamespace = wsdl.getTargetNamespace(); + HashMap sMap = (HashMap) wsdl.getServices(); + for (Iterator i = sMap.keySet().iterator(); i.hasNext();) { + Object k1 = i.next(); + Service s = (Service) sMap.get(k1); + String qName = "{" + targetNamespace + "}" + service; + if (s.getQName().toString().equals(qName)) { + return s.getPorts(); + } + // Don't why implmentation changed to add Service at the end of qname + if (s.getQName().toString().equals(qName + "Service")) { + return s.getPorts(); + } + } + return null; + } + + /** + * Lines 262-264:<br> + * The WSDL service has one or more ports for each web service binding on + * the SCA service that has a SOAP requirement, or that refers to an + * existing WSDL binding, depending on the requirements of the web service + * binding. Each of those ports has a single binding.<p> + * Each service has following bindings:<br> + * <li>SoapBinding - PortType and SOAP11</li> + * <li>SOAP12Binding - SOAP12</li> + * <li>HTTPBinding - Http</li> + * <br>and following ports:<br> + * <li>SoapAddress</li> + * <li>SOAP12Address</li> + * <li>HTTPAddress</li> + */ + @Test + @Ignore + // Only generate SOAP port and binding + public void testMultiSoapBindings4() throws Exception { + + Map pMap = getPorts(cWSDL, "CService"); + int numSoapPort = 0; + int numSoap12Port = 0; + int numHttpPort = 0; + for (Iterator iter = pMap.keySet().iterator(); iter.hasNext();) { + Object k2 = iter.next(); + Port p = (Port) pMap.get(k2); + List eeList = p.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object address = eeList.get(i); + if (address instanceof SOAPAddress) { + numSoapPort++; + } else if (address instanceof SOAP12Address) { + numSoap12Port++; + } else if (address instanceof HTTPAddress) { + numHttpPort++; + }; + } + } + + Map cMap = cWSDL.getBindings(); + int numSoapBinding = 0; + int numSoap12Binding = 0; + int numHttpBinding = 0; + for (Iterator iter = cMap.keySet().iterator(); iter.hasNext();) { + Object k1 = iter.next(); + Binding b = (Binding) cMap.get(k1); + List eeList = b.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object binding = eeList.get(i); + if (binding instanceof SOAPBinding) { + numSoapBinding++; + } else if (binding instanceof SOAP12Binding) { + numSoap12Binding++; + } else if (binding instanceof HTTPBinding) { + numHttpBinding++; + } + } + } + + System.out.println("testMultiSoapBindings4"); + System.out.println(" # of SOAPPort: " + numSoapPort); + System.out.println(" # of SOAP12Port: " + numSoap12Port); + System.out.println(" # of HTTPPort: " + numHttpPort); + System.out.println(" # of SOAPBinding: " + numSoapBinding); + System.out.println(" # of SOAP12Binding: " + numSoap12Binding); + System.out.println(" # of HTTPBinding: " + numHttpBinding); + + Assert.assertEquals(numSoapPort, 1); + Assert.assertTrue(numSoap12Port > 0); + Assert.assertTrue(numSoapBinding > 0); + Assert.assertEquals(numSoap12Binding, 1); + // Skipped to test HTTP + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java new file mode 100644 index 0000000000..5dbb696bf5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java @@ -0,0 +1,213 @@ +/* + * 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.vtest.wsbinding.nowsdl.multisoapbindings; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.2.2 and 2.3.2 of SCA Web Services + * Binding V1.00 + */ +public class NoWsdlMultiSoapBindingsTestCase { + + protected static String compositeName = "nowsdlmultisoapbindings.composite"; + protected static AService a1; + protected static AService a2; + protected static AService a3; + protected static AService a4; + protected static DService d1; + protected static DService d2; + protected static DService d3; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a1 = ServiceFinder.getService(AService.class, "AComponent1"); + a2 = ServiceFinder.getService(AService.class, "AComponent2"); + a3 = ServiceFinder.getService(AService.class, "AComponent3"); + a4 = ServiceFinder.getService(AService.class, "AComponent4"); + d1 = ServiceFinder.getService(DService.class, "DComponent1"); + d2 = ServiceFinder.getService(DService.class, "DComponent2"); + d3 = ServiceFinder.getService(DService.class, "DComponent3"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 201-225:<br> + * The next example shows the use of the binding element without a WSDL + * document, with multiple SOAP bindings with non-default values. The SOAP + * 1.2 binding name defaults to the service name, the SOAP 1.1 binding is + * given an explicit name. The reference has a web service binding which + * uses SOAP 1.2, but otherwise uses all the defaults for SOAP binding. + * The reference binding name defaults to the reference name.<p> + * Line 253:<br> + * <li>soap</li> + * ...<br> + * version, including multiple versions.<br> + * <p> + * AComponent1 - no requires<br> + * AComponent2 - requires = soap<br> + * AComponent3 - requires = soap.1_1<br> + * AComponent4 - requires = soap.1_2<br> + */ + @Test + public void testMultiSoapBindings1() throws Exception { + + String aName = a1.getName(); + String b1Str1 = a1.getB1String("string1"); + String b1Str2 = a1.getB1String2("string2", "string3"); + int b1Int = a1.getB1Int(1000); + + System.out.println("AComponent1: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(1000, b1Int); + + aName = a2.getName(); + b1Str1 = a2.getB1String("string1"); + b1Str2 = a2.getB1String2("string2", "string3"); + b1Int = a2.getB1Int(2000); + + System.out.println("AComponent2: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(2000, b1Int); + + aName = a3.getName(); + b1Str1 = a3.getB1String("string1"); + b1Str2 = a3.getB1String2("string2", "string3"); + b1Int = a3.getB1Int(3000); + + System.out.println("AComponent3: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(3000, b1Int); + + aName = a4.getName(); + b1Str1 = a4.getB1String("string1"); + b1Str2 = a4.getB1String2("string2", "string3"); + b1Int = a4.getB1Int(4000); + + System.out.println("AComponent4: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + + } + + /** + * Lines 201-225, 262-264:<br> + * The WSDL service has one or more ports for each web service binding on + * the SCA service that has a SOAP requirement, or that refers to an + * existing WSDL binding, depending on the requirements of the web service + * binding. Each of those ports has a single binding.<br> + * <p> + * Test multiple SOAP bindings with two references which use different versions.<br> + */ + @Test + public void testMultiSoapBindings2() throws Exception { + + String dName = d1.getName(); + String b1Str1 = d1.getB1String("string1"); + String b1Str2 = d1.getB1String2("string2", "string3"); + String c1Str1 = d1.getC1String("string5"); + String c1Str2 = d1.getC1String2("string6", "string7"); + int b1Int = d1.getB1Int(4000); + float c1Float = d1.getC1Float((float) 8.8); + Integer c1Integer = d1.getC1Integer(new Integer(9001)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9001), c1Integer); + + dName = d2.getName(); + b1Str1 = d2.getB1String("string1"); + b1Str2 = d2.getB1String2("string2", "string3"); + c1Str1 = d2.getC1String("string5"); + c1Str2 = d2.getC1String2("string6", "string7"); + b1Int = d2.getB1Int(4000); + c1Float = d2.getC1Float((float) 8.8); + c1Integer = d2.getC1Integer(new Integer(9002)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9002), c1Integer); + } + + /** + * Lines 201-225, 262-264:<br> + * Test multiple SOAP bindings with promoted services and references.<br> + */ + @Test + public void testMultiSoapBindings3() throws Exception { + + String dName = d3.getName(); + String b1Str1 = d3.getB1String("string1"); + String b1Str2 = d3.getB1String2("string2", "string3"); + String c1Str1 = d3.getC1String("string5"); + String c1Str2 = d3.getC1String2("string6", "string7"); + int b1Int = d3.getB1Int(4000); + float c1Float = d3.getC1Float((float) 8.8); + Integer c1Integer = d3.getC1Integer(new Integer(9003)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9003), c1Integer); + + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/pom.xml b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/pom.xml new file mode 100644 index 0000000000..357adbc934 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/pom.xml @@ -0,0 +1,69 @@ +<?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>vtest-wsbinding</artifactId> + <version>1.5-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>vtest-wsbinding-nowsdl</artifactId> + <packaging>pom</packaging> + + <name>Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL</name> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-embedded</artifactId> + <version>1.5-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-axis2</artifactId> + <version>1.5-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>vtest-utilities</artifactId> + <version>1.5-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + </dependencies> + + <profiles> + <profile> + <id>default</id> + <activation> + <activeByDefault>true</activeByDefault> + </activation> + <modules> + <module>defaultbinding</module> + <module>soapversion</module> + <module>multisoapbindings</module> + <module>promoted</module> + </modules> + </profile> + </profiles> +</project> diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/pom.xml b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/pom.xml new file mode 100644 index 0000000000..8a8ae46b8d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/pom.xml @@ -0,0 +1,58 @@ +<?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>vtest-wsbinding-nowsdl</artifactId> + <version>1.5-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>vtest-wsbinding-nowsdl-promoted</artifactId> + <name>Apache Tuscany SCA vTest Web Service Binding Verification Tests - No WSDL Promoted Service and Reference</name> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-embedded</artifactId> + <version>1.5-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-axis2</artifactId> + <version>1.5-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-tomcat</artifactId> + <version>1.5-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-java-runtime</artifactId> + <version>1.5-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + </dependencies> +</project> diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java new file mode 100644 index 0000000000..6ab6fbb8f5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.osoa.sca.annotations.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java new file mode 100644 index 0000000000..f3c42008aa --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java new file mode 100644 index 0000000000..1215d9d41f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java new file mode 100644 index 0000000000..774b68bf6d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP11 { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java new file mode 100644 index 0000000000..952df7ccfe --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP12 { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java new file mode 100644 index 0000000000..9111b5c3a9 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java new file mode 100644 index 0000000000..5aa508d8f1 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.osoa.sca.annotations.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java new file mode 100644 index 0000000000..055283bfad --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + public BService b1; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + +}
\ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java new file mode 100644 index 0000000000..8f776672de --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService; +import org.osoa.sca.annotations.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java new file mode 100644 index 0000000000..7a5d91d762 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP11; +import org.osoa.sca.annotations.Service; + +@Service(BServiceSOAP11.class) +public class BServiceSOAP11Impl implements BServiceSOAP11 { + + public String getName() { + return "BServiceSOAP11"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java new file mode 100644 index 0000000000..121de12d3c --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP12; +import org.osoa.sca.annotations.Service; + +@Service(BServiceSOAP12.class) +public class BServiceSOAP12Impl implements BServiceSOAP12 { + + public String getName() { + return "BServiceSOAP12"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java new file mode 100644 index 0000000000..f05c8852f6 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP; +import org.osoa.sca.annotations.Service; + +@Service(BServiceSOAP.class) +public class BServiceSOAPImpl implements BServiceSOAP { + + public String getName() { + return "BServiceSOAP"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java new file mode 100644 index 0000000000..746b0a357f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * 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.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.CService; +import org.osoa.sca.annotations.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java new file mode 100644 index 0000000000..5be411b286 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * 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.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.CService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.DService; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * This class implements AService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +}
\ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite new file mode 100644 index 0000000000..f79df5bf8f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite @@ -0,0 +1,246 @@ +<?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://vtest.wsbinding.nowsdl.promoted" + xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance" + name="nowsdl.promoted"> + + <service name="BService" promote="BComponent"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService"/> + <binding.ws uri="http://localhost:8085/BService"/> + </service> + + <service name="BServiceSOAP" promote="BComponentSOAP"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP"/> + <binding.ws requires="SOAP" uri="http://localhost:8085/BServiceSOAP"/> + </service> + + <service name="BServiceSOAP11" promote="BComponentSOAP11"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP11"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/BServiceSOAP11"/> + </service> + + <service name="BServiceSOAP12" promote="BComponentSOAP12"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP12"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/BServiceSOAP12"/> + </service> + + <service name="CService" promote="CComponent"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.CService"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/CService"/> + </service> + + <component name="BComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.BServiceImpl"/> + </component> + + <component name="BComponentSOAP"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.BServiceSOAPImpl"/> + </component> + + <component name="BComponentSOAP11"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.BServiceSOAP11Impl"/> + </component> + + <component name="BComponentSOAP12"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.BServiceSOAP12Impl"/> + </component> + + <component name="CComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.CServiceImpl"/> + </component> + + <reference name="AComponent1B1" promote="AComponent1/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService"/> + <binding.ws uri="http://localhost:8085/BService"/> + </reference> + + <reference name="AComponent2B1" promote="AComponent2/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService"/> + <binding.ws requires="SOAP" uri="http://localhost:8085/BService"/> + </reference> + + <reference name="AComponent3B1" promote="AComponent3/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/BService"/> + </reference> + + <reference name="AComponent4B1" promote="AComponent4/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/BService"/> + </reference> + + <reference name="AComponent5B1" promote="AComponent5/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP"/> + <binding.ws uri="http://localhost:8085/BServiceSOAP"/> + </reference> + + <reference name="AComponent6B1" promote="AComponent6/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP"/> + <binding.ws requires="SOAP" uri="http://localhost:8085/BServiceSOAP"/> + </reference> + + <reference name="AComponent7B1" promote="AComponent7/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/BServiceSOAP"/> + </reference> + + <reference name="AComponent8B1" promote="AComponent8/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/BServiceSOAP"/> + </reference> + + <reference name="AComponent9B1" promote="AComponent9/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP11"/> + <binding.ws uri="http://localhost:8085/BServiceSOAP11"/> + </reference> + + <reference name="AComponent10B1" promote="AComponent10/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP11"/> + <binding.ws requires="SOAP" uri="http://localhost:8085/BServiceSOAP11"/> + </reference> + + <reference name="AComponent11B1" promote="AComponent11/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP11"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/BServiceSOAP11"/> + </reference> + + <reference name="AComponent12B1" promote="AComponent12/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP11"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/BServiceSOAP11"/> + </reference> + + <reference name="AComponent13B1" promote="AComponent13/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP12"/> + <binding.ws uri="http://localhost:8085/BServiceSOAP12"/> + </reference> + + <reference name="AComponent14B1" promote="AComponent14/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP12"/> + <binding.ws requires="SOAP" uri="http://localhost:8085/BServiceSOAP12"/> + </reference> + + <reference name="AComponent15B1" promote="AComponent15/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP12"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/BServiceSOAP12"/> + </reference> + + <reference name="AComponent16B1" promote="AComponent16/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP12"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/BServiceSOAP12"/> + </reference> + + <reference name="DComponentB1" promote="DComponent/b1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP11"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/BServiceSOAP11"/> + </reference> + + <reference name="DComponentC1" promote="DComponent/c1"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.CService"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/CService"/> + </reference> + + <component name="AComponent1"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent2"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent3"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent4"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent5"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent6"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent7"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent8"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent9"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent10"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent11"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent12"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent13"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent14"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent15"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="AComponent16"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.AServiceImpl"/> + <reference name="b1"/> + </component> + + <component name="DComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl.DServiceImpl"/> + <reference name="b1"/> + <reference name="c1"/> + </component> + +</composite> diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java new file mode 100644 index 0000000000..ae7dafa46e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java @@ -0,0 +1,85 @@ +/* + * 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.vtest.wsbinding.nowsdl.promoted; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.AService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.1 and 2.3.3.1 of SCA Web Services Binding + * V1.00 + */ +public class NoWsdlPromoted1TestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlpromoted.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 251-253, 287-291:<br> + * <li>soap</li> + * This indicates that a SOAP binding is required. The SOAP binding may be + * of any SOAP version, including multiple versions.<br> + * <br> + * 2.3.3.1 SOAP versions<br> + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. Where no specific SOAP version is required, then one or more + * WSDL ports with associated SOAP bindings may be generated, depending on + * the level(s) supported in the target runtime.<br> + * <p> + * Tests promoted services and references<br> + */ + @Test + public void testSoapVersion1() throws Exception { + + for (int i = 0; i < 8; i++) { + AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(i * 1000 + 1000); + System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(i * 1000 + 1000, b1Int); + } + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java new file mode 100644 index 0000000000..a4744b9007 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java @@ -0,0 +1,118 @@ +/* + * 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.vtest.wsbinding.nowsdl.promoted; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.1 and 2.3.3.1 of SCA Web Services Binding + * V1.00 + */ +public class NoWsdlPromoted2TestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlpromoted.composite"; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + d = ServiceFinder.getService(DService.class, "DComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 254-257, 287-291:<br> + * <li>soap.1_1</li><br> + * A SOAP 1.1 binding only is required.<br> + * <li>soap.1_2</li><br> + * A SOAP 1.2 binding only is required.<br> + * <br> + * 2.3.3.1 SOAP versions<br> + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. Where no specific SOAP version is required, then one or more + * WSDL ports with associated SOAP bindings may be generated, depending on + * the level(s) supported in the target runtime.<br> + * <p> + * Tests promoted services and references<br> + */ + @Test + public void testSoapVersion2() throws Exception { + + for (int i = 8; i < 16; i++) { + AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(i * 1000 + 1000); + System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(i * 1000 + 1000, b1Int); + } + } + + /** + * Lines 254-257, 287-291:<br> + * Test two references using binding.ws with 2 different SOAP versions + * and without WSDL document.<br> + */ + @Test + public void testSoapVersion3() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/pom.xml b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/pom.xml new file mode 100644 index 0000000000..0fd0c643ab --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/pom.xml @@ -0,0 +1,58 @@ +<?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>vtest-wsbinding-nowsdl</artifactId> + <version>1.5-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>vtest-wsbinding-nowsdl-soapversion</artifactId> + <name>Apache Tuscany SCA vTest Web Service Binding Verification Tests - No WSDL SOAP Version</name> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-embedded</artifactId> + <version>1.5-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-axis2</artifactId> + <version>1.5-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-tomcat</artifactId> + <version>1.5-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-java-runtime</artifactId> + <version>1.5-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + </dependencies> +</project> diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java new file mode 100644 index 0000000000..d5204634a6 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.osoa.sca.annotations.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java new file mode 100644 index 0000000000..034aad7781 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java new file mode 100644 index 0000000000..1c345428b3 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java new file mode 100644 index 0000000000..74dcccd898 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP11 { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java new file mode 100644 index 0000000000..a86922ef4f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP12 { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java new file mode 100644 index 0000000000..a809795657 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java new file mode 100644 index 0000000000..2c1642ff14 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.osoa.sca.annotations.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java new file mode 100644 index 0000000000..657be52e7d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + public BService b1; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + +}
\ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java new file mode 100644 index 0000000000..fb079fa8bc --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; +import org.osoa.sca.annotations.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java new file mode 100644 index 0000000000..9f0e76ec10 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP11; +import org.osoa.sca.annotations.Service; + +@Service(BServiceSOAP11.class) +public class BServiceSOAP11Impl implements BServiceSOAP11 { + + public String getName() { + return "BServiceSOAP11"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java new file mode 100644 index 0000000000..91e4ffbd7e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP12; +import org.osoa.sca.annotations.Service; + +@Service(BServiceSOAP12.class) +public class BServiceSOAP12Impl implements BServiceSOAP12 { + + public String getName() { + return "BServiceSOAP12"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java new file mode 100644 index 0000000000..b8cd38bb09 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.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 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP; +import org.osoa.sca.annotations.Service; + +@Service(BServiceSOAP.class) +public class BServiceSOAPImpl implements BServiceSOAP { + + public String getName() { + return "BServiceSOAP"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java new file mode 100644 index 0000000000..250694dc36 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * 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.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService; +import org.osoa.sca.annotations.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java new file mode 100644 index 0000000000..9f6c29c643 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * 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.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.DService; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * This class implements AService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +}
\ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite new file mode 100644 index 0000000000..61a658ab55 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite @@ -0,0 +1,205 @@ +<?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://vtest.wsbinding.nowsdl.soapversion" + xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance" + name="nowsdl.soapversion"> + + <component name="BComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.BServiceImpl"/> + <service name="BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService"/> + <binding.ws uri="http://localhost:8085/BComponent"/> + </service> + </component> + + <component name="BComponentSOAP"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.BServiceSOAPImpl"/> + <service name="BServiceSOAP"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP"/> + <binding.ws requires="SOAP" uri="http://localhost:8085/BComponentSOAP"/> + </service> + </component> + + <component name="BComponentSOAP11"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.BServiceSOAP11Impl"/> + <service name="BServiceSOAP11"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP11"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/BComponentSOAP11"/> + </service> + </component> + + <component name="BComponentSOAP12"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.BServiceSOAP12Impl"/> + <service name="BServiceSOAP12"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP12"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/BComponentSOAP12"/> + </service> + </component> + + <component name="CComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.CServiceImpl"/> + <service name="CService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/CComponent"/> + </service> + </component> + + <component name="AComponent1"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponent/BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService"/> + <binding.ws uri="http://localhost:8085/BComponent"/> + </reference> + </component> + + <component name="AComponent2"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponent/BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService"/> + <binding.ws requires="SOAP" uri="http://localhost:8085/BComponent"/> + </reference> + </component> + + <component name="AComponent3"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponent/BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/BComponent"/> + </reference> + </component> + + <component name="AComponent4"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponent/BService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/BComponent"/> + </reference> + </component> + + <component name="AComponent5"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponentSOAP/BServiceSOAP"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP"/> + <binding.ws uri="http://localhost:8085/BComponentSOAP"/> + </reference> + </component> + + <component name="AComponent6"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponentSOAP/BServiceSOAP"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP"/> + <binding.ws requires="SOAP" uri="http://localhost:8085/BComponentSOAP"/> + </reference> + </component> + + <component name="AComponent7"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponentSOAP/BServiceSOAP"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/BComponentSOAP"/> + </reference> + </component> + + <component name="AComponent8"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponentSOAP/BServiceSOAP"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/BComponentSOAP"/> + </reference> + </component> + + <component name="AComponent9"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponentSOAP11/BServiceSOAP11"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP11"/> + <binding.ws uri="http://localhost:8085/BComponentSOAP11"/> + </reference> + </component> + + <component name="AComponent10"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponentSOAP11/BServiceSOAP11"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP11"/> + <binding.ws requires="SOAP" uri="http://localhost:8085/BComponentSOAP11"/> + </reference> + </component> + + <component name="AComponent11"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponentSOAP11/BServiceSOAP11"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP11"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/BComponentSOAP11"/> + </reference> + </component> + + <component name="AComponent12"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponentSOAP11/BServiceSOAP11"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP11"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/BComponentSOAP11"/> + </reference> + </component> + + <component name="AComponent13"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponentSOAP12/BServiceSOAP12"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP12"/> + <binding.ws uri="http://localhost:8085/BComponentSOAP12"/> + </reference> + </component> + + <component name="AComponent14"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponentSOAP12/BServiceSOAP12"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP12"/> + <binding.ws requires="SOAP" uri="http://localhost:8085/BComponentSOAP12"/> + </reference> + </component> + + <component name="AComponent15"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponentSOAP12/BServiceSOAP12"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP12"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/BComponentSOAP12"/> + </reference> + </component> + + <component name="AComponent16"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.AServiceImpl"/> + <reference name="b1" target="BComponentSOAP12/BServiceSOAP12"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP12"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/BComponentSOAP12"/> + </reference> + </component> + + <component name="DComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.DServiceImpl"/> + <reference name="b1" target="BComponentSOAP11/BServiceSOAP11"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP11"/> + <binding.ws requires="SOAP.1_1" uri="http://localhost:8085/BComponentSOAP11"/> + </reference> + <reference name="c1" target="CComponent/CService"> + <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService"/> + <binding.ws requires="SOAP.1_2" uri="http://localhost:8085/CComponent"/> + </reference> + </component> + +</composite> diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java new file mode 100644 index 0000000000..edd0d91072 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java @@ -0,0 +1,438 @@ +/* + * 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.vtest.wsbinding.nowsdl.soapversion; + +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.wsdl.Binding; +import javax.wsdl.BindingInput; +import javax.wsdl.BindingOperation; +import javax.wsdl.BindingOutput; +import javax.wsdl.Definition; +import javax.wsdl.Operation; +import javax.wsdl.Port; +import javax.wsdl.PortType; +import javax.wsdl.Service; +import javax.wsdl.extensions.http.HTTPAddress; +import javax.wsdl.extensions.http.HTTPBinding; +import javax.wsdl.extensions.http.HTTPOperation; +import javax.wsdl.extensions.soap.SOAPAddress; +import javax.wsdl.extensions.soap.SOAPBinding; +import javax.wsdl.extensions.soap.SOAPBody; +import javax.wsdl.extensions.soap.SOAPHeader; +import javax.wsdl.extensions.soap.SOAPHeaderFault; +import javax.wsdl.extensions.soap.SOAPOperation; +import javax.wsdl.extensions.soap12.SOAP12Address; +import javax.wsdl.extensions.soap12.SOAP12Binding; +import javax.wsdl.extensions.soap12.SOAP12Body; +import javax.wsdl.extensions.soap12.SOAP12Header; +import javax.wsdl.extensions.soap12.SOAP12HeaderFault; +import javax.wsdl.extensions.soap12.SOAP12Operation; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService; + + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.2, 2.3.3, 2.3.3.1, and 2.3.4 of SCA + * Web Services Binding V1.00 + */ +public class GeneratedWSDLTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlsoapversion.composite"; + protected static Definition bWSDL = null; + protected static Definition cWSDL = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + bWSDL = ServiceFinder.getWSDLDefinition("BComponent", "BService"); + cWSDL = ServiceFinder.getWSDLDefinition("CComponent", "CService"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 260-262:<br> + * A separate WSDL document is generated for each SCA service. Each has + * its own unique target namespace. This is to ensure that bindings on + * different services of the same component do not clash.<br> + */ + @Test + @Ignore("TUSCANY-2607") + // Don't know why target namespaces are same + public void testSoapVersion4() throws Exception { + String cTargetNamespace = cWSDL.getTargetNamespace(); + String bTargetNamespace = bWSDL.getTargetNamespace(); + Assert.assertFalse(bTargetNamespace.equals(cTargetNamespace)); + } + + /** + * Lines 271-273:<br> + * The target namespace of the WSDL document, and of the service, ports and + * generated binding elements is:<br> + * Base System URI for HTTP / Component Name / Service Name<br> + */ + @Test + @Ignore("TUSCANY-2607") + // The target namespace does not follow the convention + public void testSoapVersion5() throws Exception { + String bTargetNamespace = bWSDL.getTargetNamespace(); + String cTargetNamespace = cWSDL.getTargetNamespace(); + Assert.assertTrue(bTargetNamespace.endsWith("BComponent/BService")); + Assert.assertTrue(cTargetNamespace.endsWith("CComponent/CService")); + } + + private Map getPorts(Definition wsdl, String service) { + String targetNamespace = wsdl.getTargetNamespace(); + HashMap sMap = (HashMap) wsdl.getServices(); + for (Iterator i = sMap.keySet().iterator(); i.hasNext();) { + Object k1 = i.next(); + Service s = (Service) sMap.get(k1); + String qName = "{" + targetNamespace + "}" + service; + if (s.getQName().toString().equals(qName)) { + return s.getPorts(); + } + // Don't why implmentation changed to add Service at the end of qname + if (s.getQName().toString().equals(qName + "Service")) { + return s.getPorts(); + } + } + return null; + } + + /** + * Lines 262-264, 290-291:<br> + * The WSDL service has one or more ports for each web service binding on + * the SCA service that has a SOAP requirement, or that refers to an + * existing WSDL binding, depending on the requirements of the web service + * binding. Each of those ports has a single binding.<br> + * <p> + * 2.3.3.1 SOAP versions<br> + * Where no specific SOAP version is required, then one or more WSDL ports + * with associated SOAP bindings may be generated, depending on the level(s) + * supported in the target runtime.<br> + * <p> + * BComponent/BService is not specified a SOAP version. + * It should have following bindings:<br> + * <li>SoapBinding - PortType and SOAP11</li> + * <li>SOAP12Binding - SOAP12</li> + * <li>HTTPBinding - Http</li> + * <br>and following ports:<br> + * <li>SoapAddress</li> + * <li>SOAP12Address</li> + * <li>HTTPAddress</li> + + */ + @Test + public void testSoapVersion6() throws Exception { + + Map pMap = getPorts(bWSDL, "BService"); + int numSoapPort = 0; + int numSoap12Port = 0; + int numHttpPort = 0; + for (Iterator iter = pMap.keySet().iterator(); iter.hasNext();) { + Object k2 = iter.next(); + Port p = (Port) pMap.get(k2); + List eeList = p.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object address = eeList.get(i); + if (address instanceof SOAPAddress) { + numSoapPort++; + } else if (address instanceof SOAP12Address) { + numSoap12Port++; + } else if (address instanceof HTTPAddress) { + numHttpPort++; + } else { + System.out.println("address:" + address.getClass()); + } + } + } + + Map bMap = bWSDL.getBindings(); + int numSoapBinding = 0; + int numSoap12Binding = 0; + int numHttpBinding = 0; + for (Iterator iter = bMap.keySet().iterator(); iter.hasNext();) { + Object k1 = iter.next(); + Binding b = (Binding) bMap.get(k1); + List eeList = b.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object binding = eeList.get(i); + if (binding instanceof SOAPBinding) { + numSoapBinding++; + } else if (binding instanceof SOAP12Binding) { + numSoap12Binding++; + } else if (binding instanceof HTTPBinding) { + numHttpBinding++; + } + } + } + + System.out.println("testSoapVersion6"); + System.out.println(" # of SOAPPort: " + numSoapPort); + System.out.println(" # of SOAP12Port: " + numSoap12Port); + System.out.println(" # of HTTPPort: " + numHttpPort); + System.out.println(" # of SOAPBinding: " + numSoapBinding); + System.out.println(" # of SOAP12Binding: " + numSoap12Binding); + System.out.println(" # of HTTPBinding: " + numHttpBinding); + + Assert.assertEquals(numSoapPort, 1); + Assert.assertEquals(numSoap12Port, 0); + Assert.assertTrue(numSoapBinding > 0); + Assert.assertEquals(numSoap12Binding, 0); + // Skipped to test HTTP + + } + + /** + * Lines 275-284:<br> + * 2.3.3 WSDL Bindings<br> + * The binding elements in the generated WSDL document are either defined + * within the document, derived from the requirements of the binding, or + * are imported from existing WSDL documents.<br> + * Generated bindings have the following fixed assumptions:<br> + * <li>use="literal" for input and output messages</li> + * <li>style="document" for the binding</li> + * <li>All faults map to soap:faults</li> + * <li>No header or headerFault elements are generated</li> + * <li>The transport is "http://schemas.xmlsoap.org/soap/http", unless the + * system provides intents for alternative transports<br> + * <p> + */ + @Test + public void testSoapVersion7() throws Exception { + Map bMap = bWSDL.getBindings(); + for (Iterator iter = bMap.keySet().iterator(); iter.hasNext();) { + Object k1 = iter.next(); + Binding b = (Binding) bMap.get(k1); + List eeList = b.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object binding = eeList.get(i); + if (binding instanceof SOAPBinding) { + SOAPBinding sb = (SOAPBinding) binding; + Assert.assertEquals(sb.getStyle(), "document"); + Assert.assertEquals(sb.getTransportURI(), "http://schemas.xmlsoap.org/soap/http"); + } else if (binding instanceof SOAP12Binding) { + SOAP12Binding sb = (SOAP12Binding) binding; + Assert.assertEquals(sb.getStyle(), "document"); + Assert.assertEquals(sb.getTransportURI(), "http://schemas.xmlsoap.org/soap/http"); + } else if (binding instanceof HTTPBinding) { + } + } + List operations = b.getBindingOperations(); + for (int i = 0; i < eeList.size(); i++) { + BindingOperation bop = (BindingOperation) operations.get(i); + + List oeeList = bop.getExtensibilityElements(); + for (int j = 0; j < eeList.size(); j++) { + Object op = oeeList.get(j); + if (op instanceof SOAPOperation) { + SOAPOperation sop = (SOAPOperation) op; + if (sop.getStyle() != null) + Assert.assertEquals(sop.getStyle(), "document"); + } else if (op instanceof SOAP12Operation) { + SOAP12Operation sop = (SOAP12Operation) op; + Assert.assertEquals(sop.getStyle(), "document"); + } else if (op instanceof HTTPOperation) { + // HTTPOperation hop = (HTTPOperation) op; + } + } + + BindingInput bInput = (BindingInput) bop.getBindingInput(); + List bInputList = bInput.getExtensibilityElements(); + for (int j = 0; j < eeList.size(); j++) { + Object body = bInputList.get(j); + if (body instanceof SOAPBody) { + SOAPBody sBody = (SOAPBody) body; + Assert.assertEquals(sBody.getUse(), "literal"); + } else if (body instanceof SOAP12Body) { + SOAP12Body sBody = (SOAP12Body) body; + Assert.assertEquals(sBody.getUse(), "literal"); + } else { + Assert.assertFalse(body instanceof SOAPHeader); + Assert.assertFalse(body instanceof SOAP12Header); + Assert.assertFalse(body instanceof SOAPHeaderFault); + Assert.assertFalse(body instanceof SOAP12HeaderFault); + } + } + + BindingOutput bOutput = (BindingOutput) bop.getBindingOutput(); + List bOutputList = bOutput.getExtensibilityElements(); + for (int j = 0; j < eeList.size(); j++) { + Object body = bOutputList.get(j); + if (body instanceof SOAPBody) { + SOAPBody sBody = (SOAPBody) body; + Assert.assertEquals(sBody.getUse(), "literal"); + } else if (body instanceof SOAP12Body) { + SOAP12Body sBody = (SOAP12Body) body; + Assert.assertEquals(sBody.getUse(), "literal"); + } else { + Assert.assertFalse(body instanceof SOAPHeader); + Assert.assertFalse(body instanceof SOAP12Header); + Assert.assertFalse(body instanceof SOAPHeaderFault); + Assert.assertFalse(body instanceof SOAP12HeaderFault); + } + } + + Map bFaults = bop.getBindingFaults(); + if (bFaults.size() > 0) + System.out.println("WARNING: Skipped to test binding faults"); + + } + } + } + + /** + * Lines 288-289:<br> + * 2.3.3.1 SOAP versions<br> + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. + */ + @Test + public void testSoapVersion8() throws Exception { + + Map pMap = getPorts(cWSDL, "CService"); + int numSoapPort = 0; + int numSoap12Port = 0; + int numHttpPort = 0; + for (Iterator iter = pMap.keySet().iterator(); iter.hasNext();) { + Object k2 = iter.next(); + Port p = (Port) pMap.get(k2); + List eeList = p.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object address = eeList.get(i); + if (address instanceof SOAPAddress) { + numSoapPort++; + } else if (address instanceof SOAP12Address) { + numSoap12Port++; + } else if (address instanceof HTTPAddress) { + numHttpPort++; + }; + } + } + + Map cMap = cWSDL.getBindings(); + int numSoapBinding = 0; + int numSoap12Binding = 0; + int numHttpBinding = 0; + for (Iterator iter = cMap.keySet().iterator(); iter.hasNext();) { + Object k1 = iter.next(); + Binding b = (Binding) cMap.get(k1); + List eeList = b.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object binding = eeList.get(i); + if (binding instanceof SOAPBinding) { + numSoapBinding++; + } else if (binding instanceof SOAP12Binding) { + numSoap12Binding++; + } else if (binding instanceof HTTPBinding) { + numHttpBinding++; + } + } + } + + System.out.println("testSoapVersion8"); + System.out.println(" # of SOAPPort: " + numSoapPort); + System.out.println(" # of SOAP12Port: " + numSoap12Port); + System.out.println(" # of HTTPPort: " + numHttpPort); + System.out.println(" # of SOAPBinding: " + numSoapBinding); + System.out.println(" # of SOAP12Binding: " + numSoap12Binding); + System.out.println(" # of HTTPBinding: " + numHttpBinding); + + Assert.assertTrue(numSoap12Port > 0); + Assert.assertTrue(numSoap12Binding > 0); + Assert.assertEquals(numSoapPort, 0); + Assert.assertEquals(numSoapBinding, 0); + // Skipped to test HTTP + } + + private boolean testOperation(Operation op, Method m[]) { + for (int i = 0; i < m.length; i++) { + if(m[i].getName().equals(op.getName())) { + Assert.assertNotNull(op.getInput()); + Assert.assertNotNull(op.getOutput()); + return true; + } + } + return false; + } + + /** + * Lines 293-296:<br> + * 2.3.4 WSDL PortType<br> + * An SCA service has a single interface. This interface is always imported + * into the generated WSDL document. This may be done directly for + * WSDL-defined interfaces, or indirectly via a WSDL generated from the + * interface type for the service.<br> + */ + @Test + public void testSoapVersion9() throws Exception { + Method bMethod[] = BService.class.getMethods(); + Map bPTMap = bWSDL.getPortTypes(); + Assert.assertEquals(bPTMap.size(), 1); + for (Iterator iter = bPTMap.keySet().iterator(); iter.hasNext();) { + PortType pt = (PortType) bPTMap.get(iter.next()); + List opList = pt.getOperations(); + Assert.assertEquals(bMethod.length, opList.size()); + for (int i = 0; i < opList.size(); i++) { + Operation op = (Operation) opList.get(i); + Assert.assertTrue(testOperation(op, bMethod)); + } + } + + Method cMethod[] = CService.class.getMethods(); + Map cPTMap = cWSDL.getPortTypes(); + Assert.assertEquals(cPTMap.size(), 1); + for (Iterator iter = cPTMap.keySet().iterator(); iter.hasNext();) { + PortType pt = (PortType) cPTMap.get(iter.next()); + List opList = pt.getOperations(); + Assert.assertEquals(cMethod.length, opList.size()); + for (int i = 0; i < opList.size(); i++) { + Operation op = (Operation) opList.get(i); + Assert.assertTrue(testOperation(op, cMethod)); + } + } + } + + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java new file mode 100644 index 0000000000..896b5a3d89 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java @@ -0,0 +1,84 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.AService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.1 and 2.3.3.1 of SCA Web Services Binding + * V1.00 + */ +public class NoWsdlNoSoapVersionTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlsoapversion.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 251-253, 287-291:<br> + * <li>soap</li> + * This indicates that a SOAP binding is required. The SOAP binding may be + * of any SOAP version, including multiple versions.<br> + * <br> + * 2.3.3.1 SOAP versions<br> + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. Where no specific SOAP version is required, then one or more + * WSDL ports with associated SOAP bindings may be generated, depending on + * the level(s) supported in the target runtime.<br> + * <p> + */ + @Test + public void testSoapVersion1() throws Exception { + + for (int i = 0; i < 8; i++) { + AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(i * 1000 + 1000); + System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(i * 1000 + 1000, b1Int); + } + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java new file mode 100644 index 0000000000..c65f7e8e52 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.5/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java @@ -0,0 +1,121 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.1, 2.3.2 and 2.3.3.1 of SCA Web Services + * Binding V1.00 + */ +public class NoWsdlSoapVersionTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlsoapversion.composite"; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + d = ServiceFinder.getService(DService.class, "DComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 254-257:<br> + * <li>soap.1_1</li><br> + * A SOAP 1.1 binding only is required.<br> + * <li>soap.1_2</li><br> + * A SOAP 1.2 binding only is required.<br> + * <br> + * 2.3.3.1 SOAP versions<br> + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. Where no specific SOAP version is required, then one or more + * WSDL ports with associated SOAP bindings may be generated, depending on + * the level(s) supported in the target runtime.<br> + * <p> + */ + @Test + public void testSoapVersion2() throws Exception { + + for (int i = 8; i < 16; i++) { + AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(i * 1000 + 1000); + System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(i * 1000 + 1000, b1Int); + } + } + + /** + * Lines 254-257, 287-291, 260-262:<br> + * A separate WSDL document is generated for each SCA service. Each has + * its own unique target namespace. This is to ensure that bindings on + * different services of the same component do not clash.<br> + * <p> + * Test two references using binding.ws with 2 different SOAP versions + * and without WSDL document.<br> + */ + @Test + public void testSoapVersion3() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} |