summaryrefslogtreecommitdiffstats
path: root/java/sca/vtest/wsbinding/service
diff options
context:
space:
mode:
authordims <dims@13f79535-47bb-0310-9956-ffa450edef68>2008-06-17 00:23:01 +0000
committerdims <dims@13f79535-47bb-0310-9956-ffa450edef68>2008-06-17 00:23:01 +0000
commitbdd0a41aed7edf21ec2a65cfa17a86af2ef8c48a (patch)
tree38a92061c0793434c4be189f1d70c3458b6bc41d /java/sca/vtest/wsbinding/service
Move Tuscany from Incubator to top level.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@668359 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/vtest/wsbinding/service')
-rw-r--r--java/sca/vtest/wsbinding/service/pom.xml58
-rw-r--r--java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java29
-rw-r--r--java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java29
-rw-r--r--java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java38
-rw-r--r--java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java33
-rw-r--r--java/sca/vtest/wsbinding/service/src/main/resources/aservice.wsdl139
-rw-r--r--java/sca/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite103
-rw-r--r--java/sca/vtest/wsbinding/service/src/main/resources/endpointreference.composite40
-rw-r--r--java/sca/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite45
-rw-r--r--java/sca/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite36
-rw-r--r--java/sca/vtest/wsbinding/service/src/main/resources/wsdlport.composite43
-rw-r--r--java/sca/vtest/wsbinding/service/src/main/resources/wsdlservice.composite42
-rw-r--r--java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java67
-rw-r--r--java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java207
-rw-r--r--java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java68
-rw-r--r--java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java66
-rw-r--r--java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java66
-rw-r--r--java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java69
18 files changed, 1178 insertions, 0 deletions
diff --git a/java/sca/vtest/wsbinding/service/pom.xml b/java/sca/vtest/wsbinding/service/pom.xml
new file mode 100644
index 0000000000..3f0a2a4125
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/pom.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>vtest-wsbinding</artifactId>
+ <version>1.4-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>vtest-wsbinding-service</artifactId>
+ <name>Apache Tuscany SCA Web Service Binding Verification Tests - Service</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-embedded</artifactId>
+ <version>1.4-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>1.4-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>1.4-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.4-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java b/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java
new file mode 100644
index 0000000000..397f6b4c5a
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.wsbinding;
+
+import org.osoa.sca.annotations.Remotable;
+
+/**
+ * The interface for AClientService.
+ */
+@Remotable
+public interface AClientService {
+ public String getGreetingsForward(String name);
+}
diff --git a/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java b/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java
new file mode 100644
index 0000000000..b97e0cfebb
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.wsbinding;
+
+import org.osoa.sca.annotations.Remotable;
+
+/**
+ * The interface for AService.
+ */
+@Remotable
+public interface AService {
+ public String getGreetings(String name);
+}
diff --git a/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java b/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java
new file mode 100644
index 0000000000..8d9e6de816
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.wsbinding.impl;
+
+import org.apache.tuscany.sca.vtest.wsbinding.AClientService;
+import org.apache.tuscany.sca.vtest.wsbinding.AService;
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+/**
+ * This class implements AService.
+ */
+@Service(AClientService.class)
+public class AClientServiceImpl implements AClientService {
+
+ @Reference
+ protected AService aService;
+
+ public String getGreetingsForward(String name) {
+ return aService.getGreetings(name);
+ }
+}
diff --git a/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java b/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java
new file mode 100644
index 0000000000..450da9cbcf
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.wsbinding.impl;
+
+import org.apache.tuscany.sca.vtest.wsbinding.AService;
+import org.osoa.sca.annotations.Service;
+
+/**
+ * This class implements AService.
+ */
+@Service(AService.class)
+public class AServiceImpl implements AService {
+
+ public String getGreetings(String name) {
+ return "Hello " + name;
+ }
+}
diff --git a/java/sca/vtest/wsbinding/service/src/main/resources/aservice.wsdl b/java/sca/vtest/wsbinding/service/src/main/resources/aservice.wsdl
new file mode 100644
index 0000000000..861ab471ee
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/main/resources/aservice.wsdl
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<wsdl:definitions targetNamespace="http://wsbinding.vtest.sca.tuscany.apache.org"
+ xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
+ xmlns:ns0="http://wsbinding.vtest.sca.tuscany.apache.org"
+ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+ xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
+ xmlns:ns1="http://org.apache.axis2/xsd"
+ xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <wsdl:types>
+ <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://wsbinding.vtest.sca.tuscany.apache.org" xmlns:ns="http://wsbinding.vtest.sca.tuscany.apache.org">
+ <xs:element name="getGreetings">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="param0" nillable="true" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getGreetingsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ </wsdl:types>
+
+ <wsdl:message name="getGreetingsRequest">
+ <wsdl:part name="parameters" element="ns0:getGreetings"/>
+ </wsdl:message>
+
+ <wsdl:message name="getGreetingsResponse">
+ <wsdl:part name="parameters" element="ns0:getGreetingsResponse"/>
+ </wsdl:message>
+
+ <wsdl:portType name="AServicePortType">
+ <wsdl:operation name="getGreetings">
+ <wsdl:input message="ns0:getGreetingsRequest" wsaw:Action="urn:getGreetings"/>
+ <wsdl:output message="ns0:getGreetingsResponse" wsaw:Action="urn:getGreetingsResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="AServiceSOAP12Binding" type="ns0:AServicePortType">
+ <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="getGreetings">
+ <soap12:operation soapAction="urn:getGreetings" style="document"/>
+ <wsdl:input>
+ <soap12:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap12:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:binding name="AServicePortTypeBinding" type="ns0:AServicePortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="getGreetings">
+ <soap:operation soapAction=""/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:binding name="AServiceHttpBinding" type="ns0:AServicePortType">
+ <http:binding verb="POST"/>
+ <wsdl:operation name="getGreetings">
+ <http:operation location="AService/getGreetings"/>
+ <wsdl:input>
+ <mime:content part="getGreetings" type="text/xml"/>
+ </wsdl:input>
+ <wsdl:output>
+ <mime:content part="getGreetings" type="text/xml"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:binding name="AServiceSOAP11Binding" type="ns0:AServicePortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="getGreetings">
+ <soap:operation soapAction="urn:getGreetings" style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="AServicePortTypeService">
+ <wsdl:port name="AServicePortTypePort" binding="ns0:AServicePortTypeBinding">
+ <soap:address location="http://localhost:8080/AService"/>
+ </wsdl:port>
+ </wsdl:service>
+
+ <wsdl:service name="AService">
+ <wsdl:port name="AServiceHttpport" binding="ns0:AServiceHttpBinding">
+ <http:address location="http://localhost:8080/AService/httpport"/>
+ </wsdl:port>
+ <wsdl:port name="AServiceSOAP12port_http" binding="ns0:AServiceSOAP12Binding">
+ <soap12:address location="http://localhost:8080/AService/soap12port"/>
+ </wsdl:port>
+ <wsdl:port name="AServiceSOAP11port_http" binding="ns0:AServiceSOAP11Binding">
+ <soap:address location="http://localhost:8080/AService/soap11port"/>
+ </wsdl:port>
+ <wsdl:port name="AServiceSOAP12port_http_null" binding="ns0:AServiceSOAP12Binding">
+ <soap12:address location=""/>
+ </wsdl:port>
+ <wsdl:port name="AServiceSOAP12port_http_wsdl" binding="ns0:AServiceSOAP12Binding">
+ <soap12:address location="inWsdl"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/java/sca/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite b/java/sca/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite
new file mode 100644
index 0000000000..b3ab971c67
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://vtest"
+ name="endpoint-uri-resolution">
+
+ <component name="AComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AServiceImpl"/>
+ <service name="AService">
+ <binding.ws name="bnd1" wsdlElement="http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.port(AService/AServiceSOAP12port_http)"
+ uri="http://localhost:8080/AService/soap12portxxx"/>
+ <binding.ws name="bnd2" wsdlElement="http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.binding(AServiceSOAP11Binding)"
+ uri="http://localhost:8080/AService/endpointrefxxx">
+ <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing">
+ <wsa:Address>http://localhost:8080/AService/endpointref</wsa:Address>
+ </wsa:EndpointReference>
+ </binding.ws>
+ <binding.ws name="bnd3" wsdlElement="http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.port(AService/AServiceSOAP12port_http_null)"
+ uri="http://localhost:8080/AService/uriInBinding"/>
+ <binding.ws name="bnd4" wsdlElement="http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.port(AService/AServiceSOAP12port_http_null)"/>
+ <binding.ws name="bnd5" uri="http://localhost:8080/AService/noWsdlElement"/>
+ <binding.ws name="bnd6" wsdlElement="http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.port(AService/AServiceSOAP12port_http_wsdl)"
+ uri="http://localhost:8080/AService/endpointref6"/>
+ <binding.ws name="bnd7" wsdlElement="http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.binding(AServiceSOAP11Binding)"
+ uri="http://localhost:8080/AService/endpointref7">
+ <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing">
+ <wsa:Address>inAddress</wsa:Address>
+ </wsa:EndpointReference>
+ </binding.ws>
+ <binding.ws name="bnd8" wsdlElement="http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.binding(AServiceSOAP12Binding)"
+ uri="http://localhost:8080/AService/endpointref8">
+ <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing">
+ <wsa:Address></wsa:Address>
+ </wsa:EndpointReference>
+ </binding.ws>
+ </service>
+ </component>
+ <component name="AClientComponent1">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/soap12port"/>
+ </reference>
+ </component>
+ <component name="AClientComponent2">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/endpointref"/>
+ </reference>
+ </component>
+ <component name="AClientComponent3">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/uriInBinding"/>
+ </reference>
+ </component>
+ <component name="AClientComponent4">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AComponent"/>
+ </reference>
+ </component>
+ <component name="AClientComponent5">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/noWsdlElement"/>
+ </reference>
+ </component>
+ <component name="AClientComponent6">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/endpointref6/inWsdl"/>
+ </reference>
+ </component>
+ <component name="AClientComponent7">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/endpointref7/inAddress"/>
+ </reference>
+ </component>
+ <component name="AClientComponent8">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/endpointref8"/>
+ </reference>
+ </component>
+</composite>
diff --git a/java/sca/vtest/wsbinding/service/src/main/resources/endpointreference.composite b/java/sca/vtest/wsbinding/service/src/main/resources/endpointreference.composite
new file mode 100644
index 0000000000..bb3bbef390
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/main/resources/endpointreference.composite
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://vtest"
+ name="endpointreference">
+
+ <component name="AComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AServiceImpl"/>
+ <service name="AService">
+ <binding.ws wsdlElement="http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.binding(AServiceSOAP11Binding)">
+ <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing">
+ <wsa:Address>http://localhost:8080/AService/endpointref</wsa:Address>
+ </wsa:EndpointReference>
+ </binding.ws>
+ </service>
+ </component>
+ <component name="AClientComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/endpointref"/>
+ </reference>
+ </component>
+</composite>
diff --git a/java/sca/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite b/java/sca/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite
new file mode 100644
index 0000000000..d24c1ac4af
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/main/resources/wsdlbinding.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.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://vtest"
+ name="wsdlbinding">
+
+ <component name="AComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AServiceImpl"/>
+ <service name="AService">
+ <binding.ws name="bnd11" wsdlElement="http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.binding(AServiceSOAP11Binding)"
+ uri="http://localhost:8080/AService/bnd11"/>
+ <binding.ws name="bnd12" wsdlElement="http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.binding(AServiceSOAP12Binding)"
+ uri="http://localhost:8080/AService/bnd12"/>
+ </service>
+ </component>
+ <component name="AClientBnd11Component">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/bnd11"/>
+ </reference>
+ </component>
+ <component name="AClientBnd12Component">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/bnd12"/>
+ </reference>
+ </component>
+</composite>
diff --git a/java/sca/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite b/java/sca/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite
new file mode 100644
index 0000000000..92c30e5d90
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://vtest"
+ name="wsdlendpoint">
+
+ <component name="AComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AServiceImpl"/>
+ <service name="AService">
+ <binding.ws wsdlElement="http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.endpoint(AService/AServiceEndPoint)"/>
+ </service>
+ </component>
+ <component name="AClientComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/endpoint"/>
+ </reference>
+ </component>
+</composite>
diff --git a/java/sca/vtest/wsbinding/service/src/main/resources/wsdlport.composite b/java/sca/vtest/wsbinding/service/src/main/resources/wsdlport.composite
new file mode 100644
index 0000000000..961ae28e5a
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/main/resources/wsdlport.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://vtest"
+ name="wsdlport">
+
+ <component name="AComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AServiceImpl"/>
+ <service name="AService">
+ <binding.ws name="p11" wsdlElement="http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.port(AService/AServiceSOAP11port_http)"/>
+ <binding.ws name="p12" wsdlElement="http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.port(AService/AServiceSOAP12port_http)"/>
+ </service>
+ </component>
+ <component name="AClientP11Component">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/soap11port"/>
+ </reference>
+ </component>
+ <component name="AClientP12Component">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/soap12port"/>
+ </reference>
+ </component>
+</composite>
diff --git a/java/sca/vtest/wsbinding/service/src/main/resources/wsdlservice.composite b/java/sca/vtest/wsbinding/service/src/main/resources/wsdlservice.composite
new file mode 100644
index 0000000000..093eb83323
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/main/resources/wsdlservice.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://vtest"
+ name="wsdlservice">
+
+ <component name="AComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AServiceImpl"/>
+ <service name="AService">
+ <binding.ws wsdlElement="http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.service(AService)"/>
+ </service>
+ </component>
+ <component name="AClientS11Component">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/soap11port"/>
+ </reference>
+ </component>
+ <component name="AClientS12Component">
+ <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
+ <reference name="aService">
+ <binding.ws uri="http://localhost:8080/AService/soap12port"/>
+ </reference>
+ </component>
+</composite>
diff --git a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java
new file mode 100644
index 0000000000..d858daaf78
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.wsbinding;
+
+import junit.framework.Assert;
+
+import org.apache.tuscany.sca.vtest.utilities.ServiceFinder;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Tests EndpointReference element specified in service binding.ws as per Web
+ * Services Binding Specification v1.00 - Sec 2.1 - Lines 61 to 65.
+ */
+public class EndpointReferenceTestCase {
+
+ protected static String compositeName = "endpointreference.composite";
+
+ @BeforeClass
+ public static void init() throws Exception {
+ try {
+ System.out.println("Setting up");
+ ServiceFinder.init(compositeName);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * Lines 61-65
+ * <p>
+ * /binding.ws/wsa:EndpointReference – optional WS-Addressing [6]
+ * EndpointReference that specifies the endpoint for the service or
+ * reference. When this element is present along with the wsdlElement
+ * attribute on the parent element, the wsdlElement attribute value MUST be
+ * of the ‘Binding’ form as specified above, i.e. <WSDL-namespace-
+ * URI>#wsdl.binding(<binding-name>).
+ */
+ @Test
+ public void testWsdlBinding() throws Exception {
+ AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent");
+ Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu"));
+ }
+
+ @AfterClass
+ public static void destroy() throws Exception {
+ System.out.println("Cleaning up");
+ ServiceFinder.cleanup();
+ }
+}
diff --git a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java
new file mode 100644
index 0000000000..b9f679c9a7
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java
@@ -0,0 +1,207 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.wsbinding;
+
+import junit.framework.Assert;
+
+import org.apache.tuscany.sca.vtest.utilities.ServiceFinder;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Tests "Endpoint URI resolution" for service binding.ws as per Web Services
+ * Binding Specification v1.00 - Sec 2.1.1 - Lines 70 to 85.
+ */
+public class EndpointUriResolutionTestCase {
+
+ protected static String compositeName = "endpoint-uri-resolution.composite";
+
+ @BeforeClass
+ public static void init() throws Exception {
+ try {
+ System.out.println("Setting up");
+ ServiceFinder.init(compositeName);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * Lines 71-78
+ * <p>
+ * The rules for resolving the URI at which an SCA service is hosted, or SCA
+ * reference targets, when used with binding.ws (in precedence order) are:
+ * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI
+ * specified by the wsa:Address element of the wsa:EndpointReference, 2. The
+ * explicitly stated URI in the "uri" attribute of the binding.ws element,
+ * which may be relative, 3. The implicit URI as defined by the Assembly
+ * specification
+ * <p>
+ * This method tests that URI in the endpoint takes precedence.
+ */
+ @Test
+ public void testUriInEndpoint() throws Exception {
+ AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent1");
+ Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu"));
+ }
+
+ /**
+ * Lines 71-78
+ * <p>
+ * The rules for resolving the URI at which an SCA service is hosted, or SCA
+ * reference targets, when used with binding.ws (in precedence order) are:
+ * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI
+ * specified by the wsa:Address element of the wsa:EndpointReference, 2. The
+ * explicitly stated URI in the "uri" attribute of the binding.ws element,
+ * which may be relative, 3. The implicit URI as defined by the Assembly
+ * specification
+ * <p>
+ * This method tests that URI in the EndpointReference takes precedence.
+ */
+ @Test
+ public void testUriInEndpointReference() throws Exception {
+ AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent2");
+ Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu"));
+ }
+
+ /**
+ * Lines 71-78
+ * <p>
+ * The rules for resolving the URI at which an SCA service is hosted, or SCA
+ * reference targets, when used with binding.ws (in precedence order) are:
+ * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI
+ * specified by the wsa:Address element of the wsa:EndpointReference, 2. The
+ * explicitly stated URI in the "uri" attribute of the binding.ws element,
+ * which may be relative, 3. The implicit URI as defined by the Assembly
+ * specification
+ * <p>
+ * This method tests that explicitly stated URI in the "uri" attribute of
+ * binding.ws takes precedence.
+ */
+ @Test
+ public void testUriInBindingWs() throws Exception {
+ AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent3");
+ Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu"));
+ }
+
+ /**
+ * Lines 71-78
+ * <p>
+ * The rules for resolving the URI at which an SCA service is hosted, or SCA
+ * reference targets, when used with binding.ws (in precedence order) are:
+ * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI
+ * specified by the wsa:Address element of the wsa:EndpointReference, 2. The
+ * explicitly stated URI in the "uri" attribute of the binding.ws element,
+ * which may be relative, 3. The implicit URI as defined by the Assembly
+ * specification
+ * <p>
+ * This method tests that implicit URI is used.
+ */
+ @Test
+ public void testImplicitUri() throws Exception {
+ AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent4");
+ Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu"));
+ }
+
+ /**
+ * Lines 71-78
+ * <p>
+ * The rules for resolving the URI at which an SCA service is hosted, or SCA
+ * reference targets, when used with binding.ws (in precedence order) are:
+ * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI
+ * specified by the wsa:Address element of the wsa:EndpointReference, 2. The
+ * explicitly stated URI in the "uri" attribute of the binding.ws element,
+ * which may be relative, 3. The implicit URI as defined by the Assembly
+ * specification
+ * <p>
+ * This method tests that explicitly stated URI in the "uri" attribute of
+ * the binding.ws is used in the absence of a wsdlElement.
+ */
+ @Test
+ public void testNoWsdlElement() throws Exception {
+ AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent5");
+ Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu"));
+ }
+
+ /**
+ * Lines 79-83
+ * <p>
+ * The URI in the WSDL endpoint or in the wsa:Address of an EPR may be a
+ * relative URI, in which case it is relative to the URI defined in (2) or
+ * (3). The wsa:Address element can be the empty relative URI, in which case
+ * it uses the URI defined in (2) or (3) directly. This allows the EPR
+ * writer to specify reference parameters, metadata and other EPR contents
+ * while allowing the URI to be chosen by the deployer.
+ * <p>
+ * This method tests that the relative URI specified in WSDL endpoint is
+ * used along with the explicit URI specified in the "uri" attribute of
+ * binding.ws element.
+ */
+ @Test
+ public void testRelativeUriInWsdl() throws Exception {
+ AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent6");
+ Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu"));
+ }
+
+ /**
+ * Lines 79-83
+ * <p>
+ * The URI in the WSDL endpoint or in the wsa:Address of an EPR may be a
+ * relative URI, in which case it is relative to the URI defined in (2) or
+ * (3). The wsa:Address element can be the empty relative URI, in which case
+ * it uses the URI defined in (2) or (3) directly. This allows the EPR
+ * writer to specify reference parameters, metadata and other EPR contents
+ * while allowing the URI to be chosen by the deployer.
+ * <p>
+ * This method tests that the relative URI specified in wsa:Address is used
+ * along with the explicit URI specified in the "uri" attribute of
+ * binding.ws element.
+ */
+ @Test
+ public void testRelativeUriInAddress() throws Exception {
+ AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent7");
+ Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu"));
+ }
+
+ /**
+ * Lines 79-83
+ * <p>
+ * The URI in the WSDL endpoint or in the wsa:Address of an EPR may be a
+ * relative URI, in which case it is relative to the URI defined in (2) or
+ * (3). The wsa:Address element can be the empty relative URI, in which case
+ * it uses the URI defined in (2) or (3) directly. This allows the EPR
+ * writer to specify reference parameters, metadata and other EPR contents
+ * while allowing the URI to be chosen by the deployer.
+ * <p>
+ * This method tests that when wsa:Address is empty, the explicit URI
+ * specified in the "uri" attribute of binding.ws element is used.
+ */
+ @Test
+ public void testEmptyAddressElement() throws Exception {
+ AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent8");
+ Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu"));
+ }
+
+ @AfterClass
+ public static void destroy() throws Exception {
+ System.out.println("Cleaning up");
+ ServiceFinder.cleanup();
+ }
+}
diff --git a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java
new file mode 100644
index 0000000000..292de8b654
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.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 org.apache.tuscany.sca.vtest.wsbinding;
+
+import junit.framework.Assert;
+
+import org.apache.tuscany.sca.vtest.utilities.ServiceFinder;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Tests wsdlElement specified on service binding.ws as per Web Services Binding Specification v1.00 - Sec 2.1
+ * - Lines 35 to 54.
+ */
+public class WsdlBindingTestCase {
+
+ protected static String compositeName = "wsdlbinding.composite";
+
+ @BeforeClass
+ public static void init() throws Exception {
+ try {
+ System.out.println("Setting up");
+ ServiceFinder.init(compositeName);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * Lines 50-54
+ * <p>
+ * Binding:
+ * <WSDL-namespace-URI>#wsdl.binding(<binding-name>)
+ * In this case, the identified WSDL binding must have an equivalent PortType with the SCA
+ * service or reference. In this case the endpoint address URI for the SCA service or
+ * reference must be provided via the URI attribute on the binding.
+ */
+ @Test
+ public void testWsdlBinding() throws Exception {
+ AClientService aClientBnd11 = ServiceFinder.getService(AClientService.class, "AClientBnd11Component");
+ Assert.assertEquals("Hello Pandu", aClientBnd11.getGreetingsForward("Pandu"));
+ AClientService aClientBnd12 = ServiceFinder.getService(AClientService.class, "AClientBnd12Component");
+ Assert.assertEquals("Hello Pandu", aClientBnd12.getGreetingsForward("Pandu"));
+ }
+
+ @AfterClass
+ public static void destroy() throws Exception {
+ System.out.println("Cleaning up");
+ ServiceFinder.cleanup();
+ }
+}
diff --git a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java
new file mode 100644
index 0000000000..842da87bd4
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.wsbinding;
+
+import junit.framework.Assert;
+
+import org.apache.tuscany.sca.vtest.utilities.ServiceFinder;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * Tests wsdlElement specified on service binding.ws as per Web Services Binding
+ * Specification v1.00 - Sec 2.1 - Lines 35 to 54.
+ */
+public class WsdlEndpointTestCase {
+
+ protected static String compositeName = "wsdlendpoint.composite";
+
+ @BeforeClass
+ public static void init() throws Exception {
+ try {
+ System.out.println("Setting up");
+ ServiceFinder.init(compositeName);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * Lines 46-49
+ * <p>
+ * Endpoint (WSDL 2.0): <WSDL-namespace-URI>#wsdl.endpoint(<service-name>/<endpoint-name>)
+ * In this case, the identified endpoint in the WSDL 2.0 Service must have
+ * an equivalent PortType with the SCA service or reference.
+ */
+ @Test
+ @Ignore("WSDL2.0 Support")
+ public void testWsdlEndpoint() throws Exception {
+ AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent");
+ Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu"));
+ }
+
+ @AfterClass
+ public static void destroy() throws Exception {
+ System.out.println("Cleaning up");
+ ServiceFinder.cleanup();
+ }
+}
diff --git a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java
new file mode 100644
index 0000000000..0545cef776
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.wsbinding;
+
+import junit.framework.Assert;
+
+import org.apache.tuscany.sca.vtest.utilities.ServiceFinder;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Tests wsdlElement specified on service binding.ws as per Web Services Binding
+ * Specification v1.00 - Sec 2.1 - Lines 35 to 54.
+ */
+public class WsdlPortTestCase {
+
+ protected static String compositeName = "wsdlport.composite";
+
+ @BeforeClass
+ public static void init() throws Exception {
+ try {
+ System.out.println("Setting up");
+ ServiceFinder.init(compositeName);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * Lines 42-45
+ * <p>
+ * Port (WSDL 1.1): <WSDL-namespace-URI>#wsdl.port(<service-name>/<port-name>)
+ * In this case, the identified port in the WSDL 1.1 Service must have an
+ * equivalent PortType with the SCA service or reference.
+ */
+ @Test
+ public void testWsdlPort() throws Exception {
+ AClientService aClientP11 = ServiceFinder.getService(AClientService.class, "AClientP11Component");
+ Assert.assertEquals("Hello Pandu", aClientP11.getGreetingsForward("Pandu"));
+ AClientService aClientP12 = ServiceFinder.getService(AClientService.class, "AClientP12Component");
+ Assert.assertEquals("Hello Pandu", aClientP12.getGreetingsForward("Pandu"));
+ }
+
+ @AfterClass
+ public static void destroy() throws Exception {
+ System.out.println("Cleaning up");
+ ServiceFinder.cleanup();
+ }
+}
diff --git a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java
new file mode 100644
index 0000000000..aa2b2fac7a
--- /dev/null
+++ b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.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 org.apache.tuscany.sca.vtest.wsbinding;
+
+import junit.framework.Assert;
+
+import org.apache.tuscany.sca.vtest.utilities.ServiceFinder;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * Tests wsdlElement specified on service binding.ws as per Web Services Binding
+ * Specification v1.00 - Sec 2.1 - Lines 35 to 54.
+ */
+public class WsdlServiceTestCase {
+
+ protected static String compositeName = "wsdlservice.composite";
+
+ @BeforeClass
+ public static void init() throws Exception {
+ try {
+ System.out.println("Setting up");
+ ServiceFinder.init(compositeName);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * Lines 38-41
+ * <p>
+ * Service: <WSDL-namespace-URI>#wsdl.service(<service-name>) In this case,
+ * all the endpoints in the WSDL Service that have equivalent PortTypes with
+ * the SCA service or reference must be available to the SCA service or
+ * reference.
+ */
+ @Test
+ @Ignore("TUSCANY-2298")
+ public void testWsdlService() throws Exception {
+ AClientService aClientS11 = ServiceFinder.getService(AClientService.class, "AClientS11Component");
+ Assert.assertEquals("Hello Pandu", aClientS11.getGreetingsForward("Pandu"));
+ AClientService aClientS12 = ServiceFinder.getService(AClientService.class, "AClientS12Component");
+ Assert.assertEquals("Hello Pandu", aClientS12.getGreetingsForward("Pandu"));
+ }
+
+ @AfterClass
+ public static void destroy() throws Exception {
+ System.out.println("Cleaning up");
+ ServiceFinder.cleanup();
+ }
+}