summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp
diff options
context:
space:
mode:
authordims <dims@13f79535-47bb-0310-9956-ffa450edef68>2008-06-17 00:23:01 +0000
committerdims <dims@13f79535-47bb-0310-9956-ffa450edef68>2008-06-17 00:23:01 +0000
commitbdd0a41aed7edf21ec2a65cfa17a86af2ef8c48a (patch)
tree38a92061c0793434c4be189f1d70c3458b6bc41d /branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp
Move Tuscany from Incubator to top level.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@668359 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp')
-rw-r--r--branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/README36
-rw-r--r--branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/build.xml199
-rw-r--r--branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/pom.xml163
-rw-r--r--branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorld.java44
-rw-r--r--branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorldComponent.java40
-rw-r--r--branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorldImpl.java48
-rw-r--r--branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/resources/helloworldws.composite43
-rw-r--r--branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/resources/wsdl/helloworld.wsdl111
-rw-r--r--branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/resources/wsdl/helloworld.xsd30
-rw-r--r--branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/webapp/HelloWorld.jsp48
-rw-r--r--branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/webapp/META-INF/sca-contribution.xml24
-rw-r--r--branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/webapp/WEB-INF/web.xml45
12 files changed, 831 insertions, 0 deletions
diff --git a/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/README b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/README
new file mode 100644
index 0000000000..92fd1d2875
--- /dev/null
+++ b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/README
@@ -0,0 +1,36 @@
+Hello World Web Service SDO WebApp Sample
+=========================================
+This sample demonstrates an SCA web service binding which works with
+SDO and runs as a web application.
+
+The README in the samples directory (the directory above this) provides
+general instructions about building and running samples. Take a look there
+first.
+
+As this sample provides a web app there is a manual step where the WAR file
+that contains the sample is copied to your web app container. If you just want
+to give this sample a go deploy the WAR file (target/sample-helloworld-ws-sdo-webapp.war)
+to you web application server.
+
+Once the web app is deployed use your browser to visit the following URL;
+
+ http://localhost:8080/sample-helloworld-ws-sdo-webapp
+
+The port and hostname will of course vary depending on your local installation.
+
+The resulting web page displayed should show:
+
+ Hello John Smith, Jane Doe!
+
+
+Building And Running The Sample Using Maven
+-------------------------------------------
+With either the binary or source distributions the sample can be built and run
+using Maven as follows. When using Maven you don't need to run the helloworld-
+ws-service sample first as Maven does this for you.
+
+cd helloworld-ws-sdo-webapp
+mvn
+
+That should end with "BUILD SUCCESSFUL" and create the target/sample-helloworld-ws-sdo-webapp.war
+which you can copy to your server.
diff --git a/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/build.xml b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/build.xml
new file mode 100644
index 0000000000..5ed3deb20a
--- /dev/null
+++ b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/build.xml
@@ -0,0 +1,199 @@
+<!--
+ * 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 name="sample-helloworld-ws-sdo-webapp" default="package">
+ <property file="${user.home}/tuscany/build.properties" />
+ <property file="${user.home}/build.properties" />
+
+ <property name="tuscany.sca.manifest.location" value="../../lib/tuscany-sca-manifest.jar"/>
+ <property name="tuscany.sca.lib.location" value="../../lib"/>
+ <property name="tuscany.sca.modules.location" value="../../modules"/>
+
+ <path id="project.classpath">
+ <pathelement path="target/classes"/>
+ <pathelement path="target/sdo-source"/>
+ <pathelement location="${tuscany.sca.manifest.location}"/>
+ </path>
+
+ <target name="init">
+ <mkdir dir="target/classes"/>
+ <mkdir dir="target/sdo-source"/>
+ </target>
+
+ <target name="generate-sdo" depends="init">
+ <java classname="org.apache.tuscany.sdo.generate.XSD2JavaGenerator" fork="true">
+ <arg value="-targetDirectory"/>
+ <arg value="target/sdo-source"/>
+ <arg value="-javaPackage"/>
+ <arg value="helloworld.type"/>
+ <arg value="-prefix"/>
+ <arg value="Type"/>
+ <arg value="-noNotification"/>
+ <arg value="src/main/resources/wsdl/helloworld.xsd"/>
+
+ <classpath refid="project.classpath"/>
+ </java>
+ <java classname="org.apache.tuscany.sdo.generate.XSD2JavaGenerator" fork="true">
+ <arg value="-targetDirectory"/>
+ <arg value="target/sdo-source"/>
+ <arg value="-javaPackage"/>
+ <arg value="helloworld"/>
+ <arg value="-prefix"/>
+ <arg value="Helloworld"/>
+ <arg value="-noNotification"/>
+ <arg value="src/main/resources/wsdl/helloworld.wsdl"/>
+
+ <classpath refid="project.classpath"/>
+ </java>
+ </target>
+
+ <target name="compile" depends="init,generate-sdo">
+ <javac destdir="target/classes"
+ debug="on"
+ source="1.5"
+ target="1.5">
+ <src location="src/main/java"/>
+ <src location="target/sdo-source"/>
+ <classpath refid="project.classpath"/>
+ </javac>
+ <copy todir="target/classes">
+ <fileset dir="src/main/resources"/>
+ <fileset dir="target/sdo-source"/>
+ </copy>
+ </target>
+
+ <target name="package" depends="compile">
+ <war destfile="target/sample-helloworld-ws-sdo-webapp.war"
+ webxml="src/main/webapp/WEB-INF/web.xml">
+ <fileset dir="src/main/webapp"/>
+ <zipfileset dir="${tuscany.sca.modules.location}" prefix="WEB-INF/lib">
+ <include name="tuscany-assembly-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-assembly-xml-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-assembly-xsd-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-binding-feed-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-binding-jsonrpc-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-binding-sca-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-binding-sca-xml-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-binding-ws-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-binding-ws-axis2-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-binding-ws-xml-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-contribution-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-contribution-impl-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-contribution-java-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-contribution-namespace-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-core-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-core-databinding-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-core-spi-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-databinding-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-databinding-axiom-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-databinding-jaxb-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-databinding-sdo-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-definitions-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-domain-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-domain-api-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-extension-helper-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-host-embedded-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-host-http-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-host-webapp-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-implementation-java-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-implementation-java-runtime-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-implementation-java-xml-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-interface-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-interface-java-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-interface-java-xml-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-interface-wsdl-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-interface-wsdl-xml-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-node-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-policy-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-policy-security-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-policy-xml-1.0-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-sca-api-1.0-incubating-SNAPSHOT.jar"/>
+ </zipfileset>
+ <lib dir="${tuscany.sca.lib.location}">
+ <include name="activation-1.1.jar"/>
+ <include name="annogen-0.1.0.jar"/>
+ <include name="ant-1.7.0.jar"/>
+ <include name="ant-launcher-1.7.0.jar"/>
+ <include name="axiom-api-1.2.5.jar"/>
+ <include name="axiom-dom-1.2.5.jar"/>
+ <include name="axiom-impl-1.2.5.jar"/>
+ <include name="axis2-adb-1.3.jar"/>
+ <include name="axis2-codegen-1.3.jar"/>
+ <include name="axis2-java2wsdl-1.3.jar"/>
+ <include name="axis2-kernel-1.3.jar"/>
+ <include name="axis2-mtompolicy-1.3.jar"/>
+ <include name="backport-util-concurrent-2.2.jar"/>
+ <include name="cglib-nodep-2.1_3.jar"/>
+ <include name="common-2.2.3.jar"/>
+ <include name="commons-codec-1.3.jar"/>
+ <include name="commons-fileupload-1.1.1.jar"/>
+ <include name="commons-httpclient-3.0.1.jar"/>
+ <include name="commons-io-1.2.jar"/>
+ <include name="commons-logging-1.1.jar"/>
+ <include name="ecore-2.2.3.jar"/>
+ <include name="ecore-change-2.2.3.jar"/>
+ <include name="ecore-xmi-2.2.3.jar"/>
+ <include name="geronimo-activation_1.1_spec-1.0-M1.jar"/>
+ <include name="geronimo-commonj_1.1_spec-1.0.jar"/>
+ <include name="geronimo-javamail_1.4_spec-1.0-M1.jar"/>
+ <include name="geronimo-jms_1.1_spec-1.1.jar"/>
+ <include name="httpcore-4.0-alpha5.jar"/>
+ <include name="httpcore-nio-4.0-alpha5.jar"/>
+ <include name="httpcore-niossl-4.0-alpha5.jar"/>
+ <include name="jaxb-api-2.1.jar"/>
+ <include name="jaxb-impl-2.1.4.jar"/>
+ <include name="jaxen-1.1.1.jar"/>
+ <include name="jaxws-api-2.1.jar"/>
+ <include name="jdom-1.0.jar"/>
+ <include name="json-rpc-1.0.jar"/>
+ <include name="jsr181-api-1.0-MR1.jar"/>
+ <include name="jsr250-api-1.0.jar"/>
+ <include name="mail-1.4.jar"/>
+ <include name="neethi-2.0.2.jar"/>
+ <include name="rampart-core-1.3.jar"/>
+ <include name="rampart-policy-1.3.jar"/>
+ <include name="rampart-trust-1.3.jar"/>
+ <include name="rome-0.9.jar"/>
+ <include name="saaj-api-1.3.jar"/>
+ <include name="stax-api-1.0-2.jar"/>
+ <include name="stax-api-1.0.1.jar"/>
+ <include name="woden-1.0-incubating-M7b.jar"/>
+ <include name="wsdl4j-1.6.2.jar"/>
+ <include name="wss4j-1.5.3.jar"/>
+ <include name="wstx-asl-3.2.1.jar"/>
+ <include name="xalan-2.7.0.jar"/>
+ <include name="xercesImpl-2.8.1.jar"/>
+ <include name="xml-apis-1.3.03.jar"/>
+ <include name="XmlSchema-1.3.2.jar"/>
+ <include name="xmlsec-1.4.0.jar"/>
+ <include name="xsd-2.2.3.jar"/>
+ <include name="tuscany-sdo-api-r2.1-1.0-incubating.jar"/>
+ <include name="tuscany-sdo-impl-1.0-incubating.jar"/>
+ <include name="tuscany-sdo-lib-1.0-incubating.jar"/>
+ </lib>
+ <classes dir="target/classes"/>
+ <classes dir="target/sdo-source"/>
+ </war>
+ </target>
+
+ <target name="clean">
+ <delete quiet="true" includeemptydirs="true">
+ <fileset dir="target"/>
+ </delete>
+ </target>
+</project>
diff --git a/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/pom.xml b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/pom.xml
new file mode 100644
index 0000000000..bf6a591216
--- /dev/null
+++ b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/pom.xml
@@ -0,0 +1,163 @@
+<?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.0-incubating-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <artifactId>sample-helloworld-ws-sdo-webapp</artifactId>
+ <packaging>war</packaging>
+ <name>Apache Tuscany SCA HelloWorld Web Service SDO Sample WebApp</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.0-incubating-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.0-incubating-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>1.0-incubating-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-webapp</artifactId>
+ <version>1.0-incubating-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sdo</groupId>
+ <artifactId>tuscany-sdo-lib</artifactId>
+ <version>1.0-incubating</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tuscany.sdo</groupId>
+ <artifactId>tuscany-sdo-impl</artifactId>
+ <version>1.0-incubating</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-databinding-sdo</artifactId>
+ <version>1.0-incubating-SNAPSHOT</version>
+ <scope>compile</scope>
+ </dependency>
+
+<!-- [rfeng] It doesn't work with the embedded Tomcat, see TUSCANY-1460 -->
+<!--
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>1.0-incubating-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+-->
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.4</version> <!-- to keep compatible with older servlet containers -->
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.2</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>1.0</version>
+ <executions>
+ <execution>
+ <id>add-source</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>add-test-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>target/sdo-source</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.tuscany.sdo</groupId>
+ <artifactId>tuscany-sdo-plugin</artifactId>
+ <version>1.0-incubating</version>
+ <executions>
+ <execution>
+ <id>generate-helloworld-sdo</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <schemaFiles>
+ <configuration>
+ <fileName>${basedir}/src/main/resources/wsdl/helloworld.xsd</fileName>
+ <javaPackage>helloworld.type</javaPackage>
+ <prefix>Type</prefix>
+ <noNotification>true</noNotification>
+ </configuration>
+ <configuration>
+ <fileName>${basedir}/src/main/resources/wsdl/helloworld.wsdl</fileName>
+ <javaPackage>helloworld</javaPackage>
+ <prefix>Helloworld</prefix>
+ <noNotification>true</noNotification>
+ </configuration>
+ </schemaFiles>
+ </configuration>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorld.java b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorld.java
new file mode 100644
index 0000000000..eb82418516
--- /dev/null
+++ b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorld.java
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+/**
+ * HelloWorld.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: #axisVersion# #today#
+ */
+package helloworld;
+
+import org.osoa.sca.annotations.Remotable;
+
+/*
+ * HelloWorld java interface
+ */
+
+@Remotable
+public interface HelloWorld {
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param getGreetings
+ */
+ public java.lang.String getGreetings(helloworld.Party getGreetings);
+
+}
diff --git a/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorldComponent.java b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorldComponent.java
new file mode 100644
index 0000000000..fea4e2a16c
--- /dev/null
+++ b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorldComponent.java
@@ -0,0 +1,40 @@
+/*
+ * 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 helloworld;
+
+
+public class HelloWorldComponent implements HelloWorld {
+
+ HelloWorld helloWorld;
+
+ public String getGreetings(Party party) {
+ System.out.println("Called getGreetings");
+ return helloWorld.getGreetings(party);
+ }
+
+ public HelloWorld getHelloWorld() {
+ System.out.println("Got Injected helloWorld");
+ return helloWorld;
+ }
+
+ public void setHelloWorld(HelloWorld helloWorld) {
+ System.out.println("Injected helloWorld");
+ this.helloWorld = helloWorld;
+ }
+}
diff --git a/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorldImpl.java b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorldImpl.java
new file mode 100644
index 0000000000..3d6576aca0
--- /dev/null
+++ b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/java/helloworld/HelloWorldImpl.java
@@ -0,0 +1,48 @@
+/*
+ * 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 helloworld;
+
+import java.util.List;
+
+import org.osoa.sca.annotations.Service;
+
+@Service(HelloWorld.class)
+public class HelloWorldImpl implements HelloWorld {
+
+ public String getGreetings(Party party) {
+ System.out.println("Greeting party");
+ StringBuffer greetings = new StringBuffer();
+ greetings.append("Hello ");
+ List<Person> people = party.getPeople();
+ int i=0;
+ for (Person person : people) {
+ greetings.append(person.getFirstName());
+ greetings.append(" ");
+ greetings.append(person.getLastName());
+ i++;
+ if (i < people.size()) {
+ greetings.append(", ");
+ }
+ }
+ greetings.append("!");
+
+ return greetings.toString();
+ }
+
+}
diff --git a/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/resources/helloworldws.composite b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/resources/helloworldws.composite
new file mode 100644
index 0000000000..34396b1b02
--- /dev/null
+++ b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/resources/helloworldws.composite
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://sample"
+ xmlns:sample="http://sample"
+ xmlns:dbsdo="http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0"
+ name="helloworldws">
+
+ <service name="HelloWorld" promote="HelloWorldImpl">
+ <interface.java interface="helloworld.HelloWorld" />
+ <binding.ws wsdlElement="http://helloworld#wsdl.binding(HelloWorldSoapBinding)"/>
+ </service>
+
+ <component name="HelloWorldImpl">
+ <implementation.java class="helloworld.HelloWorldImpl" />
+ </component>
+
+ <component name="HelloWorldServiceComponent">
+ <implementation.java class="helloworld.HelloWorldComponent"/>
+ <reference name="helloWorld" >
+ <interface.java interface="helloworld.HelloWorld" />
+ <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)"/>
+ </reference>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/resources/wsdl/helloworld.wsdl b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/resources/wsdl/helloworld.wsdl
new file mode 100644
index 0000000000..a82e040a67
--- /dev/null
+++ b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/resources/wsdl/helloworld.wsdl
@@ -0,0 +1,111 @@
+<?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:hw="http://helloworld/type"
+ 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:tns="http://helloworld"
+ xmlns="http://www.w3.org/2001/XMLSchema">
+
+ <import namespace="http://helloworld/type"
+ schemaLocation="helloworld.xsd" />
+
+ <element name="getGreetings">
+ <complexType>
+ <sequence>
+ <element name="party" type="tns:Party" />
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="getGreetingsResponse">
+ <complexType>
+ <sequence>
+ <element name="getGreetingsReturn"
+ type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+
+ <complexType name="Party">
+ <sequence>
+ <element name="people" type="tns:Person"
+ maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+
+ <complexType name="Person">
+ <complexContent>
+ <extension base="hw:Person_Base">
+ <sequence>
+ <element name="lastName" type="xsd:string" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ </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:8080/sample-helloworld-ws-sdo-webapp/services/HelloWorld" />
+ </wsdl:port>
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/resources/wsdl/helloworld.xsd b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/resources/wsdl/helloworld.xsd
new file mode 100644
index 0000000000..a0b7c37cd9
--- /dev/null
+++ b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/resources/wsdl/helloworld.xsd
@@ -0,0 +1,30 @@
+<?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.
+-->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://helloworld/type"
+ xmlns:tns="http://helloworld/type"
+ elementFormDefault="qualified">
+
+ <complexType name="Person_Base">
+ <sequence>
+ <element name="firstName" type="string" />
+ </sequence>
+ </complexType>
+</schema> \ No newline at end of file
diff --git a/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/webapp/HelloWorld.jsp b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/webapp/HelloWorld.jsp
new file mode 100644
index 0000000000..4657c6cdc1
--- /dev/null
+++ b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/webapp/HelloWorld.jsp
@@ -0,0 +1,48 @@
+<%--
+ * 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.
+--%>
+
+<%@ page import="org.apache.tuscany.sca.host.embedded.SCADomain"%>
+<%@ page import="helloworld.HelloWorld" %>
+<%@ page import="helloworld.HelloworldFactory"%>
+<%@ page import="helloworld.Party"%>
+<%@ page import="helloworld.Person"%>
+
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%
+ SCADomain scaDomain = (SCADomain) application.getAttribute("org.apache.tuscany.sca.SCADomain");
+ HelloWorld helloWorld = (HelloWorld)scaDomain.getService(HelloWorld.class, "HelloWorldServiceComponent");
+%>
+<html>
+<head><title>Hello World SDO sample</title></head>
+
+<body>
+<%
+ Party party = HelloworldFactory.INSTANCE.createParty();
+ Person person = HelloworldFactory.INSTANCE.createPerson();
+ person.setFirstName("John");
+ person.setLastName("Smith");
+ party.getPeople().add(person);
+ person = HelloworldFactory.INSTANCE.createPerson();
+ person.setFirstName("Jane");
+ person.setLastName("Doe");
+ party.getPeople().add(person);
+%>
+<%= helloWorld.getGreetings(party) %>
+</body>
+</html>
diff --git a/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/webapp/META-INF/sca-contribution.xml b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/webapp/META-INF/sca-contribution.xml
new file mode 100644
index 0000000000..6f241cc90c
--- /dev/null
+++ b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/webapp/META-INF/sca-contribution.xml
@@ -0,0 +1,24 @@
+<?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.
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://sample"
+ xmlns:sample="http://sample">
+ <deployable composite="sample:helloworldws"/>
+</contribution> \ No newline at end of file
diff --git a/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/webapp/WEB-INF/web.xml b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..c4f08cf89b
--- /dev/null
+++ b/branches/sca-java-1.0/samples/helloworld-ws-sdo-webapp/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * 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.
+-->
+
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
+Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+
+ <display-name>Apache Tuscany Hello World Web Service SDO Sample</display-name>
+
+ <listener>
+ <listener-class>org.apache.tuscany.sca.host.webapp.TuscanyContextListener</listener-class>
+ </listener>
+
+ <servlet>
+ <servlet-name>TuscanyServlet</servlet-name>
+ <servlet-class>org.apache.tuscany.sca.host.webapp.TuscanyServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>TuscanyServlet</servlet-name>
+ <url-pattern>/services/*</url-pattern>
+ </servlet-mapping>
+
+ <welcome-file-list id="WelcomeFileList">
+ <welcome-file>HelloWorld.jsp</welcome-file>
+ </welcome-file-list>
+
+</web-app>