summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.5/stest
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-1.5/stest')
-rw-r--r--branches/sca-java-1.5/stest/pom.xml57
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/pom.xml105
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/ASM_0001_Client.java69
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/ASM_0002_Client.java80
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/ASM_0003_Client.java81
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/Service1.java35
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/Service1Superset.java42
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/Service2.java35
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/TestException.java39
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/TestInvocation.java42
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl.java38
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl2.java44
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl3.java49
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl4.java50
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl5.java45
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1SupersetImpl.java42
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service2Impl.java38
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestClient.wsdl102
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestClient_0002.composite47
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestClient_0003.composite47
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite1.composite39
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite10.composite47
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite11.composite59
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite12.composite39
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite13.composite46
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite14.composite45
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite15.composite43
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite16.composite48
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite17.composite46
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite18.composite42
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite2.composite43
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite23.composite48
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite3.composite49
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite4.composite45
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite5.composite41
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite6.composite48
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite7.composite48
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite8.composite48
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite9.composite41
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestDuplicate1.composite41
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestDuplicate2.composite41
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0001.composite33
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0002.composite48
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0003.composite64
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0004.composite62
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0005.composite49
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0006.composite47
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0007.composite60
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0008.composite61
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0009.composite63
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0010.composite51
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0011.composite61
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0012.composite101
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0013.composite62
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0014.composite61
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0015.composite62
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0016.composite61
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0017.composite61
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0018.composite72
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0019.composite69
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0020.composite71
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0021.composite70
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0022.composite50
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0023.composite60
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0024.composite60
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0025.composite54
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0026.composite57
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0027.composite49
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0028.composite55
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0029.composite58
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0030.composite51
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0031.composite68
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0039.composite70
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0040.composite53
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0041.composite63
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0042.composite65
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0043.composite89
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0101.composite42
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_6030.composite46
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_Types.xsd37
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/main/resources/jndi.properties39
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0002_TestCase.java44
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0003_TestCase.java44
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0004_TestCase.java43
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0005_TestCase.java44
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0006_TestCase.java45
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0007_TestCase.java45
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0008_TestCase.java46
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0009_TestCase.java45
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0010_TestCase.java47
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0011_TestCase.java46
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0012_TestCase.java48
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0013_TestCase.java46
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0014_TestCase.java46
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0015_TestCase.java46
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0016_TestCase.java46
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0017_TestCase.java47
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0018_TestCase.java61
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0019_TestCase.java46
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0020_TestCase.java47
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0021_TestCase.java47
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0022_TestCase.java45
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0023_TestCase.java47
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0024_TestCase.java61
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0025_TestCase.java63
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0026_TestCase.java64
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0027_TestCase.java60
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0028_TestCase.java59
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0029_TestCase.java63
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0030_TestCase.java57
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0031_TestCase.java63
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0039_TestCase.java54
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0040_TestCase.java58
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0041_TestCase.java57
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0042_TestCase.java62
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0043_TestCase.java59
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_6030_TestCase.java47
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/BaseJAXWSTestCase.java68
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/BaseTestCase.java164
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/client/TestConfiguration.java27
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/InvokeTest.java82
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/InvokeTestResponse.java82
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/ObjectFactory.java106
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/README.txt19
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestException.java77
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestException_Exception.java71
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestInvocation.java60
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestInvocationService.java83
-rw-r--r--branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/package-info.java20
129 files changed, 7096 insertions, 0 deletions
diff --git a/branches/sca-java-1.5/stest/pom.xml b/branches/sca-java-1.5/stest/pom.xml
new file mode 100644
index 0000000000..3abb07df95
--- /dev/null
+++ b/branches/sca-java-1.5/stest/pom.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-sca</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>tuscany-stests</artifactId>
+ <packaging>pom</packaging>
+ <name>Apache Tuscany SCA Specification Tests</name>
+
+ <repositories>
+ <repository>
+ <id>apache.incubator</id>
+ <url>http://people.apache.org/repo/m2-incubating-repository</url>
+ </repository>
+ </repositories>
+
+ <profiles>
+ <profile>
+ <id>default</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <modules>
+ <module>sampleTest</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>old</id>
+ <modules>
+ <module>binding-echo</module>
+ </modules>
+ </profile>
+ </profiles>
+
+</project>
diff --git a/branches/sca-java-1.5/stest/sampleTest/pom.xml b/branches/sca-java-1.5/stest/sampleTest/pom.xml
new file mode 100644
index 0000000000..93c0b63f38
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/pom.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-stests</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>stest-sampleTest</artifactId>
+ <name>Apache Tuscany SCA Specification Sample Testcase</name>
+
+ <repositories>
+ <repository>
+ <id>apache.incubator</id>
+ <url>http://people.apache.org/repo/m2-incubating-repository</url>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-launcher</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</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>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-node-runtime</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-xml</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </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-binding-ws-axis2</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <!-- <scope>runtime</scope> -->
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ </build>
+</project>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/ASM_0001_Client.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/ASM_0001_Client.java
new file mode 100644
index 0000000000..0e4583ffc2
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/ASM_0001_Client.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package test;
+
+import org.osoa.sca.annotations.Service;
+
+import test.TestInvocation;
+
+/**
+ * Basic test initiation class
+ * @author MikeEdwards
+ *
+ */
+@Service(TestInvocation.class)
+public class ASM_0001_Client implements TestInvocation {
+
+ private String testName = "ASM_0001";
+
+ /**
+ * This method is offered as a service and is
+ * invoked by the test client to run the test
+ */
+ public String invokeTest( String input ) throws TestException {
+ String response = null;
+
+ response = runTest( input );
+
+ return response;
+ } // end method invokeTest
+
+ /**
+ * This method actually runs the test - and is subclassed by classes that run other tests.
+ * @param input - an input string
+ * @return - a response string = "ASM_0001 inputString invoked ok";
+ *
+ */
+ public String runTest( String input ){
+ String response = null;
+
+ response = testName + " " + input + " invoked ok";
+
+ return response;
+ } // end method runTest
+
+ /**
+ * Sets the name of the test
+ * @param name - the test name
+ */
+ protected void setTestName( String name ) {
+ testName = name;
+ }
+
+} //
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/ASM_0002_Client.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/ASM_0002_Client.java
new file mode 100644
index 0000000000..8a4a0c3fdc
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/ASM_0002_Client.java
@@ -0,0 +1,80 @@
+/*
+ * 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 test;
+
+import org.osoa.sca.annotations.Service;
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Property;
+
+import test.TestInvocation;
+
+/**
+ * Test initiation class with a single reference of multiplicity 1..1
+ * @author MikeEdwards
+ *
+ */
+@Service(TestInvocation.class)
+public class ASM_0002_Client implements TestInvocation {
+
+ @Property
+ public String testName = "ASM_xxxx";
+
+ @Reference
+ public Service1 reference1;
+
+ /**
+ * This method is offered as a service and is
+ * invoked by the test client to run the test
+ */
+ public String invokeTest( String input ) throws TestException {
+ String response = null;
+
+ try {
+ response = runTest( input );
+ } catch( Exception e ) {
+ throw new TestException("Test service got an exception during execution: " + e.getClass().getName()+ " " + e.getMessage() );
+ } // end try
+ return response;
+ } // end method invokeTest
+
+ /**
+ * This method actually runs the test - and is subclassed by classes that run other tests.
+ * @param input - an input string
+ * @return - a response string = "ASM_0001 inputString invoked ok";
+ *
+ */
+ public String runTest( String input ){
+ String response = null;
+
+ String response1 = reference1.operation1(input);
+
+ response = testName + " " + input + " " + response1;
+
+ return response;
+ } // end method runTest
+
+ /**
+ * Sets the name of the test
+ * @param name - the test name
+ */
+ protected void setTestName( String name ) {
+ testName = name;
+ }
+
+} //
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/ASM_0003_Client.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/ASM_0003_Client.java
new file mode 100644
index 0000000000..d4f3f7e5af
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/ASM_0003_Client.java
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package test;
+
+import org.osoa.sca.annotations.Service;
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Property;
+
+import test.TestInvocation;
+
+import java.util.List;
+
+/**
+ * Basic test initiation class
+ * @author MikeEdwards
+ *
+ */
+@Service(TestInvocation.class)
+public class ASM_0003_Client implements TestInvocation {
+
+ @Property
+ public String testName = "ASM_xxxx";
+
+ @Reference
+ public List<Service1> reference1;
+
+ /**
+ * This method is offered as a service and is
+ * invoked by the test client to run the test
+ */
+ public String invokeTest( String input ) throws TestException {
+ String response = null;
+
+ response = runTest( input );
+
+ return response;
+ } // end method invokeTest
+
+ /**
+ * This method actually runs the test - and is subclassed by classes that run other tests.
+ * @param input - an input string
+ * @return - a response string = "ASM_0001 inputString invoked ok";
+ *
+ */
+ public String runTest( String input ){
+ String response = "";
+
+ for( Service1 reference : reference1 ) {
+ response += reference.operation1(input);
+ } // end for
+
+ response = testName + " " + input + " " + response;
+
+ return response;
+ } // end method runTest
+
+ /**
+ * Sets the name of the test
+ * @param name - the test name
+ */
+ protected void setTestName( String name ) {
+ testName = name;
+ }
+
+} //
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/Service1.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/Service1.java
new file mode 100644
index 0000000000..eeb3b31999
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/Service1.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 test;
+
+/**
+ * A test service interface
+ * @author MikeEdwards
+ *
+ */
+public interface Service1 {
+
+ /**
+ * Method for invoking testcase service
+ * @param input - input parameter(s) as a String
+ * @return - output data as a String
+ */
+ public String operation1( String input );
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/Service1Superset.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/Service1Superset.java
new file mode 100644
index 0000000000..487d748513
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/Service1Superset.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package test;
+
+/**
+ * A superset of the basic test service interface
+ * @author MikeEdwards
+ *
+ */
+public interface Service1Superset {
+
+ /**
+ * Method for invoking testcase service
+ * @param input - input parameter(s) as a String
+ * @return - output data as a String
+ */
+ public String operation1( String input );
+
+ /**
+ * A second method for invoking a testcase service
+ * @param input - input parameter(s) as a String
+ * @return - output data as a String
+ */
+ public String operation2( String input );
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/Service2.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/Service2.java
new file mode 100644
index 0000000000..3006a885b2
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/Service2.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 test;
+
+/**
+ * A test service interface, designed to be incompatible with the Service1 interface
+ * @author MikeEdwards
+ *
+ */
+public interface Service2 {
+
+ /**
+ * Method for invoking testcase service
+ * @param input - input parameter(s) as a String
+ * @return - output data as a String
+ */
+ public int operation2( int input );
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/TestException.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/TestException.java
new file mode 100644
index 0000000000..d66a9c73bc
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/TestException.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package test;
+
+/*
+ * Exception thrown by SCA Test services
+ */
+public class TestException extends Exception {
+
+ /**
+ * Required serialVersionUID field
+ */
+ private static final long serialVersionUID = -6978058912756564824L;
+
+ public TestException() { super(); };
+
+ public TestException( String msg ) { super( msg ); };
+
+ public TestException( String msg, Throwable cause ) { super( msg, cause); };
+
+ public TestException( Throwable cause ) { super( cause ); };
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/TestInvocation.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/TestInvocation.java
new file mode 100644
index 0000000000..94bbe87ed0
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/TestInvocation.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package test;
+
+import javax.jws.WebService;
+import javax.jws.WebMethod;
+import org.osoa.sca.annotations.Remotable;
+
+/**
+ * Basic interface to invoke testcases
+ * @author MikeEdwards
+ *
+ */
+@Remotable
+public interface TestInvocation {
+
+ /**
+ * Method for invoking testcase
+ * @param input - input parameter(s) as a String
+ * @return - output data as a String
+ * @throws - a TestException is thrown in cases where the test service fails internally
+ */
+ @WebMethod
+ public String invokeTest( String input ) throws TestException ;
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl.java
new file mode 100644
index 0000000000..b61fde92c9
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package test;
+
+import org.osoa.sca.annotations.*;
+
+/**
+ * Simple Java component implementation for business interface Service1
+ * @author MikeEdwards
+ *
+ */
+@Service(Service1.class)
+public class service1Impl implements Service1 {
+
+ @Property
+ public String serviceName = "service1";
+
+ public String operation1(String input) {
+ return serviceName + " operation1 invoked";
+ }
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl2.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl2.java
new file mode 100644
index 0000000000..abff52b606
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl2.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 test;
+
+import org.osoa.sca.annotations.*;
+
+/**
+ * Enhanced Java component implementation for business interface Service1,
+ * where the implementation also has a single reference using the Service1
+ * interface and which gets called when operation1 is invoked
+ * @author MikeEdwards
+ *
+ */
+@Service(Service1.class)
+public class service1Impl2 implements Service1 {
+
+ @Property
+ public String serviceName = "service1";
+ // Reference with an implied multiplicity of (1..1) since required=true is the default
+ @Reference
+ public Service1 reference1 = null;
+
+ public String operation1(String input) {
+ String result = reference1.operation1(input);
+ return serviceName + " operation1 invoked" + " " + result;
+ }
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl3.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl3.java
new file mode 100644
index 0000000000..b9f7d34638
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl3.java
@@ -0,0 +1,49 @@
+/*
+ * 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 test;
+
+import org.osoa.sca.annotations.*;
+
+/**
+ * Enhanced Java component implementation for business interface Service1,
+ * where the implementation also has a single reference using the Service1
+ * interface with mutiplicity 1..n all of which and which get called when
+ * operation1 is invoked
+ * @author MikeEdwards
+ *
+ */
+@Service(Service1.class)
+public class service1Impl3 implements Service1 {
+
+ @Property
+ public String serviceName = "service1";
+ // Required = true + an array -> multiplicity 1..n
+ @Reference(required=true)
+ public Service1[] reference1 = null;
+
+ public String operation1(String input) {
+ String result = "";
+ // Call each of the references in the array, concatenating the results
+ for( int i=0 ; i < reference1.length; i++ ) {
+ result = result.concat( reference1[i].operation1(input) );
+ } // end for
+ return serviceName + " operation1 invoked" + " " + result;
+ }
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl4.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl4.java
new file mode 100644
index 0000000000..0c41f7e405
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl4.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package test;
+
+import org.osoa.sca.annotations.*;
+
+/**
+ * Enhanced Java component implementation for business interface Service1,
+ * where the implementation also has a single reference using the Service1
+ * interface with multiplicity 0..n all of which and which get called when
+ * operation1 is invoked
+ * @author MikeEdwards
+ *
+ */
+@Service(Service1.class)
+public class service1Impl4 implements Service1 {
+
+ @Property
+ public String serviceName = "service1";
+ // Required = false + an array -> multiplicity 0..n
+ @Reference(required=false)
+ public Service1[] reference1 = null;
+
+ public String operation1(String input) {
+ String result = serviceName + " operation1 invoked";
+ // Call each of the references in the array, concatenating the results
+ for( int i=0 ; i < reference1.length; i++ ) {
+ result = result.concat(" ");
+ result = result.concat( reference1[i].operation1(input) );
+ } // end for
+ return result;
+ }
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl5.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl5.java
new file mode 100644
index 0000000000..1719ba9405
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1Impl5.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 test;
+
+//import org.oasisopen.sca.annotation.*;
+import org.osoa.sca.annotations.*;
+
+/**
+ * Java component implementation for business interface Service1
+ * - no references
+ * - 3 properties
+ * @author MikeEdwards
+ *
+ */
+@Service(Service1.class)
+public class service1Impl5 implements Service1 {
+
+ @Property
+ public String serviceName = "service1";
+ @Property
+ public String serviceData1;
+ @Property
+ public String serviceData2;
+
+ public String operation1(String input) {
+ return serviceName + " operation1 invoked" + serviceData1 + serviceData2;
+ }
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1SupersetImpl.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1SupersetImpl.java
new file mode 100644
index 0000000000..c75078f961
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service1SupersetImpl.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package test;
+
+import org.osoa.sca.annotations.*;
+
+/**
+ * Simple Java component implementation for business interface Service1Superset
+ * @author MikeEdwards
+ *
+ */
+@Service(Service1Superset.class)
+public class service1SupersetImpl implements Service1Superset {
+
+ @Property
+ public String serviceName = "service1";
+
+ public String operation1(String input) {
+ return serviceName + " operation1 invoked";
+ }
+
+ public String operation2(String input) {
+ return serviceName + " operation2 invoked";
+ }
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service2Impl.java b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service2Impl.java
new file mode 100644
index 0000000000..44a2789125
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/java/test/service2Impl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package test;
+
+import org.osoa.sca.annotations.*;
+
+/**
+ * Simple Java component implementation for business interface Service2
+ * @author MikeEdwards
+ *
+ */
+@Service(Service2.class)
+public class service2Impl implements Service2 {
+
+ @Property
+ public String serviceName = "service1";
+
+ public int operation2(int input) {
+ return input+1;
+ }
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestClient.wsdl b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestClient.wsdl
new file mode 100644
index 0000000000..2a8b112cca
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestClient.wsdl
@@ -0,0 +1,102 @@
+<?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.
+-->
+<!-- Produced from the TestInvocation,java interface by running a service
+ based on that interface in an SCA runtime using a Web services binding
+
+ Mike Edwards, 6th January 2008
+-->
+<wsdl:definitions name="TestInvocationService"
+ targetNamespace="http://test/"
+ xmlns:tns="http://test/"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:SOAP11="http://schemas.xmlsoap.org/wsdl/soap/">
+ <wsdl:types>
+ <xs:schema targetNamespace="http://test/" version="1.0" xmlns:tns="http://test/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="TestException" type="tns:TestException"/>
+ <xs:complexType name="TestException">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="message" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:schema>
+ <xs:schema attributeFormDefault="qualified" elementFormDefault="unqualified"
+ targetNamespace="http://test/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="invokeTest">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="arg0" nillable="true" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="invokeTestResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ </wsdl:types>
+ <wsdl:message name="invokeTest">
+ <wsdl:part name="invokeTest" element="tns:invokeTest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="invokeTestResponse">
+ <wsdl:part name="invokeTestResponse" element="tns:invokeTestResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="TestException">
+ <wsdl:part name="TestException" element="tns:TestException">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="TestInvocation">
+ <wsdl:operation name="invokeTest">
+ <wsdl:input message="tns:invokeTest">
+ </wsdl:input>
+ <wsdl:output message="tns:invokeTestResponse">
+ </wsdl:output>
+ <wsdl:fault name="TestException" message="tns:TestException">
+ </wsdl:fault>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="TestInvocationBinding" type="tns:TestInvocation">
+ <SOAP:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="invokeTest">
+ <SOAP:operation soapAction=""/>
+ <wsdl:input>
+ <SOAP:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <SOAP:body use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="TestException">
+ <SOAP:fault name="TestException" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="TestInvocationService">
+ <wsdl:port name="TestInvocationPort" binding="tns:TestInvocationBinding">
+ <SOAP:address location="http://localhost:8080/TestClient"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestClient_0002.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestClient_0002.composite
new file mode 100644
index 0000000000..299a7d665f
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestClient_0002.composite
@@ -0,0 +1,47 @@
+<?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://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestClient_0002">
+
+ <service name="TestInvocation" promote="TestClient/TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ </service>
+
+ <property name="testName" type="string"/>
+
+ <component name="TestClient">
+ <implementation.java class="test.ASM_0002_Client"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ </service>
+ <reference name="reference1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ <property name="testName" source="$testName"/>
+ </component>
+
+ <reference name="reference1" promote="TestClient/reference1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestClient_0003.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestClient_0003.composite
new file mode 100644
index 0000000000..0079b802b7
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestClient_0003.composite
@@ -0,0 +1,47 @@
+<?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://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestClient_0003">
+
+ <service name="TestInvocation" promote="TestClient/TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ </service>
+
+ <property name="testName" type="string"/>
+
+ <component name="TestClient">
+ <implementation.java class="test.ASM_0003_Client"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ </service>
+ <reference name="reference1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ <property name="testName" source="$testName"/>
+ </component>
+
+ <reference name="reference1" promote="TestClient/reference1" multiplicity="1..n">
+ <interface.java interface="test.Service1"/>
+ </reference>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite1.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite1.composite
new file mode 100644
index 0000000000..4d65e37e16
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite1.composite
@@ -0,0 +1,39 @@
+<?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://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite1">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite10.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite10.composite
new file mode 100644
index 0000000000..0a743d7767
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite10.composite
@@ -0,0 +1,47 @@
+<?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.
+-->
+<!-- An example of a composite which has a single service and
+ a single reference, but where the reference has a binding
+ applied to it, with a target service identified -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite10">
+
+ <service name="Service1" promote="Composite10Component1/Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="Composite10Component1">
+ <implementation.java class="test.service1Impl2"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ </component>
+
+ <reference name="Reference1" promote="Composite10Component1/reference1">
+ <interface.java interface="test.Service1"/>
+ <binding.sca uri="TestComponent2/Service1"/>
+ </reference>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite11.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite11.composite
new file mode 100644
index 0000000000..98775aa6e5
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite11.composite
@@ -0,0 +1,59 @@
+<?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.
+-->
+<!-- An example of a composite which has one component with a reference
+ that is multiplicity 1..1 and which is both wired to a service of a
+ second component in the same composite and is also promoted by a
+ composite reference -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite11">
+
+ <service name="Service1" promote="Composite11Component1/Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="Composite11Component1">
+ <implementation.java class="test.service1Impl2"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ <!-- reference is multiplicity 1..1 -->
+ <reference name="reference1" target="Composite11Component2/Service1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <component name="Composite11Component2">
+ <implementation.java class="test.service1Impl"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">Composite11-C2</property>
+ </component>
+
+ <reference name="Reference1" promote="Composite11Component1/reference1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite12.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite12.composite
new file mode 100644
index 0000000000..8619ae175a
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite12.composite
@@ -0,0 +1,39 @@
+<?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://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite12">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <property name="serviceName" type="string" mustSupply="true"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite13.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite13.composite
new file mode 100644
index 0000000000..37247e24fe
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite13.composite
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<!-- A simple composite which provides a single service and no references
+ plus a property with a complex type with a type which is an XSD global
+ element -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TestComposite13">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <property name="complexType" element="test:globalElement1"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl5"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ <property name="serviceData1" source="$complexType/firstData"/>
+ <property name="serviceData2" source="$complexType/secondData"/>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite14.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite14.composite
new file mode 100644
index 0000000000..e62c7f6eaa
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite14.composite
@@ -0,0 +1,45 @@
+<?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.
+-->
+<!-- A simple composite which provides a single service and no references
+ plus a property with a simple type -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TestComposite14">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <property name="simpleType" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl5"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ <property name="serviceData1" source="$simpleType"/>
+ <property name="serviceData2" source="$simpleType"/>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite15.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite15.composite
new file mode 100644
index 0000000000..e85a4ee831
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite15.composite
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<!-- A simple composite which provides a single service and no references,
+ where the service is configured with multiple explicit bindings -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite15">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ <binding.sca/>
+ <binding.ws/>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite16.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite16.composite
new file mode 100644
index 0000000000..25284836f8
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite16.composite
@@ -0,0 +1,48 @@
+<?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.
+-->
+<!-- A composite which multiple <service/> subelements with the same name and no references -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite16">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <service name="Service2" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite17.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite17.composite
new file mode 100644
index 0000000000..7a562ae237
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite17.composite
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<!-- A composite which has a single service with a @promote attribute
+ that does not reference the <service/> of a <component/> within the
+ <composite/> and no references -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite17">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <service name="Service2" promote="SpuriousComponent/SpuriousService">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite18.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite18.composite
new file mode 100644
index 0000000000..9ffea418db
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite18.composite
@@ -0,0 +1,42 @@
+<?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.
+-->
+<!-- A composite which has a single service with a declared <interface/>
+ that is a compatible subset of the interface of the component service
+ declared in the @promote attribute -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite18">
+
+ <service name="Service1" promote="TestComponent1/Service1Superset">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1SupersetImpl"/>
+ <service name="Service1Superset">
+ <interface.java interface="test.Service1Superset"></interface.java>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite2.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite2.composite
new file mode 100644
index 0000000000..9b89563a42
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite2.composite
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite2">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite23.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite23.composite
new file mode 100644
index 0000000000..35bd141aef
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite23.composite
@@ -0,0 +1,48 @@
+<?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.
+-->
+<!-- An example of a composite which has a single service and
+ a single reference with multiplicity 0..1 -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite23">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl2"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ <reference name="reference1" multiplicity="1..1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <reference name="Reference1" promote="TestComponent1/reference1" multiplicity="0..1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite3.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite3.composite
new file mode 100644
index 0000000000..506557606f
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite3.composite
@@ -0,0 +1,49 @@
+<?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.
+-->
+<!-- An example of a composite which is invalid because it has two
+ composite level references with the same @name attribute -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite3">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl2"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ </component>
+
+ <reference name="Reference1" promote="TestComponent1/Reference">
+ <interface.java interface="test.Service1"/>
+ </reference>
+
+ <reference name="Reference1" promote="TestComponent1/Reference">
+ <interface.java interface="test.Service1"/>
+ </reference>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite4.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite4.composite
new file mode 100644
index 0000000000..c8f1a4c005
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite4.composite
@@ -0,0 +1,45 @@
+<?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.
+-->
+<!-- An example of a composite which has a single service and
+ a single reference -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite4">
+
+ <service name="Service1" promote="Composite4Component1/Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="Composite4Component1">
+ <implementation.java class="test.service1Impl2"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ </component>
+
+ <reference name="Reference1" promote="Composite4Component1/reference1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite5.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite5.composite
new file mode 100644
index 0000000000..b804c58a68
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite5.composite
@@ -0,0 +1,41 @@
+<?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 offering a single service, with a modified interface
+ type -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite5">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service2"></interface.java>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service2Impl"/>
+ <service name="Service1">
+ <interface.java interface="test.Service2"></interface.java>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite6.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite6.composite
new file mode 100644
index 0000000000..5c9b9ed0e0
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite6.composite
@@ -0,0 +1,48 @@
+<?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.
+-->
+<!-- An example of a composite which has a single service and
+ a single reference with multiplicity 1..n -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite6">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl3"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ <reference name="reference1" multiplicity="1..n">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <reference name="Reference1" promote="TestComponent1/reference1" multiplicity="1..n">
+ <interface.java interface="test.Service1"/>
+ </reference>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite7.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite7.composite
new file mode 100644
index 0000000000..e498e15510
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite7.composite
@@ -0,0 +1,48 @@
+<?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.
+-->
+<!-- An example of a composite which has a single service and
+ a single reference with multiplicity 0..n -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite7">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl4"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ <reference name="reference1" multiplicity="0..n">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <reference name="Reference1" promote="TestComponent1/reference1" multiplicity="0..n">
+ <interface.java interface="test.Service1"/>
+ </reference>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite8.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite8.composite
new file mode 100644
index 0000000000..d5cccf8ee9
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite8.composite
@@ -0,0 +1,48 @@
+<?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.
+-->
+<!-- An example of a composite which has a single service and
+ a single reference with multiplicity 0..1 -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite8">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl4"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ <reference name="reference1" multiplicity="0..n">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <reference name="Reference1" promote="TestComponent1/reference1" multiplicity="0..1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite9.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite9.composite
new file mode 100644
index 0000000000..931565aae0
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestComposite9.composite
@@ -0,0 +1,41 @@
+<?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 that provides a single service with the extended
+ Service1Superset interface -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite9">
+
+ <service name="Service1" promote="Composite9Component1/Service1Superset">
+ <interface.java interface="test.Service1Superset"></interface.java>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="Composite9Component1">
+ <implementation.java class="test.service1SupersetImpl"/>
+ <service name="Service1Superset">
+ <interface.java interface="test.Service1Superset"></interface.java>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestDuplicate1.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestDuplicate1.composite
new file mode 100644
index 0000000000..d34ee0300a
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestDuplicate1.composite
@@ -0,0 +1,41 @@
+<?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.
+-->
+<!-- 1st of a pair of composite files where the composites have duplicated
+ names and targetNamespaces -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="DuplicateComposite">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">duplicate1</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestDuplicate2.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestDuplicate2.composite
new file mode 100644
index 0000000000..d8d4a3ab45
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/TestDuplicate2.composite
@@ -0,0 +1,41 @@
+<?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.
+-->
+<!-- 2nd of a pair of composite files where the composites have duplicated
+ names and targetNamespaces -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="DuplicateComposite">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">duplicate2</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0001.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0001.composite
new file mode 100644
index 0000000000..a8864587f3
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0001.composite
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0001">
+
+ <component name="TestClient">
+ <implementation.java class="test.ASM_0001_Client"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.sca/>
+ </service>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0002.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0002.composite
new file mode 100644
index 0000000000..058bdff522
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0002.composite
@@ -0,0 +1,48 @@
+<?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.
+-->
+<!--
+ ASM_0002_TestCase tests that component with a single reference can be wired to a single
+ component service in the same composite.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0002">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0002</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service1</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0003.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0003.composite
new file mode 100644
index 0000000000..d3b4e51ef7
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0003.composite
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<!-- Test case that verifies that an implementation with a reference with multiplicity 1..n can
+ be validly wired to 3 target services and invoke them all correctly.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0003">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0003"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1 TestComponent2/Service1 TestComponent3/Service1" />
+ <property name="testName">ASM_0003</property>
+ </component>
+
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service1</property>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+ <component name="TestComponent3">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service3</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0004.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0004.composite
new file mode 100644
index 0000000000..9f586ddbcf
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0004.composite
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<!-- Test that verifies that a reference with multiplicity 1..1 which is provided
+ with multiple wire targets in the component configuration is marked as an error -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0004">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1 TestComponent2/Service1 TestComponent3/Service1" />
+ <property name="testName">ASM_0004</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service1</property>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+ <component name="TestComponent3">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service3</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0005.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0005.composite
new file mode 100644
index 0000000000..1bc61089a7
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0005.composite
@@ -0,0 +1,49 @@
+<?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.
+-->
+<!-- Test that a component with multiple <service/> elements must have unique @name attributes for each
+ service - negative test that has a component with 2 services with the same name -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0005">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0005</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite2"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service1</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0006.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0006.composite
new file mode 100644
index 0000000000..2705d967a2
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0006.composite
@@ -0,0 +1,47 @@
+<?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.
+-->
+<!-- Test checks that the @name attribute of a <service/>
+ element of a <component/> matches the @name attribute of a <service/> element of the
+ componentType of the <implementation/> used by the <component/> -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0006">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/InvalidName" />
+ <property name="testName">ASM_0005</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="InvalidName">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service1</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0007.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0007.composite
new file mode 100644
index 0000000000..521d28b27d
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0007.composite
@@ -0,0 +1,60 @@
+<?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.
+-->
+<!-- Test that the @name attribute of a <reference/> element of a
+ component is not equal to the @name attribute of any other
+ <reference/> element of the same component -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0007">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0005</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite3"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- Two references with the same name - the implementation also has
+ two references of the same name so that the component type
+ matches the configuration of the component -->
+ <reference name="Reference1" target="TestComponent2/Service1"/>
+ <reference name="Reference1" target="TestComponent2/Service1"/>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0008.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0008.composite
new file mode 100644
index 0000000000..618d090bcb
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0008.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.
+-->
+<!-- Tests that the @name attribute of a <reference/> element of a
+ component is equal to the @name attribute of a <reference/>
+ element of the <componentType/> of the <implementation/> of
+ the <component/> - negative test in that here there is a
+ reference @name which does NOT match a reference name in the
+ component type -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0008">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0005</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite4"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- This reference has a name that does not match the name of a
+ Reference in the implementation -->
+ <reference name="InvalidName" target="TestComponent2/Service1"/>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0009.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0009.composite
new file mode 100644
index 0000000000..a161bdc36f
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0009.composite
@@ -0,0 +1,63 @@
+<?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.
+-->
+<!-- Tests that the @name attribute of a <component/> element
+ in a <composite/> is not the same as the @name
+ attribute of a second component in the same <composite/> -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0009">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0009</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0010.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0010.composite
new file mode 100644
index 0000000000..d753742383
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0010.composite
@@ -0,0 +1,51 @@
+<?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.
+-->
+<!-- Tests interface specified by the <interface/> child element of a
+ <service/> element is a compatible subset of the interface declared
+ for the <service/> element with the same @name attribute in the
+ <componentType/> of the <implementation/> of the <component/>
+ parent of the <service/> -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0010">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0010</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite5"/>
+ <!-- This service declares interface Service1 while the implementation offers
+ Service2, which is not compatible with Service1 -->
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0011.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0011.composite
new file mode 100644
index 0000000000..50c5bcc7b7
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0011.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.
+-->
+<!-- Tests the multiplicity of a <reference/> element of a <component/>
+ can be 1..1 where the multiplicity of the equivalent <reference/>
+ element in the <componentType/> of the <implementation/> of the
+ <component/> is 1..n -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0011">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0011</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite6"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- The multiplicity declared for this reference is 1..1 while the multiplicity of
+ the corresponding reference on the componentType of the implementation is 1..n -->
+ <reference name="Reference1" target="TestComponent2/Service1" multiplicity="1..1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0012.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0012.composite
new file mode 100644
index 0000000000..586aec454f
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0012.composite
@@ -0,0 +1,101 @@
+<?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.
+-->
+<!-- Tests that the the multiplicity
+ of a <reference/> element of a <component/> can be any one of 0..1,
+ 1..1, 0..n, 1..n where the multiplicity of the equivalent <reference/>
+ element in the <componentType/> of the <implementation/> of the
+ <component/> is 0..n -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0012">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0012</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite7"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- The multiplicity declared for this reference is 0..1 while the multiplicity of
+ the corresponding reference on the componentType of the implementation is 0..n -->
+ <reference name="Reference1" target="TestComponent2/Service1" multiplicity="0..1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite7"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service2</property>
+ <!-- The multiplicity declared for this reference is 1..1 while the multiplicity of
+ the corresponding reference on the componentType of the implementation is 0..n -->
+ <reference name="Reference1" target="TestComponent3/Service1" multiplicity="1..1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent3">
+ <implementation.composite name="tns:TestComposite7"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service3</property>
+ <!-- The multiplicity declared for this reference is 0..n while the multiplicity of
+ the corresponding reference on the componentType of the implementation is 0..n -->
+ <reference name="Reference1" target="TestComponent4/Service1" multiplicity="0..n">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent4">
+ <implementation.composite name="tns:TestComposite7"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service4</property>
+ <!-- The multiplicity declared for this reference is 1..n while the multiplicity of
+ the corresponding reference on the componentType of the implementation is 0..n -->
+ <reference name="Reference1" target="TestComponent5/Service1" multiplicity="1..n">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent5">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service5</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0013.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0013.composite
new file mode 100644
index 0000000000..2fb5f3a969
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0013.composite
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<!-- Tests that the the multiplicity
+ of a <reference/> element of a <component/> is
+ 1..1 where the multiplicity of the equivalent <reference/>
+ element in the <componentType/> of the <implementation/> of the
+ <component/> is 1..1 -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0013">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0013</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite4"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- The multiplicity declared for this reference is 1..1 while the multiplicity of
+ the corresponding reference on the componentType of the implementation is 1..1 -->
+ <reference name="Reference1" target="TestComponent2/Service1" multiplicity="1..1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0014.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0014.composite
new file mode 100644
index 0000000000..09082d724b
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0014.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.
+-->
+<!-- Tests that the multiplicity of a <reference/> element of a
+ <component/> is 0..n where the multiplicity of the equivalent
+ <reference/> element in the <componentType/> of the
+ <implementation/> of the <component/> is 1..1 -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0014">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0014</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite4"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- The multiplicity declared for this reference is 0..n while the multiplicity of
+ the corresponding reference on the componentType of the implementation is 1..1 -->
+ <reference name="Reference1" target="TestComponent2/Service1" multiplicity="0..n">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0015.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0015.composite
new file mode 100644
index 0000000000..53c14c2248
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0015.composite
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<!-- Tests that the the multiplicity
+ of a <reference/> element of a <component/> is
+ 1..1 where the multiplicity of the equivalent <reference/>
+ element in the <componentType/> of the <implementation/> of the
+ <component/> is 0..1 -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0015">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0015</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite8"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- The multiplicity declared for this reference is 1..1 while the multiplicity of
+ the corresponding reference on the componentType of the implementation is 0..1 -->
+ <reference name="Reference1" target="TestComponent2/Service1" multiplicity="1..1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0016.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0016.composite
new file mode 100644
index 0000000000..28503194b6
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0016.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.
+-->
+<!-- Tests that the interface declared by the <interface/> child element
+ of a <reference/> of a <component/> is a compatible superset of the
+ interface declared on the corresponding <reference/> of the
+ componentType of the <implementation/> of the <component/> -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0016">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0016</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite4"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1" target="TestComponent2/Service1">
+ <!-- Component type has the interface = test.Service1 - here
+ we use an interface that is a superset -->
+ <interface.java interface="test.Service1Superset"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite9"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1Superset"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0017.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0017.composite
new file mode 100644
index 0000000000..7f7fdf8f25
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0017.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.
+-->
+<!-- Tests that where a <reference/> of a <component/> has no <binding/>
+ child element, but the corresponding <reference/> element in the
+ componentType does have a binding child element, the <binding/>
+ from the componentType is used for the reference -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0017">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0017</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite10"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- ComponentType has a binding for this reference that
+ identifies the target for this reference -->
+ <reference name="Reference1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0018.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0018.composite
new file mode 100644
index 0000000000..af18c09162
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0018.composite
@@ -0,0 +1,72 @@
+<?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.
+-->
+<!-- Tests that where a <reference/> of a <component/> has a <binding/>
+ child element and the corresponding <reference/> element in the
+ componentType has a binding child element, the <binding/>
+ from the <reference/> is used for the reference -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0018">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0018</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite10"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- ComponentType has a binding for this reference that
+ identifies a target for this reference -->
+ <reference name="Reference1">
+ <interface.java interface="test.Service1"/>
+ <binding.sca uri="TestComponent3/Service1"/>
+ </reference>
+ </component>
+
+ <!-- This component is the target identified by the Component Type -->
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+ <!-- This component is the target identified by the reference -->
+ <component name="TestComponent3">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service3</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0019.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0019.composite
new file mode 100644
index 0000000000..f5cfc652f7
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0019.composite
@@ -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.
+-->
+<!-- Tests that where a <reference/> of a <component/> has autowire=true
+ and also has target identifying a single target service that the
+ reference is wired only to the single service identified by the
+ target attribute -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0019">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0019</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite7"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1" autowire="true" target="TestComponent3/Service1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <!-- This component is the target identified by the Component Type -->
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+ <!-- This component is the target identified by the reference -->
+ <component name="TestComponent3">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service3</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0020.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0020.composite
new file mode 100644
index 0000000000..e1ab046081
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0020.composite
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<!-- Tests that where a <reference/> of a <component/> has
+ @autowire=true and where there is also a single <wire/> element
+ which as that <reference/> as its source that the reference is
+ wired only to the single service identified by the <wire/> element -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0020">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0020</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite7"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1" autowire="true">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <wire source="TestComponent1/Reference1" target="TestComponent3/Service1"/>
+
+ <!-- This component is the target identified by the Component Type -->
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+ <!-- This component is the target identified by the reference -->
+ <component name="TestComponent3">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service3</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0021.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0021.composite
new file mode 100644
index 0000000000..1234571493
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0021.composite
@@ -0,0 +1,70 @@
+<?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.
+-->
+<!-- Tests that where a <reference/> of a <component/> has @autowire=true
+ and where the <reference/> has a <binding/> child element which
+ declares a single target service, the reference is wired only to
+ the single service identified by the <wire/> element -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0021">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0021</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite7"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1" autowire="true">
+ <interface.java interface="test.Service1"/>
+ <binding.sca uri="TestComponent3/Service1"/>
+ </reference>
+ </component>
+
+ <!-- This component is the target identified by the Component Type -->
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+ <!-- This component is the target identified by the reference -->
+ <component name="TestComponent3">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service3</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0022.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0022.composite
new file mode 100644
index 0000000000..b32ecf1dba
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0022.composite
@@ -0,0 +1,50 @@
+<?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.
+-->
+<!-- Tests that where a <component/> <reference/> with multiplicity=0..1
+ is unwired (by any means) that the component executes correctly -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0022">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0022</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite8"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- Reference is 0..1 and is deliberately left unwired -->
+ <reference name="Reference1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0023.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0023.composite
new file mode 100644
index 0000000000..df781e4408
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0023.composite
@@ -0,0 +1,60 @@
+<?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.
+-->
+<!-- Tests that where a <component/> <reference/> with multiplicity=1..1
+ is wired to a component service in the same composite and is also
+ promoted by a <composite/> <reference/> which is wired to a target
+ service by a component using the <composite/> as its implementation,
+ that this is an error -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0023">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0023</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite11"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1" target="TestComponent2/Service1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0024.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0024.composite
new file mode 100644
index 0000000000..6859c22502
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0024.composite
@@ -0,0 +1,60 @@
+<?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.
+-->
+<!-- Tests that where a <component/> <reference/> has @target set to
+ some service, that the reference can have no child <binding/> elements -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0024">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0024</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite4"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1" >
+ <interface.java interface="test.Service1" target="TestComponent2/Service1"/>
+ <!--A binding which contradicts the @target attribute -->
+ <binding.ws uri="http://localhost:8080/TestComponent2"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ <binding.ws/>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0025.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0025.composite
new file mode 100644
index 0000000000..92c5e3189f
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0025.composite
@@ -0,0 +1,54 @@
+<?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.
+-->
+<!-- Tests that where a <component/> <property/> has its value set by means
+ of a child <value/> element, that the type of the <value/> element matches
+ the type declared for the <property/> element -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0025">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0025</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite12"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <!-- Property with complex type with a value declared using a <value/> subelement -->
+ <property name="complexType" type="test:ComplexType1">
+ <ComplexType1Value type="test:ComplexType1">
+ <test:firstData>complex1</test:firstData>
+ <test:secondData>complex2</test:secondData>
+ </ComplexType1Value>
+ </property>
+ <property name="serviceName">service1</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0026.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0026.composite
new file mode 100644
index 0000000000..3c5a441899
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0026.composite
@@ -0,0 +1,57 @@
+<?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.
+-->
+<!-- Tests that where a <component/> <property/> has its value set by means
+ of a child element that is NOT a <value/> element, that a) the type of
+ the <property/> element is declared as an XML Schema global element by
+ its @element attribute and that the child element is an instance of that
+ global element -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0026">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0026</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite13"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- Property with complex type with a value declared using a subelement
+ with the correct XSD global element type -->
+ <property name="complexType" element="test:globalElement1">
+ <test:globalElement1>
+ <firstData>complex1</firstData>
+ <secondData>complex2</secondData>
+ </test:globalElement1>
+ </property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0027.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0027.composite
new file mode 100644
index 0000000000..c2ed53146f
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0027.composite
@@ -0,0 +1,49 @@
+<?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.
+-->
+<!-- Tests that where a <component/> has 2 or more <property/> child elements
+ that each <property/> element has a unique @name attribute value -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0027">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0027</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- Multiple properties with the same @name attribute value - an error -->
+ <property name="serviceName">service2</property>
+ <property name="serviceName">service3</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0028.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0028.composite
new file mode 100644
index 0000000000..b79eefbce9
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0028.composite
@@ -0,0 +1,55 @@
+<?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.
+-->
+<!-- Tests that a <component/> <property/> @name attribute matches the
+ @name attribute of one of the <property/> elements of the
+ <componentType/> of the <implementation/> of the <component/> -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0028">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0028</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+
+ <!--
+ <property name="serviceName">service1</property>
+ -->
+
+ <!-- Property with @name attribute that does not match the @name
+ attribute of any of the <property/> elements in the
+ <componentType/> of the <implementation/> -->
+ <property name="randomName">randomValue</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0029.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0029.composite
new file mode 100644
index 0000000000..c1aaba1775
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0029.composite
@@ -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.
+-->
+<!-- Tests that that where a <component/> <property/> has @many=false that
+ there is only one <value/> child element of the <property/> -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0029">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0029</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite12"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- Property with complex type with many=false but 2 <value/>
+ subelements - which is an error -->
+ <property name="complexType" type="test:ComplexType1" many="false">
+ <value>
+ <test:firstData>SomeData</test:firstData>
+ <test:secondData>MoreData</test:secondData>
+ </value>
+ <value>
+ <test:firstData>SomeData2</test:firstData>
+ <test:secondData>MoreData2</test:secondData>
+ </value>
+ </property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0030.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0030.composite
new file mode 100644
index 0000000000..0ce29cdab2
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0030.composite
@@ -0,0 +1,51 @@
+<?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.
+-->
+<!-- Tests that a <component/> <property/> with a @value attribute set
+does not have any <value/> child elements -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0030">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0030</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite14"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- Property with value set via a @value attribute and also having
+ <value/> child elements, which is an error -->
+ <property name="simpleType" value="someValue">
+ <value>someOtherValue</value>
+ </property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0031.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0031.composite
new file mode 100644
index 0000000000..50cd134a6e
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0031.composite
@@ -0,0 +1,68 @@
+<?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.
+-->
+<!-- Tests that where a <component/> <reference/> has its @target attribute set
+ to a valid service and the <composite/> also contains a <wire/> element with
+ @source set to the <component/> <reference/> and @target set to a second valid
+ service and has @replace=true, the <reference/> is wired to the second service
+ only -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0031">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0031</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite4"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1" target="TestComponent2/Service1"/>
+ </component>
+
+ <!-- Here is a wire that overrides the reference target of TestComponent1/Reference1 -->
+ <wire source="TestComponent1/Reference1" target="TestComponent3/Service1" replace="true"/>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+ <component name="TestComponent3">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service3</property>
+ </component>
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0039.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0039.composite
new file mode 100644
index 0000000000..bf69bef4fe
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0039.composite
@@ -0,0 +1,70 @@
+<?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://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0039">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0039</property>
+ </component>
+
+ <!-- Implementation with a single reference with multiplicity 1..n which
+ has multiple concrete bindings applied to it -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite8"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- multiplicity is restricted to 1, but 2 tagets is specified, this should be detected in deployment time -->
+ <!--In the test, it reported "WARNING: Too many targets on reference: Reference1"-->
+ <!--if the multiplicity is specified to "1..1", it reported "Component reference multiplicity incompatible with reference multiplicity: Component = TestComponent1 Reference = Reference1"-->
+ <reference name="Reference1" target="TestComponent2/Service1 TestComponent3/Service1" multiplicity="0..1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+ <component name="TestComponent3">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service3</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0040.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0040.composite
new file mode 100644
index 0000000000..1b01ddc9d3
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0040.composite
@@ -0,0 +1,53 @@
+<?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.
+-->
+<!-- Tests that if the runtime is using an untargeted reference,
+it should throw an exception.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0040">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0040</property>
+ </component>
+
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite23"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!--Reference1 has no target service, the SCA runtime will throw the ServiceRunTimeExceptions.-->
+ <reference name="Reference1" multiplicity="0..1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0041.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0041.composite
new file mode 100644
index 0000000000..b56100c8e9
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0041.composite
@@ -0,0 +1,63 @@
+<?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.
+-->
+<!--
+test if @wiredByImpl="true", <reference/> element has no <binding/> child elements.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0041">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0041</property>
+ </component>
+
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite23"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+
+ <reference name="Reference1" wiredByImpl="true">
+ <interface.java interface="test.Service1"/>
+ <binding.sca uri="TestComponent2/Service1"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+
+ </component>
+
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0042.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0042.composite
new file mode 100644
index 0000000000..9904308676
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0042.composite
@@ -0,0 +1,65 @@
+<?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.
+-->
+<!-- test if @wiredByImpl="true",
+No <wire/> elements have the <reference/> element declared as the @source for the wire.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0042">
+
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0041</property>
+ </component>
+
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite23"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+
+ <reference name="Reference1" wiredByImpl="true">
+ <interface.java interface="test.Service1"/>
+
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+
+ </component>
+
+ <wire source="TestComponent1/Reference1" target="TestComponent2/Service1"/>
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0043.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0043.composite
new file mode 100644
index 0000000000..b71c81a749
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0043.composite
@@ -0,0 +1,89 @@
+<?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.
+-->
+<!-- test if @wiredByImpl="true",
+No <wire/> elements have the <reference/> element declared as the @source for the wire.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0043">
+
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0043</property>
+ </component>
+
+ <!--JMS client-->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite23"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+
+ <reference name="Reference1" target="TestComponent2/Service1">
+ <interface.java interface="test.Service1"/>
+ <binding.jms uri="jms:DestQueueA">
+ <destination name="DestQueueA"/>
+ </binding.jms>
+
+ </reference>
+ </component>
+
+ <!--JMS service-->
+ <component name="TestComponent2">
+
+ <implementation.java class="test.service1Impl"/>
+
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ <binding.jms>
+ <destination name="DestQueueA" create="always"/>
+ </binding.jms>
+
+ </service>
+ <property name="serviceName">service1</property>
+
+ </component>
+
+ <!--WebService service-->
+ <component name="TestComponent3">
+
+ <implementation.java class="test.service1Impl"/>
+
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ <binding.ws uri="http://localhost:8080/Service1"/>
+
+ </service>
+ <property name="serviceName">service1</property>
+
+ </component>
+
+
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0101.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0101.composite
new file mode 100644
index 0000000000..d2bfe29775
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_0101.composite
@@ -0,0 +1,42 @@
+<?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://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0101">
+
+ <component name="TestClient">
+ <implementation.java class="test.ASM_0001_Client"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.sca/>
+ <binding.ws/>
+ </service>
+ <!-- reference name="testRef1" target="TestComponent1/service1" / -->
+ </component>
+
+<!--
+ <component name="TestComponent1">
+ <implementation.java class="test.ASM_0001_Impl1"/>
+ <service name="service1"/>
+ </component>
+-->
+
+</composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_6030.composite b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_6030.composite
new file mode 100644
index 0000000000..1d34ffc721
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_ASM_6030.composite
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one * or more
+ contributor license agreements. See the NOTICE file * distributed with
+ this work for additional information * regarding copyright ownership.
+ The ASF licenses this file * to you under the Apache License, Version
+ 2.0 (the * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at * *
+ http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by
+ applicable law or agreed to in writing, * software distributed under
+ the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES
+ OR CONDITIONS OF ANY * KIND, either express or implied. See the
+ License for the * specific language governing permissions and
+ limitations * under the License.
+-->
+<!--
+ For a composite used as a component implementation, all properties of
+ components within the composite, where the underlying component
+ implementation specifies "mustSupply=true" for the property, MUST
+ either specify a value for the property or source the value from a
+ composite property.
+-->
+
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests" xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests" name="TEST_ASM_6030">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002" />
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation" />
+ <binding.ws />
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_6030</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite12"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service1</property>
+ </component>
+
+ </composite>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_Types.xsd b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_Types.xsd
new file mode 100644
index 0000000000..c0f488ab12
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/Test_Types.xsd
@@ -0,0 +1,37 @@
+<?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.
+-->
+<!-- Schema for Schema types used by the SCA TestCases -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ elementFormDefault="qualified">
+
+
+ <!-- A complex type -->
+ <complexType name="ComplexType1">
+ <element name="firstData" type="string" />
+ <element name="secondData" type="string" />
+ </complexType>
+
+ <!-- A global element with a complex type -->
+ <element name="globalElement1" type="test:ComplexType1"/>
+
+</schema>
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/main/resources/jndi.properties b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/jndi.properties
new file mode 100644
index 0000000000..9abdff215d
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/main/resources/jndi.properties
@@ -0,0 +1,39 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements. See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+
+# START SNIPPET: jndi
+
+java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory
+
+# use the following property to configure the default connector
+java.naming.provider.url = vm://localhost?broker.persistent=false
+
+# use the following property to specify the JNDI name the connection factory
+# should appear as.
+#connectionFactoryNames = connectionFactory, queueConnectionFactory, topicConnectionFactry
+connectionFactoryNames = ConnectionFactory
+
+# register some queues in JNDI using the form
+# queue.[jndiName] = [physicalName]
+queue.RequestQueue = RequestQueue
+queue.ResponseQueue = ResponseQueue
+
+# register some topics in JNDI using the form
+# topic.[jndiName] = [physicalName]
+#topic.MyTopic = example.MyTopic
+
+# END SNIPPET: jndi
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0002_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0002_TestCase.java
new file mode 100644
index 0000000000..54aaca8b6a
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0002_TestCase.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 client;
+
+
+import test.ASM_0002_Client;
+import test.TestInvocation;
+
+
+/**
+ * ASM_0002_TestCase
+ */
+public class ASM_0002_TestCase extends BaseTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0002";
+ config.input = "request";
+ config.output = config.testName + " " + config.input + " service1 operation1 invoked";
+ config.composite = "Test_ASM_0002.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0002
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0003_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0003_TestCase.java
new file mode 100644
index 0000000000..930200009e
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0003_TestCase.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 client;
+
+
+import test.ASM_0003_Client;
+import testClient.TestInvocation;
+
+/**
+ * A generic test client based on Tuscany APIs
+ */
+public class ASM_0003_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0003";
+ config.input = "request";
+ config.output = config.testName + " " + config.input + " service1 operation1 invoked" +
+ "service2 operation1 invoked" + "service3 operation1 invoked";
+ config.composite = "Test_ASM_0003.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0003_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0004_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0004_TestCase.java
new file mode 100644
index 0000000000..cafa6d25c3
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0004_TestCase.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * A generic test client based on Tuscany APIs
+ */
+public class ASM_0004_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0004";
+ config.input = "request";
+ config.output = "org.osoa.sca.ServiceRuntimeException: Too many targets on reference: reference1";
+ config.composite = "Test_ASM_0004.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0004
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0005_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0005_TestCase.java
new file mode 100644
index 0000000000..e77a9b13f0
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0005_TestCase.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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0005_TestCase, which checks that a component with multiple <service/>
+ * elements with the same @name attribute is an error
+ */
+public class ASM_0005_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0005";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0005.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0006_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0006_TestCase.java
new file mode 100644
index 0000000000..822fba7d78
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0006_TestCase.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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0006_TestCase, which checks that the @name attribute of a <service/>
+ * element of a <component/> matches the @name attribute of a <service/> element of the
+ * componentType of the <implementation/> used by the <component/>
+ */
+public class ASM_0006_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0006";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0006.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0007_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0007_TestCase.java
new file mode 100644
index 0000000000..220dfc992d
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0007_TestCase.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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0007_TestCase, which tests that the @name attribute of a <reference/>
+ * element of a component is not equal to the @name attribute of any other <reference/>
+ * element of the same component
+ */
+public class ASM_0007_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0007";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0007.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0008_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0008_TestCase.java
new file mode 100644
index 0000000000..4df69020a0
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0008_TestCase.java
@@ -0,0 +1,46 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0008_TestCase, which Tests that the @name attribute of a
+ * <reference/> element of a component is equal to the @name attribute of a
+ * <reference/> element of the <componentType/> of the <implementation/> of
+ * the <component/>
+ */
+public class ASM_0008_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0008";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0008.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0009_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0009_TestCase.java
new file mode 100644
index 0000000000..2bbcc04465
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0009_TestCase.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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0009_TestCase, which tests that the @name attribute of a
+ * <component/> element in a <composite/> is not the same as the @name
+ * attribute of a second component in the same <composite/>
+ */
+public class ASM_0009_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0009";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0009.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0010_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0010_TestCase.java
new file mode 100644
index 0000000000..274c39347f
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0010_TestCase.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0009_TestCase, which tests that the interface specified
+ * by the <interface/> child element of a <service/> element is a compatible
+ * subset of the interface declared for the <service/> element with the
+ * same @name attribute in the <componentType/> of the <implementation/>
+ * of the <component/> parent of the <service/>
+ */
+public class ASM_0010_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0010";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0010.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0011_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0011_TestCase.java
new file mode 100644
index 0000000000..7a503fb459
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0011_TestCase.java
@@ -0,0 +1,46 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0011_TestCase, which tests that the the multiplicity
+ * of a <reference/> element of a <component/> can be 1..1 where the
+ * multiplicity of the equivalent <reference/> element in the
+ * <componentType/> of the <implementation/> of the <component/> is 1..n
+ */
+public class ASM_0011_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0011";
+ config.input = "request";
+ config.output = "ASM_0011 request service1 operation1 invoked service2 operation1 invoked";
+ config.composite = "Test_ASM_0011.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0012_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0012_TestCase.java
new file mode 100644
index 0000000000..228d1810e0
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0012_TestCase.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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0012_TestCase, which tests that the the multiplicity
+ * of a <reference/> element of a <component/> can be any one of 0..1,
+ * 1..1, 0..n, 1..n where the multiplicity of the equivalent <reference/>
+ * element in the <componentType/> of the <implementation/> of the
+ * <component/> is 0..n
+ */
+public class ASM_0012_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0012";
+ config.input = "request";
+ config.output = "ASM_0012 request service1 operation1 invoked service2 operation1 invoked" +
+ " service3 operation1 invoked service4 operation1 invoked service5 operation1 invoked";
+ config.composite = "Test_ASM_0012.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0013_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0013_TestCase.java
new file mode 100644
index 0000000000..a02ca18184
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0013_TestCase.java
@@ -0,0 +1,46 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0013_TestCase, which tests that the the multiplicity
+ * of a <reference/> element of a <component/> is 1..1 where the
+ * multiplicity of the equivalent <reference/> element in the
+ * <componentType/> of the <implementation/> of the <component/> is 1..1
+ */
+public class ASM_0013_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0013";
+ config.input = "request";
+ config.output = "ASM_0013 request service1 operation1 invoked service2 operation1 invoked";
+ config.composite = "Test_ASM_0013.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0014_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0014_TestCase.java
new file mode 100644
index 0000000000..c4960925f9
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0014_TestCase.java
@@ -0,0 +1,46 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0014_TestCase, which tests that the multiplicity of a
+ * <reference/> element of a <component/> is 0..n where the multiplicity
+ * of the equivalent <reference/> element in the <componentType/> of the
+ * <implementation/> of the <component/> is 1..1
+ */
+public class ASM_0014_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0014";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0014.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0015_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0015_TestCase.java
new file mode 100644
index 0000000000..c9c7c2ba1c
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0015_TestCase.java
@@ -0,0 +1,46 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0015_TestCase, which tests that the the multiplicity
+ * of a <reference/> element of a <component/> is 1..1 where the
+ * multiplicity of the equivalent <reference/> element in the
+ * <componentType/> of the <implementation/> of the <component/> is 0..1
+ */
+public class ASM_0015_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0015";
+ config.input = "request";
+ config.output = "ASM_0015 request service1 operation1 invoked service2 operation1 invoked";
+ config.composite = "Test_ASM_0015.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0016_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0016_TestCase.java
new file mode 100644
index 0000000000..e9817a069b
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0016_TestCase.java
@@ -0,0 +1,46 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0016_TestCase, which tests that the interface declared
+ * by the <interface/> child element of a <reference/> of a <component/>
+ * is a compatible superset of the interface declared on the corresponding
+ * <reference/> of the componentType of the <implementation/> of the <component/>
+ */
+public class ASM_0016_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0016";
+ config.input = "request";
+ config.output = "ASM_0016 request service1 operation1 invoked service2 operation1 invoked";
+ config.composite = "Test_ASM_0016.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0017_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0017_TestCase.java
new file mode 100644
index 0000000000..735a9bfc38
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0017_TestCase.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0017_TestCase, which tests that where a <reference/>
+ * of a <component/> has no <binding/> child element, but the
+ * corresponding <reference/> element in the componentType does have
+ * a binding child element, the <binding/> from the componentType is
+ * used for the reference
+ */
+public class ASM_0017_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0017";
+ config.input = "request";
+ config.output = "ASM_0017 request service1 operation1 invoked service2 operation1 invoked";
+ config.composite = "Test_ASM_0017.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0018_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0018_TestCase.java
new file mode 100644
index 0000000000..ab872f09a6
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0018_TestCase.java
@@ -0,0 +1,61 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Line 1379-1381:
+ * <p>
+ * OSOA:
+ * Note that a binding element may specify an endpoint which is the target of
+ * that binding. A reference must not mix the use of endpoints specified via
+ * binding elements with target endpoints specified via the target attribute.
+ * <p>
+ * [ASM50015]
+ * <p>
+ * OASIS:
+ * If a binding element has a value specified for a target service using
+ * its @uri attribute, * the binding element MUST NOT identify target
+ * services using binding specific attributes or elements.
+ *
+ * Client for ASM_0018_TestCase, which tests that where a <reference/>
+ * of a <component/> has a <binding/> child element and the
+ * corresponding <reference/> element in the componentType has
+ * a binding child element, the <binding/> from the <reference/> is
+ * used for the reference
+ */
+public class ASM_0018_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0018";
+ config.input = "request";
+ config.output = "ASM_0018 request service1 operation1 invoked service3 operation1 invoked";
+ config.composite = "Test_ASM_0018.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class ASM_0018_TestCase
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0019_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0019_TestCase.java
new file mode 100644
index 0000000000..c1cc0d6b0f
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0019_TestCase.java
@@ -0,0 +1,46 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0018_TestCase, which tests that where a <reference/>
+ * of a <component/> has @autowire=”true” and also has @target identifying
+ * a single target service that the reference is wired only to the single
+ * service identified by the @target attribute
+ */
+public class ASM_0019_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0019";
+ config.input = "request";
+ config.output = "ASM_0019 request service1 operation1 invoked service3 operation1 invoked";
+ config.composite = "Test_ASM_0019.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0020_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0020_TestCase.java
new file mode 100644
index 0000000000..12dce46975
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0020_TestCase.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0020_TestCase, which tests that where a <reference/>
+ * of a <component/> has @autowire=true and where there is also a single
+ * <wire/> element which as that <reference/> as its source that the
+ * reference is wired only to the single service identified by the
+ * <wire/> element
+ */
+public class ASM_0020_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0020";
+ config.input = "request";
+ config.output = "ASM_0020 request service1 operation1 invoked service3 operation1 invoked";
+ config.composite = "Test_ASM_0020.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0021_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0021_TestCase.java
new file mode 100644
index 0000000000..286e21b1d4
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0021_TestCase.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0021_TestCase, which tests that where a <reference/>
+ * of a <component/> has @autowire=true and where the <reference/> has
+ * a <binding/> child element which declares a single target service,
+ * the reference is wired only to the single service identified by the
+ * <wire/> element
+ */
+public class ASM_0021_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0021";
+ config.input = "request";
+ config.output = "ASM_0021 request service1 operation1 invoked service3 operation1 invoked";
+ config.composite = "Test_ASM_0021.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0022_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0022_TestCase.java
new file mode 100644
index 0000000000..a39b674b97
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0022_TestCase.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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0022_TestCase, which tests that where a <component/>
+ * <reference/> with multiplicity=0..1 is unwired (by any means) that
+ * the component executes correctly
+ */
+public class ASM_0022_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0022";
+ config.input = "request";
+ config.output = "ASM_0022 request service1 operation1 invoked";
+ config.composite = "Test_ASM_0022.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0023_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0023_TestCase.java
new file mode 100644
index 0000000000..172cb74554
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0023_TestCase.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0021_TestCase, which tests that where a <component/>
+ * <reference/> with multiplicity=1..1 is wired to a component service
+ * in the same composite and is also promoted by a <composite/> <reference/>
+ * which is wired to a target service by a component using the <composite/>
+ * as its implementation, that this is an error
+ */
+public class ASM_0023_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0023";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0023.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0024_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0024_TestCase.java
new file mode 100644
index 0000000000..6f224a8951
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0024_TestCase.java
@@ -0,0 +1,61 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0024_TestCase, which tests that where a <component/>
+ * <reference/> has @target set to some service, that the reference
+ * can have no child <binding/> elements
+ */
+public class ASM_0024_TestCase extends BaseJAXWSTestCase {
+
+
+ /**
+ * <p>
+ * OSOA
+ * Line 1379~1381
+ * Note that a binding element may specify an endpoint which is the target of that binding. A
+ * reference must not mix the use of endpoints specified via binding elements with target endpoints
+ * specified via the target attribute.
+ * <p>
+ * OASIS
+ * ASM50026
+ * If a reference has a value specified for one or more target services in its @target attribute,
+ * there MUST NOT be any child <binding/> elements declared for that reference.
+ * <p>
+ * Jira issue:
+ * https://issues.apache.org/jira/browse/TUSCANY-2920
+ */
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0024";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0024.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0025_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0025_TestCase.java
new file mode 100644
index 0000000000..9d79b3b472
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0025_TestCase.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0025_TestCase, which tests that where a <component/>
+ * <property/> has its value set by means of a child <value/> element,
+ * that the type of the <value/> element matches the type declared for
+ * the <property/> element
+ */
+public class ASM_0025_TestCase extends BaseJAXWSTestCase {
+
+ public static void main(String[] args) throws Exception {
+ ASM_0025_TestCase test = new ASM_0025_TestCase();
+ test.setUp();
+ test.tearDown();
+ }
+
+ /**
+ * <p>
+ * OSOA
+ * No @value subelement in OSOA specification
+ * <p>
+ * OASIS
+ * <p>
+ * ASM50028
+ * If the value subelement of a component property is specified,
+ * the type of the property MUST be an XML Schema simple type or an
+ * XML schema complex type
+ */
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0025";
+ config.input = "request";
+ config.output = "ASM_0025 request service1 operation1 invokedcomplex1complex2";
+ config.composite = "Test_ASM_0025.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0026_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0026_TestCase.java
new file mode 100644
index 0000000000..5cb2ed5241
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0026_TestCase.java
@@ -0,0 +1,64 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0026_TestCase, which tests that where a <component/> <property/>
+ * has its value set by means of a child element that is NOT a <value/> element,
+ * that a) the type of the <property/> element is declared as an XML Schema global
+ * element by its @element attribute and b) that the child element is an instance
+ * of that global element
+ */
+public class ASM_0026_TestCase extends BaseJAXWSTestCase {
+
+
+ /**
+ * <p>
+ * OSOA Line 1113~1118
+ * The property element may contain an optional default-property-value, which provides default
+ * value for the property. The default value must match the type declared for the property
+ * 1) a string, if type is a simple type (must match the type declared)
+ * 2) a complex type value matching the type declared by type
+ * 3) an element matching the element named by element
+ * 4) multiple values are permitted if many="true" is specified
+ * <p>
+ * OASIS
+ * <p>
+ * ASM50029
+ * If a component property value is declared using a child element of the <property/>
+ * element, the type of the property MUST be an XML Schema global element and the
+ * declared child element MUST be an instance of that global element
+ */
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0026";
+ config.input = "request";
+ config.output = "ASM_0026 request service1 operation1 invokedcomplex1complex2";
+ config.composite = "Test_ASM_0026.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0027_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0027_TestCase.java
new file mode 100644
index 0000000000..86d8f51288
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0027_TestCase.java
@@ -0,0 +1,60 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0027_TestCase, which tests that where a <component/> has
+ * 2 or more <property/> child elements that each <property/> element has a
+ * unique @name attribute value
+ */
+public class ASM_0027_TestCase extends BaseJAXWSTestCase {
+
+
+ /**
+ * <p>
+ * OSOA
+ * No corresponding declaration for this feature.
+ * <p>
+ * OASIS
+ * <p>
+ * ASM50030
+ * A <component/> element MUST NOT contain two <property/> subelements with the
+ * same value of the @name attribute.
+ * <p>
+ * Jira issue:
+ * https://issues.apache.org/jira/browse/TUSCANY-2863
+ *
+ */
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0027";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0027.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0027
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0028_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0028_TestCase.java
new file mode 100644
index 0000000000..e91ee2c7f3
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0028_TestCase.java
@@ -0,0 +1,59 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0028_TestCase, which tests a <component/> <property/> @name
+ * attribute matches the @name attribute of one of the <property/> elements of
+ * the <componentType/> of the <implementation/> of the <component/>
+ */
+public class ASM_0028_TestCase extends BaseJAXWSTestCase {
+
+
+ /**
+ * <p>
+ * OSOA
+ * No corresponding statements for this feature.
+ * <p>
+ * OASIS
+ * <p>
+ * ASM50031
+ * The name attribute of a component property MUST match the name of a property
+ * element in the component type of the component implementation.
+ * <p>
+ * Jira issue:
+ * https://issues.apache.org/jira/browse/TUSCANY-2901
+ */
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0028";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0028.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0028
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0029_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0029_TestCase.java
new file mode 100644
index 0000000000..eae5a2f978
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0029_TestCase.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0029_TestCase, which tests that where a <component/> <property/>
+ * has @many=false that there is only one <value/> child element of the <property/>
+ */
+public class ASM_0029_TestCase extends BaseJAXWSTestCase {
+
+
+ /**
+ * <p>
+ * OSOA Line 1104~1106
+ * <p>
+ * many (optional) - whether the property is single-valued (false) or multi-valued (true).
+ * The default is false. In the case of a multi-valued property, it is presented to the
+ * implementation as a Collection of property values.
+ * <p>
+ * OASIS
+ * <p>
+ * ASM50032
+ * If a property is single-valued, the <value/> subelement MUST NOT occur more than once.
+ * <p>
+ * OSOA didn't explicitly say "MUST NOT occur more than once".
+ * <p>
+ * Jira issue:
+ * https://issues.apache.org/jira/browse/TUSCANY-2902
+ *
+ */
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0029";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0029.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0029
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0030_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0030_TestCase.java
new file mode 100644
index 0000000000..197f9acd72
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0030_TestCase.java
@@ -0,0 +1,57 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0030_TestCase, which tests that a <component/> <property/>
+ * with a @value attribute set does not have any <value/> child elements
+ */
+public class ASM_0030_TestCase extends BaseJAXWSTestCase {
+
+
+ /**
+ * <p>
+ * OSOA
+ * No @value attribute for the property in OSOA spec.
+ * So this TestCase is not valid.
+ * <p>
+ * OASIS
+ * <p>
+ * ASM50033
+ * A property <value/> subelement MUST NOT be used when the @value attribute
+ * is used to specify the value for that property.
+ *
+ */
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0030";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0030.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0030
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0031_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0031_TestCase.java
new file mode 100644
index 0000000000..5f5d68fb81
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0031_TestCase.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0031_TestCase, which tests that where a <component/> <reference/>
+ * has its @target attribute set to a valid service and the <composite/> also
+ * contains a <wire/> element with @source set to the <component/> <reference/>
+ * and @target set to a second valid service and has @replace=true, the <reference/>
+ * is wired to the second service only
+ */
+public class ASM_0031_TestCase extends BaseJAXWSTestCase {
+
+
+ /**
+ * <p>
+ * OSOA
+ * No @replace in OSOA specification currently.
+ * <p>
+ * OASIS
+ * <p>
+ * ASM50034
+ * If any <wire/> element with its @replace attribute set to "true" has
+ * a particular reference specified in its @source attribute,
+ * the value of the @target attribute for that reference MUST be ignored
+ * and MUST NOT be used to define target services for that reference.
+ * <p>
+ * Jira issue:
+ * https://issues.apache.org/jira/browse/TUSCANY-2903
+ */
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0031";
+ config.input = "request";
+ config.output = "ASM_0031 request service1 operation1 invoked service3 operation1 invoked";
+ config.composite = "Test_ASM_0031.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0031
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0039_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0039_TestCase.java
new file mode 100644
index 0000000000..5f7ef37f61
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0039_TestCase.java
@@ -0,0 +1,54 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ *
+ */
+public class ASM_0039_TestCase extends BaseJAXWSTestCase {
+
+
+ /**
+ * <p>
+ * OSOA
+ * No corresponding statements in OSOA specification.
+ * <p>
+ * OASIS
+ * ASM50023
+ * Some reference multiplicity errors can be detected at deployment time,
+ * where the rules defined in ASM50018, ASM50019, ASM50020, ASM50021 are violated.
+ * In these cases, an error SHOULD be generated by the SCA runtime at deployment time.
+ */
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0039";
+ config.input = "request";
+ config.output = "ASM_0039 request service1 operation1 invoked service2 operation1 invokedservice2 operation1 invoked";
+ config.composite = "Test_ASM_0039.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0039
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0040_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0040_TestCase.java
new file mode 100644
index 0000000000..388508c209
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0040_TestCase.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * For the cases where it is valid for the reference to have no target service specified,
+ * the component implementation language specification needs to define the programming model
+ * for interacting with an untargetted reference.
+ * So the SCA runtime should throw an exception if it is using an untargetted reference.
+ */
+public class ASM_0040_TestCase extends BaseJAXWSTestCase {
+
+
+ /**
+ * <p>
+ * OSOA
+ * No corresponding statements in OSOA specification.
+ * <p>
+ * OASIS
+ * ASM50024
+ * Some reference multiplicity errors can only be checked at runtime,
+ * where the rules defined in ASM50018, ASM50019, ASM50020, ASM50021 are violated.
+ * In these cases, the SCA runtime MUST generate an error no later than when the reference is
+ * invoked by the component implementation.
+ */
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0040";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0040.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0040
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0041_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0041_TestCase.java
new file mode 100644
index 0000000000..441cc61734
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0041_TestCase.java
@@ -0,0 +1,57 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ *test if @wiredByImpl="true", <reference/> element has no <binding/> child elements.
+ */
+public class ASM_0041_TestCase extends BaseJAXWSTestCase {
+
+ /**
+ * <p>
+ * OSOA
+ * Line 220~221
+ * If "true" is set, then the reference should not be wired
+ * statically within a composite, but left unwired.
+ * <p>
+ * OASIS
+ * ASM50013
+ * If @wiredByImpl="true",
+ * other methods of specifying the target service MUST NOT be used.
+ * <p>
+ * Jira issue:
+ * https://issues.apache.org/jira/browse/TUSCANY-2913
+ */
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0041";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0041.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0041
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0042_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0042_TestCase.java
new file mode 100644
index 0000000000..1ae44dd554
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0042_TestCase.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+import org.junit.Test;
+
+
+/**
+ * test if @wiredByImpl="true",
+ * No <wire/> elements have the <reference/> element declared as the @source for the wire.
+ */
+// @Ignore("TUSCANY-2925")
+public class ASM_0042_TestCase extends BaseJAXWSTestCase {
+
+
+ /**
+ * <p>
+ * OSOA
+ * Line 220~221
+ * If "true" is set, then the reference should not be wired
+ * statically within a composite, but left unwired.
+ * <p>
+ * OASIS
+ * ASM50013
+ * If @wiredByImpl="true",
+ * other methods of specifying the target service MUST NOT be used.
+ * <p>
+ * Jira issue:
+ * https://issues.apache.org/jira/browse/TUSCANY-2913
+ */
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0042";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0042.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0042
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0043_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0043_TestCase.java
new file mode 100644
index 0000000000..a554fa1ee6
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_0043_TestCase.java
@@ -0,0 +1,59 @@
+/*
+ * 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 client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0043_TestCase, it tests @uri and subelement of <binding> can't coexist,
+ * and some binding can use specific subelements more than a simple URI.
+ *
+ */
+public class ASM_0043_TestCase extends BaseJAXWSTestCase {
+
+
+ /**
+ * <p>
+ * OSOA
+ * <p>
+ * OASIS
+ * ASM50016
+ * It is possible that a particular binding type MAY require that the address of a target service
+ * uses more than a simple URI. In cases where a reference element has a binding subelement of such a type,
+ * the @uri attribute of the binding element MUST NOT be used to identify the target service -
+ * instead, binding specific attributes and/or child elements MUST be used.
+ * <p>
+ * Jira issue:
+ * https://issues.apache.org/jira/browse/TUSCANY-2921
+ */
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0043";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_0043.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0043
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_6030_TestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_6030_TestCase.java
new file mode 100644
index 0000000000..2eb2feb5bc
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/ASM_6030_TestCase.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package client;
+
+
+import test.ASM_0003_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0021_TestCase, which tests that where a <component/>
+ * <reference/> with multiplicity=1..1 is wired to a component service
+ * in the same composite and is also promoted by a <composite/> <reference/>
+ * which is wired to a target service by a component using the <composite/>
+ * as its implementation, that this is an error
+ */
+public class ASM_6030_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_6030";
+ config.input = "request";
+ config.output = config.testName + " " + config.input +" service1 operation1 invoked";
+ config.composite = "Test_ASM_6030.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0003_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/BaseJAXWSTestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/BaseJAXWSTestCase.java
new file mode 100644
index 0000000000..1904c02359
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/BaseJAXWSTestCase.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package client;
+
+import static org.junit.Assert.*;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.launcher.NodeLauncher;
+//import org.apache.tuscany.sca.node.equinox.launcher.Contribution;
+//import org.apache.tuscany.sca.node.equinox.launcher.ContributionLocationHelper;
+//import org.apache.tuscany.sca.node.equinox.launcher.NodeLauncher;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import javax.xml.ws.Service;
+import javax.xml.namespace.QName;
+
+import test.ASM_0001_Client;
+import testClient.TestInvocation;
+import testClient.TestException_Exception;
+import testClient.TestException;
+
+/**
+ * A generic test client based on JAX-WS APIs
+ */
+public class BaseJAXWSTestCase extends BaseTestCase {
+
+
+ public static void main(String[] args) throws Exception {
+ BaseJAXWSTestCase test = new BaseJAXWSTestCase();
+ test.setUp();
+ test.tearDown();
+ }
+
+ public String invokeTest( String input ) throws Exception {
+ //Web service invocation via JAXWS
+ QName serviceName = new QName("http://test/", "TestInvocationService");
+ URL wsdlLocation = this.getClass().getClassLoader().getResource("TestClient.wsdl");
+ javax.xml.ws.Service webService = Service.create( wsdlLocation, serviceName );
+ TestInvocation wsProxy = (TestInvocation) webService.getPort(testConfiguration.getServiceInterface());
+
+ String output = wsProxy.invokeTest(input);
+
+ return output;
+ } // end method invokeTest
+
+
+} // end class BaseTest
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/BaseTestCase.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/BaseTestCase.java
new file mode 100644
index 0000000000..e39a8bf7e9
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/BaseTestCase.java
@@ -0,0 +1,164 @@
+/*
+ * 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 client;
+
+import static org.junit.Assert.*;
+
+import java.lang.reflect.InvocationTargetException;
+import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.launcher.Contribution;
+import org.apache.tuscany.sca.node.launcher.NodeLauncher;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import test.ASM_0001_Client;
+import test.TestInvocation;
+import testClient.TestException;
+import testClient.TestException_Exception;
+
+/**
+ * A generic test client based on Tuscany APIs
+ */
+public class BaseTestCase {
+
+ protected NodeLauncher launcher;
+ protected SCANode node;
+ protected TestConfiguration testConfiguration = getTestConfiguration();
+ protected static boolean proceed = true;
+
+ public static void main(String[] args) throws Exception {
+ BaseTestCase test = new BaseTestCase();
+ test.setUp();
+ test.tearDown();
+ }
+
+ @Before
+ public void setUp() throws Exception {
+ try {
+ startContribution();
+ } catch (Exception e) {
+ // If the SCA runtime refuses to start an invalid contribution, then this is also
+ // regarded as a successful outcome
+ System.out.println( "Exception received - detail: " + e.getMessage() );
+ if (e.getCause() instanceof InvocationTargetException){
+ assertEquals( testConfiguration.getExpectedOutput(), ((InvocationTargetException)e.getCause()).getCause().getMessage() );
+ } else {
+ assertEquals( testConfiguration.getExpectedOutput(), "exception" );
+ }
+ System.out.println("Test " + testConfiguration.getTestName() + " completed successfully");
+ // Mark this test as not to proceed further
+ proceed = false;
+ } // end try
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ stopContribution();
+ }
+
+ @Test
+ public void testDummy() throws Exception {
+ // If an exception were thrown during initialization, let's go no further
+ if( proceed == false ) return;
+
+ // System.out.println("Test " + testName + " starting");
+ String output = null;
+ try {
+ // Just requires input to proceed
+ // System.in.read();
+ //
+ output = invokeTest( testConfiguration.getInput() );
+
+ } catch ( TestException_Exception e ) {
+ TestException exceptionContent = e.getFaultInfo();
+ System.out.println("Service fault received - detail: " + exceptionContent.getMessage() );
+ assertEquals( testConfiguration.getExpectedOutput(), "exception" );
+ } catch (Throwable e) {
+ e.printStackTrace();
+ System.out.println( "Exception received - detail: " + e.getMessage() );
+ assertEquals( testConfiguration.getExpectedOutput(), "exception" );
+ }
+ assertEquals( testConfiguration.getExpectedOutput(), output );
+ System.out.println("Test " + testConfiguration.getTestName() + " completed successfully");
+ }
+
+ public String invokeTest( String input ) throws Exception {
+
+ TestInvocation service = (TestInvocation) getService( testConfiguration.getServiceInterface(),
+ testConfiguration.getTestServiceName() );
+
+ return service.invokeTest( input );
+ } // end method invokeTest
+
+ protected <T> T getService( Class<T> interfaze, String serviceName ) {
+ T service = ((SCAClient)node).getService( interfaze, serviceName );
+ return service;
+ } // end getService
+
+ protected void startContribution() throws Exception {
+ // Tuscany specific code which starts the contribution holding the test
+ launcher = NodeLauncher.newInstance();
+ node = launcher.createNode(testConfiguration.getComposite(),
+ new Contribution(testConfiguration.getTestName(), getContributionURI()));
+ System.out.println("SCA Node API ClassLoader: " + node.getClass().getClassLoader());
+ node.start();
+ } // end method startContribution
+
+ protected void stopContribution() throws Exception {
+ if (node != null) {
+ node.stop();
+ }
+
+ } // end method stopContribution
+
+ protected String getContributionURI() {
+ String location = getContributionLocation(testConfiguration.getTestClass());
+ return location;
+ }
+
+ public static String getContributionLocation(final Class<?> anchorClass) {
+ URL url = AccessController.doPrivileged(new PrivilegedAction<URL>() {
+ public URL run() {
+ return anchorClass.getProtectionDomain().getCodeSource().getLocation();
+ }
+ });
+ String uri = url.toString();
+ return uri;
+ }
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0001";
+ config.input = "request";
+ config.output = config.testName + " " + config.input + " invoked ok";
+ config.composite = "Test_ASM_0101.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0001_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class BaseTest
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/TestConfiguration.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/TestConfiguration.java
new file mode 100644
index 0000000000..6a2873b459
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/client/TestConfiguration.java
@@ -0,0 +1,27 @@
+package client;
+
+/**
+ * A class to hold the metadata about the test
+ * @author MikeEdwards
+ *
+ */
+class TestConfiguration {
+
+ public String testName;
+ public String input;
+ public String output;
+ public String composite;
+ public String testServiceName;
+ public Class<?> testClass; //TODO - does the client need this??
+ public Class<?> serviceInterface;
+
+ public TestConfiguration() { }
+
+ public String getTestName() { return testName; }
+ public String getInput() { return input; }
+ public String getExpectedOutput() { return output; }
+ public String getComposite() { return composite; }
+ public String getTestServiceName() { return testServiceName; }
+ public Class<?> getTestClass() { return testClass; }
+ public Class<?> getServiceInterface() { return serviceInterface; }
+} \ No newline at end of file
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/InvokeTest.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/InvokeTest.java
new file mode 100644
index 0000000000..00c8e562f8
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/InvokeTest.java
@@ -0,0 +1,82 @@
+/*
+ * 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 testClient;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "arg0"
+})
+@XmlRootElement(name = "invokeTest")
+public class InvokeTest {
+
+ @XmlElementRef(name = "arg0", type = JAXBElement.class)
+ protected JAXBElement<String> arg0;
+
+ /**
+ * Gets the value of the arg0 property.
+ *
+ * @return
+ * possible object is
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ public JAXBElement<String> getArg0() {
+ return arg0;
+ }
+
+ /**
+ * Sets the value of the arg0 property.
+ *
+ * @param value
+ * allowed object is
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ public void setArg0(JAXBElement<String> value) {
+ this.arg0 = ((JAXBElement<String> ) value);
+ }
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/InvokeTestResponse.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/InvokeTestResponse.java
new file mode 100644
index 0000000000..6b2fe7a950
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/InvokeTestResponse.java
@@ -0,0 +1,82 @@
+/*
+ * 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 testClient;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "_return"
+})
+@XmlRootElement(name = "invokeTestResponse")
+public class InvokeTestResponse {
+
+ @XmlElementRef(name = "return", type = JAXBElement.class)
+ protected JAXBElement<String> _return;
+
+ /**
+ * Gets the value of the return property.
+ *
+ * @return
+ * possible object is
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ public JAXBElement<String> getReturn() {
+ return _return;
+ }
+
+ /**
+ * Sets the value of the return property.
+ *
+ * @param value
+ * allowed object is
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ public void setReturn(JAXBElement<String> value) {
+ this._return = ((JAXBElement<String> ) value);
+ }
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/ObjectFactory.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/ObjectFactory.java
new file mode 100644
index 0000000000..4bde638058
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/ObjectFactory.java
@@ -0,0 +1,106 @@
+/*
+ * 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 testClient;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the testClient package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _TestException_QNAME = new QName("http://test/", "TestException");
+ private final static QName _InvokeTestArg0_QNAME = new QName("", "arg0");
+ private final static QName _InvokeTestResponseReturn_QNAME = new QName("", "return");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: testClient
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link InvokeTest }
+ *
+ */
+ public InvokeTest createInvokeTest() {
+ return new InvokeTest();
+ }
+
+ /**
+ * Create an instance of {@link InvokeTestResponse }
+ *
+ */
+ public InvokeTestResponse createInvokeTestResponse() {
+ return new InvokeTestResponse();
+ }
+
+ /**
+ * Create an instance of {@link TestException }
+ *
+ */
+ public TestException createTestException() {
+ return new TestException();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link TestException }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://test/", name = "TestException")
+ public JAXBElement<TestException> createTestException(TestException value) {
+ return new JAXBElement<TestException>(_TestException_QNAME, TestException.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "", name = "arg0", scope = InvokeTest.class)
+ public JAXBElement<String> createInvokeTestArg0(String value) {
+ return new JAXBElement<String>(_InvokeTestArg0_QNAME, String.class, InvokeTest.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "", name = "return", scope = InvokeTestResponse.class)
+ public JAXBElement<String> createInvokeTestResponseReturn(String value) {
+ return new JAXBElement<String>(_InvokeTestResponseReturn_QNAME, String.class, InvokeTestResponse.class, value);
+ }
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/README.txt b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/README.txt
new file mode 100644
index 0000000000..bdb326df2a
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/README.txt
@@ -0,0 +1,19 @@
+This README describes the JAX-WS client files for the SCA Assembly test invocation interface.
+
+The test invocation interface is in the TestInvocation.java interface file.
+This is presented as a Web service by the SCA runtime, for invocation by a general Web service client.
+The WSDL is captured in the file TestClient.wsdl in the resources directory for the testcases.
+
+The JAX-WS client files for invoking the Web service contained in TestClient.wsdl are contained in this
+package. They are generated from the WSDL using the wsimport tool (a standard part of JDK 1.6.x):
+
+wsimport TestClient.wsdl -keep -p testClient
+
+"-keep" is used to ensure that the generated .java files are retained (otherwise all that is created are
+the binary .class files).
+
+"-p testClient" is used to force the generated Java files to belong to the package "testClient" - this package
+name is used to keep a clean separation between the client files and the test service files
+
+
+Mike Edwards, 6th January 2009. \ No newline at end of file
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestException.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestException.java
new file mode 100644
index 0000000000..10272ec66d
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestException.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package testClient;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for TestException complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="TestException">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="message" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TestException", propOrder = {
+ "message"
+})
+public class TestException {
+
+ protected String message;
+
+ /**
+ * Gets the value of the message property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * Sets the value of the message property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMessage(String value) {
+ this.message = value;
+ }
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestException_Exception.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestException_Exception.java
new file mode 100644
index 0000000000..949d1ec7c7
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestException_Exception.java
@@ -0,0 +1,71 @@
+/*
+ * 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 testClient;
+
+import javax.xml.ws.WebFault;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1 in JDK 6
+ * Generated source version: 2.1
+ *
+ */
+@WebFault(name = "TestException", targetNamespace = "http://test/")
+public class TestException_Exception
+ extends Exception
+{
+
+ /**
+ * Java type that goes as soapenv:Fault detail element.
+ *
+ */
+ private TestException faultInfo;
+
+ /**
+ *
+ * @param message
+ * @param faultInfo
+ */
+ public TestException_Exception(String message, TestException faultInfo) {
+ super(message);
+ this.faultInfo = faultInfo;
+ }
+
+ /**
+ *
+ * @param message
+ * @param faultInfo
+ * @param cause
+ */
+ public TestException_Exception(String message, TestException faultInfo, Throwable cause) {
+ super(message, cause);
+ this.faultInfo = faultInfo;
+ }
+
+ /**
+ *
+ * @return
+ * returns fault bean: testClient.TestException
+ */
+ public TestException getFaultInfo() {
+ return faultInfo;
+ }
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestInvocation.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestInvocation.java
new file mode 100644
index 0000000000..783924d493
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestInvocation.java
@@ -0,0 +1,60 @@
+/*
+ * 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 testClient;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1 in JDK 6
+ * Generated source version: 2.1
+ *
+ */
+@WebService(name = "TestInvocation", targetNamespace = "http://test/")
+@XmlSeeAlso({
+ ObjectFactory.class
+})
+public interface TestInvocation {
+
+
+ /**
+ *
+ * @param arg0
+ * @return
+ * returns java.lang.String
+ * @throws TestException_Exception
+ */
+ @WebMethod
+ @WebResult(targetNamespace = "")
+ @RequestWrapper(localName = "invokeTest", targetNamespace = "http://test/", className = "testClient.InvokeTest")
+ @ResponseWrapper(localName = "invokeTestResponse", targetNamespace = "http://test/", className = "testClient.InvokeTestResponse")
+ public String invokeTest(
+ @WebParam(name = "arg0", targetNamespace = "")
+ String arg0)
+ throws TestException_Exception
+ ;
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestInvocationService.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestInvocationService.java
new file mode 100644
index 0000000000..6c7271e017
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/TestInvocationService.java
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package testClient;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1 in JDK 6
+ * Generated source version: 2.1
+ *
+ */
+@WebServiceClient(name = "TestInvocationService", targetNamespace = "http://test/", wsdlLocation = "file:/C:/temp/Tuscany_2_0_Work/TestClient.wsdl")
+public class TestInvocationService
+ extends Service
+{
+
+ private final static URL TESTINVOCATIONSERVICE_WSDL_LOCATION;
+
+ static {
+ URL url = null;
+ try {
+ url = new URL("file:/C:/temp/Tuscany_2_0_Work/TestClient.wsdl");
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ }
+ TESTINVOCATIONSERVICE_WSDL_LOCATION = url;
+ }
+
+ public TestInvocationService(URL wsdlLocation, QName serviceName) {
+ super(wsdlLocation, serviceName);
+ }
+
+ public TestInvocationService() {
+ super(TESTINVOCATIONSERVICE_WSDL_LOCATION, new QName("http://test/", "TestInvocationService"));
+ }
+
+ /**
+ *
+ * @return
+ * returns TestInvocation
+ */
+ @WebEndpoint(name = "TestInvocationPort")
+ public TestInvocation getTestInvocationPort() {
+ return (TestInvocation)super.getPort(new QName("http://test/", "TestInvocationPort"), TestInvocation.class);
+ }
+
+ /**
+ *
+ * @param features
+ * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * @return
+ * returns TestInvocation
+ */
+ @WebEndpoint(name = "TestInvocationPort")
+ public TestInvocation getTestInvocationPort(WebServiceFeature... features) {
+ return (TestInvocation)super.getPort(new QName("http://test/", "TestInvocationPort"), TestInvocation.class, features);
+ }
+
+}
diff --git a/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/package-info.java b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/package-info.java
new file mode 100644
index 0000000000..2dde15bdeb
--- /dev/null
+++ b/branches/sca-java-1.5/stest/sampleTest/src/test/java/testClient/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://test/")
+package testClient;