Author: antelder
Date: Sun May 11 02:40:13 2008
New Revision: 655288
URL: http://svn.apache.org/viewvc?rev=655288&view=rev
Log:
TUSCANY-2309: Apply patch from Vamsavardhana Reddy to add a new vtest for
Endpoint
Added:
incubator/tuscany/java/sca/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite
incubator/tuscany/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java
(with props)
Modified:
incubator/tuscany/java/sca/vtest/wsbinding/service/src/main/resources/aservice.wsdl
Modified:
incubator/tuscany/java/sca/vtest/wsbinding/service/src/main/resources/aservice.wsdl
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/vtest/wsbinding/service/src/main/resources/aservice.wsdl?rev=655288&r1=655287&r2=655288&view=diff
==============================================================================
---
incubator/tuscany/java/sca/vtest/wsbinding/service/src/main/resources/aservice.wsdl
(original)
+++
incubator/tuscany/java/sca/vtest/wsbinding/service/src/main/resources/aservice.wsdl
Sun May 11 02:40:13 2008
@@ -129,5 +129,11 @@
<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>
Added:
incubator/tuscany/java/sca/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite?rev=655288&view=auto
==============================================================================
---
incubator/tuscany/java/sca/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite
(added)
+++
incubator/tuscany/java/sca/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite
Sun May 11 02:40:13 2008
@@ -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>
Added:
incubator/tuscany/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java?rev=655288&view=auto
==============================================================================
---
incubator/tuscany/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java
(added)
+++
incubator/tuscany/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java
Sun May 11 02:40:13 2008
@@ -0,0 +1,209 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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.host.embedded.SCADomain;
+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 SCADomain domain;
+ protected static String compositeName =
"endpoint-uri-resolution.composite";
+
+ @BeforeClass
+ public static void init() throws Exception {
+ try {
+ System.out.println("Setting up");
+ domain = SCADomain.newInstance(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 = domain.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 = domain.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 = domain.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 = domain.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 = domain.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 = domain.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 = domain.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 = domain.getService(AClientService.class,
"AClientComponent8");
+ Assert.assertEquals("Hello Pandu",
aClient.getGreetingsForward("Pandu"));
+ }
+
+ @AfterClass
+ public static void destroy() throws Exception {
+ System.out.println("Cleaning up");
+ if (domain != null) {
+ domain.close();
+ }
+ }
+}
Propchange:
incubator/tuscany/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date