You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2008/07/06 03:12:04 UTC

svn commit: r674248 - in /tuscany/sandbox/lresende/sca/samples/helloworld-ws: ./ src/ src/main/ src/main/java/ src/main/java/information/ src/main/java/information/service/ src/main/resources/ src/main/resources/wsdl/ src/test/ src/test/java/ src/test/...

Author: lresende
Date: Sat Jul  5 18:12:03 2008
New Revision: 674248

URL: http://svn.apache.org/viewvc?rev=674248&view=rev
Log:
User scenario from Adriana Verdejo

Added:
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/pom.xml   (with props)
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationService.java   (with props)
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationServiceImpl.java   (with props)
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationServiceServer.java   (with props)
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/InformationService.composite   (with props)
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/wsdl/
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/wsdl/helloworld.wsdl   (with props)
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/test/
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/test/java/
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/test/java/information/
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/test/java/information/service/
    tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/test/java/information/service/InformationServiceServerTestCase.java   (with props)

Added: tuscany/sandbox/lresende/sca/samples/helloworld-ws/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/helloworld-ws/pom.xml?rev=674248&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/helloworld-ws/pom.xml (added)
+++ tuscany/sandbox/lresende/sca/samples/helloworld-ws/pom.xml Sat Jul  5 18:12:03 2008
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    * Licensed to the Apache Software Foundation (ASF) under one
+    * or more contributor license agreements.  See the NOTICE file
+    * distributed with this work for additional information
+    * regarding copyright ownership.  The ASF licenses this file
+    * to you under the Apache License, Version 2.0 (the
+    * "License"); you may not use this file except in compliance
+    * with the License.  You may obtain a copy of the License at
+    * 
+    *   http://www.apache.org/licenses/LICENSE-2.0
+    * 
+    * Unless required by applicable law or agreed to in writing,
+    * software distributed under the License is distributed on an
+    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    * KIND, either express or implied.  See the License for the
+    * specific language governing permissions and limitations
+    * under the License.    
+-->
+<project>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.tuscany.sca</groupId>
+        <artifactId>tuscany-sca</artifactId>
+        <version>1.4-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+    <artifactId>sample-helloworld-ws</artifactId>
+    <name>Apache Tuscany SCA HelloWorld Web Service Sample</name>
+
+    <repositories>
+       <repository>
+          <id>apache.incubator</id>
+          <url>http://people.apache.org/repo/m2-incubating-repository</url>
+       </repository>
+    </repositories>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-host-embedded</artifactId>
+            <version>1.4-SNAPSHOT</version>
+            <scope>compile</scope>            
+        </dependency>
+        
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-java-runtime</artifactId>
+            <version>1.4-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-ws-axis2</artifactId>
+            <version>1.4-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-host-tomcat</artifactId>
+            <version>1.4-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>    
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.2</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    
+    <build>
+       <finalName>${artifactId}</finalName>
+    </build>
+
+</project>

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationService.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationService.java?rev=674248&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationService.java (added)
+++ tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationService.java Sat Jul  5 18:12:03 2008
@@ -0,0 +1,28 @@
+/*
+ * 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 information.service;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface InformationService {
+
+    public String hello(String name);
+}

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationServiceImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationServiceImpl.java?rev=674248&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationServiceImpl.java (added)
+++ tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationServiceImpl.java Sat Jul  5 18:12:03 2008
@@ -0,0 +1,26 @@
+/*
+ * 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 information.service;
+
+public class InformationServiceImpl implements InformationService {
+    public String hello(String name) {
+        return "Hello " + name;
+    }
+}

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationServiceImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationServiceImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationServiceServer.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationServiceServer.java?rev=674248&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationServiceServer.java (added)
+++ tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationServiceServer.java Sat Jul  5 18:12:03 2008
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package information.service;
+
+import java.io.IOException;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+
+/**
+ * This server program shows how to create an SCA runtime, and start it which
+ * activates the helloworld Web service endpoint.
+ */
+public class InformationServiceServer {
+
+    public static void main(String[] args) {
+
+        SCADomain scaDomain = SCADomain.newInstance("InformationService.composite");
+
+        try {
+            System.out.println("HelloWorld server started (press enter to shutdown)");
+            System.in.read();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        scaDomain.close();
+        System.out.println("HelloWorld server stopped");
+    }
+
+}

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationServiceServer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/java/information/service/InformationServiceServer.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/InformationService.composite
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/InformationService.composite?rev=674248&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/InformationService.composite (added)
+++ tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/InformationService.composite Sat Jul  5 18:12:03 2008
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	* Licensed to the Apache Software Foundation (ASF) under one
+	* or more contributor license agreements.  See the NOTICE file
+	* distributed with this work for additional information
+	* regarding copyright ownership.  The ASF licenses this file
+	* to you under the Apache License, Version 2.0 (the
+	* "License"); you may not use this file except in compliance
+	* with the License.  You may obtain a copy of the License at
+	* 
+	*   http://www.apache.org/licenses/LICENSE-2.0
+	* 
+	* Unless required by applicable law or agreed to in writing,
+	* software distributed under the License is distributed on an
+	* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+	* KIND, either express or implied.  See the License for the
+	* specific language governing permissions and limitations
+	* under the License.    
+-->
+
+<sca:composite xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+	targetNamespace="http://informationservice.myproject.eu"
+	name="InformationService">
+	
+	<sca:component name="InformationServiceComponent">
+		<sca:implementation.java class="information.service.InformationServiceImpl" />
+		<sca:service name="InformationService">
+			<sca:interface.java interface="information.service.InformationService" />
+			<sca:binding.ws uri="http://localhost:8888/axis2/services/InformationService"/>
+		</sca:service>
+	</sca:component>
+</sca:composite>
+

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/InformationService.composite
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/InformationService.composite
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/InformationService.composite
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/wsdl/helloworld.wsdl
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/wsdl/helloworld.wsdl?rev=674248&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/wsdl/helloworld.wsdl (added)
+++ tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/wsdl/helloworld.wsdl Sat Jul  5 18:12:03 2008
@@ -0,0 +1,79 @@
+<?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://helloworld" xmlns:tns="http://helloworld" 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:types>
+        <schema elementFormDefault="qualified" targetNamespace="http://helloworld" xmlns="http://www.w3.org/2001/XMLSchema">
+
+            <element name="getGreetings">
+                <complexType>
+                    <sequence>
+                        <element name="name" 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="tns:getGreetings" name="parameters"/>
+    </wsdl:message>
+
+    <wsdl:message name="getGreetingsResponse">
+        <wsdl:part element="tns:getGreetingsResponse" name="parameters"/>
+    </wsdl:message>
+
+    <wsdl:portType name="HelloWorld">
+        <wsdl:operation name="getGreetings">
+            <wsdl:input message="tns:getGreetingsRequest" name="getGreetingsRequest"/>
+            <wsdl:output message="tns:getGreetingsResponse" name="getGreetingsResponse"/>
+        </wsdl:operation>
+    </wsdl:portType>
+
+    <wsdl:binding name="HelloWorldSoapBinding" type="tns:HelloWorld">
+        <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="HelloWorldService">
+        <wsdl:port binding="tns:HelloWorldSoapBinding" name="HelloWorldSoapPort">
+            <wsdlsoap:address location="http://localhost:8085/HelloWorldServiceComponent"/>
+        </wsdl:port>
+    </wsdl:service>
+
+</wsdl:definitions>

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/wsdl/helloworld.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/wsdl/helloworld.wsdl
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/main/resources/wsdl/helloworld.wsdl
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/test/java/information/service/InformationServiceServerTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/test/java/information/service/InformationServiceServerTestCase.java?rev=674248&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/test/java/information/service/InformationServiceServerTestCase.java (added)
+++ tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/test/java/information/service/InformationServiceServerTestCase.java Sat Jul  5 18:12:03 2008
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package information.service;
+
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertNotNull;
+
+import java.io.IOException;
+import java.net.Socket;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests that the helloworld server is available
+ */
+public class InformationServiceServerTestCase{
+
+    private SCADomain scaDomain;
+
+        @Before
+	public void startServer() throws Exception {
+            scaDomain = SCADomain.newInstance("InformationService.composite");
+	}
+
+	@Test
+	public void testPing() throws IOException {
+		new Socket("127.0.0.1", 8085);
+	}
+    
+    @Test
+    public void testServiceCall() throws IOException {
+        InformationService informationService = scaDomain.getService(InformationService.class, "InformationServiceComponent");
+        assertNotNull(informationService);
+        
+        assertEquals("Hello Smith", informationService.hello("Smith"));
+    }
+
+	@After
+	public void stopServer() throws Exception {
+            scaDomain.close();
+	}
+
+}

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/test/java/information/service/InformationServiceServerTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sandbox/lresende/sca/samples/helloworld-ws/src/test/java/information/service/InformationServiceServerTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date