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>


Reply via email to