Author: jboynes
Date: Sat Mar 11 12:35:42 2006
New Revision: 385155
URL: http://svn.apache.org/viewcvs?rev=385155&view=rev
Log:
extend tomcat tests to load modules with components in them
test now uses a custom classloader that forces isolation between container and
app
Added:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/HelloWorldImpl.java
(with props)
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/HelloWorldService.java
(with props)
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestClassLoader.java
(with props)
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/wsdl/
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/wsdl/helloworld.wsdl
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/wsdl/
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/wsdl/helloworld.wsdl
Modified:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/AbstractTomcatTest.java
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestServlet.java
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatIntegrationTestCase.java
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatStandaloneTestCase.java
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module
Modified:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/AbstractTomcatTest.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/AbstractTomcatTest.java?rev=385155&r1=385154&r2=385155&view=diff
==============================================================================
---
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/AbstractTomcatTest.java
(original)
+++
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/AbstractTomcatTest.java
Sat Mar 11 12:35:42 2006
@@ -41,10 +41,19 @@
* @version $Rev$ $Date$
*/
public class AbstractTomcatTest extends TestCase {
+ protected Map<String, Class<?>> classes;
protected Host host;
protected MockRequest request;
protected MockResponse response;
protected StandardEngine engine;
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ classes = new HashMap<String, Class<?>>();
+ classes.put(TestServlet.class.getName(), TestServlet.class);
+ classes.put(HelloWorldService.class.getName(),
HelloWorldService.class);
+ classes.put(HelloWorldImpl.class.getName(), HelloWorldImpl.class);
+ }
protected void setupTomcat(File baseDir, Host host) throws Exception {
File appBase = new File(baseDir, "webapps").getCanonicalFile();
Added:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/HelloWorldImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/HelloWorldImpl.java?rev=385155&view=auto
==============================================================================
---
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/HelloWorldImpl.java
(added)
+++
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/HelloWorldImpl.java
Sat Mar 11 12:35:42 2006
@@ -0,0 +1,29 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.tomcat.integration;
+
+import org.osoa.sca.annotations.Service;
+
+/**
+ * @version $Rev$ $Date$
+ */
[EMAIL PROTECTED](HelloWorldService.class)
+public class HelloWorldImpl implements HelloWorldService {
+ public String getGreetings(String name) {
+ return "Hello " + name;
+ }
+}
Propchange:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/HelloWorldImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/HelloWorldImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev,Date
Added:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/HelloWorldService.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/HelloWorldService.java?rev=385155&view=auto
==============================================================================
---
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/HelloWorldService.java
(added)
+++
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/HelloWorldService.java
Sat Mar 11 12:35:42 2006
@@ -0,0 +1,24 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.tomcat.integration;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public interface HelloWorldService {
+ public String getGreetings(String name);
+}
Propchange:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/HelloWorldService.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/HelloWorldService.java
------------------------------------------------------------------------------
svn:keywords = Rev,Date
Added:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestClassLoader.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestClassLoader.java?rev=385155&view=auto
==============================================================================
---
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestClassLoader.java
(added)
+++
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestClassLoader.java
Sat Mar 11 12:35:42 2006
@@ -0,0 +1,51 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.tomcat.integration;
+
+import java.util.Map;
+import java.net.URL;
+
+import org.apache.catalina.loader.WebappClassLoader;
+
+/**
+ * A version of Tomcat's application classloader that only allows certain
classes to be loaded.
+ * This is used in the integration tests to make sure that no Tuscany classes
are exposed to the
+ * application except the ones needed to run the tests.
+ *
+ * @version $Rev$ $Date$
+ */
[EMAIL PROTECTED]({"CustomClassloader"})
+public class TestClassLoader extends WebappClassLoader {
+ private final Map<String, Class<?>> classes;
+
+ public TestClassLoader(Map<String, Class<?>> classes, URL url, ClassLoader
parent) {
+ super(parent);
+ this.classes = classes;
+ addURL(url);
+ }
+
+ public Class<?> findClass(String name) throws ClassNotFoundException {
+ Class<?> clazz = classes.get(name);
+ if (clazz != null) {
+ return clazz;
+ }
+ if (name.startsWith("java.") || name.startsWith("javax.") ||
name.startsWith("org.osoa.")) {
+ return super.findClass(name);
+ }
+ throw new ClassNotFoundException(name);
+ }
+}
Propchange:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestClassLoader.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestClassLoader.java
------------------------------------------------------------------------------
svn:keywords = Rev,Date
Modified:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestServlet.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestServlet.java?rev=385155&r1=385154&r2=385155&view=diff
==============================================================================
---
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestServlet.java
(original)
+++
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestServlet.java
Sat Mar 11 12:35:42 2006
@@ -18,21 +18,30 @@
import java.io.IOException;
import javax.servlet.GenericServlet;
+import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
-import javax.servlet.ServletException;
-import org.osoa.sca.ModuleContext;
import org.osoa.sca.CurrentModuleContext;
-
-import org.apache.tuscany.core.runtime.RuntimeContext;
+import org.osoa.sca.ModuleContext;
/**
* @version $Rev$ $Date$
*/
[EMAIL PROTECTED]({"serial"})
public class TestServlet extends GenericServlet {
public void service(ServletRequest servletRequest, ServletResponse
servletResponse) throws ServletException, IOException {
+ Object runtime =
getServletContext().getAttribute("org.apache.tuscany.core.runtime.RuntimeContext");
+ if (runtime == null ||
"org.apache.tuscany.core.runtime.RuntimeContext".equals(runtime.getClass().getName()))
{
+ throw new ServletException("Runtime not bound to
org.apache.tuscany.core.runtime.RuntimeContext");
+ }
+
+ Object module =
getServletContext().getAttribute("org.apache.tuscany.core.webapp.ModuleComponentContext");
+ if (module == null ||
"org.apache.tuscany.core.context.AggregateContext".equals(module.getClass().getName()))
{
+ throw new ServletException("Module aggregate not bound to
org.apache.tuscany.core.webapp.ModuleComponentContext");
+ }
+
ModuleContext moduleContext = CurrentModuleContext.getContext();
if (moduleContext == null) {
throw new ServletException("No module context returned");
@@ -42,9 +51,10 @@
throw new ServletException("Invalid module context name: " + name);
}
- Object runtime =
getServletContext().getAttribute("org.apache.tuscany.core.runtime.RuntimeContext");
- if (!(runtime instanceof RuntimeContext)) {
- throw new ServletException("Runtime not bound to
org.apache.tuscany.core.runtime.RuntimeContext");
+ HelloWorldService helloService = (HelloWorldService)
moduleContext.locateService("HelloWorld");
+ String greetings = helloService.getGreetings("World");
+ if (!"Hello World".equals(greetings)) {
+ throw new ServletException("Serivce returned " + greetings);
}
}
}
Modified:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatIntegrationTestCase.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatIntegrationTestCase.java?rev=385155&r1=385154&r2=385155&view=diff
==============================================================================
---
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatIntegrationTestCase.java
(original)
+++
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatIntegrationTestCase.java
Sat Mar 11 12:35:42 2006
@@ -33,6 +33,7 @@
*/
public class TomcatIntegrationTestCase extends AbstractTomcatTest {
protected File app1;
+ private Loader loader;
public void testComponentIntegration() throws Exception {
// create the webapp Context
@@ -40,12 +41,12 @@
ctx.addLifecycleListener(new ContextConfig());
ctx.setName("testContext");
ctx.setDocBase(app1.getAbsolutePath());
+ ctx.setLoader(loader);
// define our test servlet
- Loader loader = new
ContainerLoader(TestServlet.class.getClassLoader());
StandardWrapper wrapper = new StandardWrapper();
wrapper.setServletClass(TestServlet.class.getName());
- wrapper.setLoader(loader);
+// wrapper.setLoader(loader);
ctx.addChild(wrapper);
host.addChild(ctx);
@@ -71,6 +72,7 @@
ctx.addLifecycleListener(new ContextConfig());
ctx.setName("testContext");
ctx.setDocBase(app1.getAbsolutePath());
+ ctx.setLoader(loader);
host.addChild(ctx);
@@ -99,6 +101,10 @@
File baseDir = new File(app1, "../../tomcat").getCanonicalFile();
setupTomcat(baseDir, new TuscanyHost());
engine.start();
+
+ TestClassLoader cl = new TestClassLoader(classes, new File(app1,
"WEB-INF/classes").toURL(), getClass().getClassLoader());
+ cl.start();
+ loader = new ContainerLoader(cl);
}
protected void tearDown() throws Exception {
Modified:
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatStandaloneTestCase.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatStandaloneTestCase.java?rev=385155&r1=385154&r2=385155&view=diff
==============================================================================
---
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatStandaloneTestCase.java
(original)
+++
incubator/tuscany/java/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatStandaloneTestCase.java
Sat Mar 11 12:35:42 2006
@@ -1,20 +1,19 @@
package org.apache.tuscany.tomcat.integration;
+import java.io.File;
+
+import org.apache.catalina.Valve;
+import org.apache.catalina.Wrapper;
import org.apache.catalina.core.StandardContext;
-import org.apache.catalina.core.StandardWrapper;
import org.apache.catalina.core.StandardHost;
import org.apache.catalina.startup.ContextConfig;
-import org.apache.catalina.Valve;
-import org.apache.catalina.Wrapper;
import org.apache.tuscany.tomcat.TuscanyValve;
-import org.apache.tuscany.tomcat.TuscanyHost;
-
-import java.io.File;
/**
* @version $Rev$ $Date$
*/
[EMAIL PROTECTED]({"ClassLoader2Instantiation"})
public class TomcatStandaloneTestCase extends AbstractTomcatTest {
protected File app2;
Modified:
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module?rev=385155&r1=385154&r2=385155&view=diff
==============================================================================
---
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module
(original)
+++
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module
Sat Mar 11 12:35:42 2006
@@ -18,4 +18,18 @@
<module xmlns="http://www.osoa.org/xmlns/sca/0.9"
xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
name="testModule">
+ <entryPoint name="HelloWorldService">
+ <interface.wsdl
interface="http://helloworldaxis.samples.tuscany.apache.org#HelloWorldServiceImpl"/>
+ <binding.ws
port="http://helloworldaxis.samples.tuscany.apache.org#helloworld"/>
+ <reference>HelloWorld/HelloWorldService</reference>
+ </entryPoint>
+
+ <component name="HelloWorld">
+ <implementation.java
class="org.apache.tuscany.tomcat.integration.HelloWorldImpl"/>
+ </component>
+
+ <import.wsdl
+ location="wsdl/helloworld.wsdl"
+ namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
+
</module>
Added:
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/wsdl/helloworld.wsdl
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/wsdl/helloworld.wsdl?rev=385155&view=auto
==============================================================================
---
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/wsdl/helloworld.wsdl
(added)
+++
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/wsdl/helloworld.wsdl
Sat Mar 11 12:35:42 2006
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as
applicable.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT 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://helloworldaxis.samples.tuscany.apache.org"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://helloworldaxis.samples.tuscany.apache.org"
xmlns:intf="http://helloworldaxis.samples.tuscany.apache.org"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="helloworld">
+ <!--WSDL created by Apache Axis version: 1.2.1
+Built on Jun 14, 2005 (09:15:57 EDT)-->
+ <wsdl:types>
+ <schema elementFormDefault="qualified"
targetNamespace="http://helloworldaxis.samples.tuscany.apache.org"
xmlns="http://www.w3.org/2001/XMLSchema">
+ <element name="getGreetings">
+ <complexType>
+ <sequence>
+ <element name="in0" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="getGreetingsResponse">
+ <complexType>
+ <sequence>
+ <element name="getGreetingsReturn" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="getGreetingsRequest">
+
+ <wsdl:part element="impl:getGreetings" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getGreetingsResponse">
+
+ <wsdl:part element="impl:getGreetingsResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="HelloWorldServiceImpl">
+
+ <wsdl:operation name="getGreetings">
+
+ <wsdl:input message="impl:getGreetingsRequest"
name="getGreetingsRequest"/>
+
+ <wsdl:output message="impl:getGreetingsResponse"
name="getGreetingsResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="helloworldSoapBinding"
type="impl:HelloWorldServiceImpl">
+
+ <wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="getGreetings">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="getGreetingsRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="getGreetingsResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="HelloWorldServiceImplService">
+
+ <wsdl:port binding="impl:helloworldSoapBinding" name="helloworld">
+
+ <wsdlsoap:address
location="http://localhost:8080/helloworldws-SNAPSHOT/services/HelloWorldService"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
Modified:
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module?rev=385155&r1=385154&r2=385155&view=diff
==============================================================================
---
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module
(original)
+++
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module
Sat Mar 11 12:35:42 2006
@@ -18,4 +18,18 @@
<module xmlns="http://www.osoa.org/xmlns/sca/0.9"
xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
name="testModule">
+ <entryPoint name="HelloWorldService">
+ <interface.wsdl
interface="http://helloworldaxis.samples.tuscany.apache.org#HelloWorldServiceImpl"/>
+ <binding.ws
port="http://helloworldaxis.samples.tuscany.apache.org#helloworld"/>
+ <reference>HelloWorld/HelloWorldService</reference>
+ </entryPoint>
+
+ <component name="HelloWorld">
+ <implementation.java
class="org.apache.tuscany.tomcat.integration.HelloWorldImpl"/>
+ </component>
+
+ <import.wsdl
+ location="wsdl/helloworld.wsdl"
+ namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
+
</module>
Added:
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/wsdl/helloworld.wsdl
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/wsdl/helloworld.wsdl?rev=385155&view=auto
==============================================================================
---
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/wsdl/helloworld.wsdl
(added)
+++
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/wsdl/helloworld.wsdl
Sat Mar 11 12:35:42 2006
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as
applicable.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT 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://helloworldaxis.samples.tuscany.apache.org"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://helloworldaxis.samples.tuscany.apache.org"
xmlns:intf="http://helloworldaxis.samples.tuscany.apache.org"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="helloworld">
+ <!--WSDL created by Apache Axis version: 1.2.1
+Built on Jun 14, 2005 (09:15:57 EDT)-->
+ <wsdl:types>
+ <schema elementFormDefault="qualified"
targetNamespace="http://helloworldaxis.samples.tuscany.apache.org"
xmlns="http://www.w3.org/2001/XMLSchema">
+ <element name="getGreetings">
+ <complexType>
+ <sequence>
+ <element name="in0" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="getGreetingsResponse">
+ <complexType>
+ <sequence>
+ <element name="getGreetingsReturn" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="getGreetingsRequest">
+
+ <wsdl:part element="impl:getGreetings" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:message name="getGreetingsResponse">
+
+ <wsdl:part element="impl:getGreetingsResponse" name="parameters"/>
+
+ </wsdl:message>
+
+ <wsdl:portType name="HelloWorldServiceImpl">
+
+ <wsdl:operation name="getGreetings">
+
+ <wsdl:input message="impl:getGreetingsRequest"
name="getGreetingsRequest"/>
+
+ <wsdl:output message="impl:getGreetingsResponse"
name="getGreetingsResponse"/>
+
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="helloworldSoapBinding"
type="impl:HelloWorldServiceImpl">
+
+ <wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="getGreetings">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="getGreetingsRequest">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="getGreetingsResponse">
+
+ <wsdlsoap:body use="literal"/>
+
+ </wsdl:output>
+
+ </wsdl:operation>
+
+ </wsdl:binding>
+
+ <wsdl:service name="HelloWorldServiceImplService">
+
+ <wsdl:port binding="impl:helloworldSoapBinding" name="helloworld">
+
+ <wsdlsoap:address
location="http://localhost:8080/helloworldws-SNAPSHOT/services/HelloWorldService"/>
+
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>