summaryrefslogtreecommitdiffstats
path: root/sandbox/nash/scenarios/webapp-service-with-exception
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 /sandbox/nash/scenarios/webapp-service-with-exception
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 'sandbox/nash/scenarios/webapp-service-with-exception')
-rw-r--r--sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/pom.xml85
-rw-r--r--sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/BusinessException.java45
-rw-r--r--sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/ExampleClient.java23
-rw-r--r--sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/ExampleClientImpl.java44
-rw-r--r--sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/ExampleService.java27
-rw-r--r--sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/resources/META-INF/sca-contribution.xml22
-rw-r--r--sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/resources/exclient.composite32
-rw-r--r--sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/test/java/com/example/ExampleTestCase.java45
-rw-r--r--sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/pom.xml64
-rw-r--r--sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/java/com/example/BusinessException.java45
-rw-r--r--sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/java/com/example/ExampleService.java27
-rw-r--r--sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/java/com/example/ExampleServiceImpl.java26
-rw-r--r--sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/webapp/META-INF/sca-deployables/example.composite32
-rw-r--r--sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/webapp/WEB-INF/web.xml41
14 files changed, 558 insertions, 0 deletions
diff --git a/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/pom.xml b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/pom.xml
new file mode 100644
index 0000000000..0ddd361122
--- /dev/null
+++ b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/pom.xml
@@ -0,0 +1,85 @@
+<?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.1-incubating-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <artifactId>sample-exceptions-simple-ws-client</artifactId>
+ <name>Apache Tuscany SCA Simple Exceptions Web Service Sample Client</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-node-api</artifactId>
+ <version>1.1-incubating-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>1.1-incubating-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.1-incubating-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>1.1-incubating-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>1.1-incubating-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>
diff --git a/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/BusinessException.java b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/BusinessException.java
new file mode 100644
index 0000000000..07b382aaa5
--- /dev/null
+++ b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/BusinessException.java
@@ -0,0 +1,45 @@
+/*
+ * 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 com.example;
+
+public class BusinessException extends Exception {
+
+ private String message;
+
+ public BusinessException() {
+ super();
+ }
+
+ public BusinessException(String message) {
+ super(message);
+ setDetailMessage(message);
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public String getDetailMessage() {
+ return message;
+ }
+
+ public void setDetailMessage(String message) {
+ this.message = message;
+ }
+}
diff --git a/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/ExampleClient.java b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/ExampleClient.java
new file mode 100644
index 0000000000..5d3445abe8
--- /dev/null
+++ b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/ExampleClient.java
@@ -0,0 +1,23 @@
+/*
+ * 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 com.example;
+
+public interface ExampleClient {
+ void runTest();
+}
diff --git a/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/ExampleClientImpl.java b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/ExampleClientImpl.java
new file mode 100644
index 0000000000..bf8cd40978
--- /dev/null
+++ b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/ExampleClientImpl.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.
+ */
+package com.example;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Service;
+
+@Service(ExampleClient.class)
+@Scope("COMPOSITE")
+public class ExampleClientImpl implements ExampleClient {
+
+ private ExampleService myService;
+
+ @Reference
+ public void setMyService(ExampleService myService) {
+ this.myService = myService;
+ }
+
+ public void runTest() {
+ try {
+ Object result = myService.hello("John");
+ System.out.println("myService returned " + result.getClass().getName());
+ } catch(BusinessException e) {
+ System.out.println("caught exception from hello(): " + e.getMessage());
+ }
+ }
+}
diff --git a/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/ExampleService.java b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/ExampleService.java
new file mode 100644
index 0000000000..4c25ab74c8
--- /dev/null
+++ b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/java/com/example/ExampleService.java
@@ -0,0 +1,27 @@
+/*
+ * 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 com.example;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface ExampleService {
+
+ String hello(String name) throws BusinessException;
+}
diff --git a/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/resources/META-INF/sca-contribution.xml b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/resources/META-INF/sca-contribution.xml
new file mode 100644
index 0000000000..bd011768d8
--- /dev/null
+++ b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/resources/META-INF/sca-contribution.xml
@@ -0,0 +1,22 @@
+<?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" xmlns:exa="http://www.example.com">
+ <deployable composite="exa:exclient" />
+</contribution>
diff --git a/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/resources/exclient.composite b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/resources/exclient.composite
new file mode 100644
index 0000000000..355f741995
--- /dev/null
+++ b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/main/resources/exclient.composite
@@ -0,0 +1,32 @@
+<?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://www.example.com"
+ xmlns:hw="http://www.example.com"
+ name="exclient">
+
+ <component name="ExampleClientComponent">
+ <implementation.java class="com.example.ExampleClientImpl" />
+ <reference name="myService">
+ <interface.java interface="com.example.ExampleService" />
+ <binding.ws uri="http://localhost:8080/itest-exceptions-simple-ws/ExampleComponent" />
+ </reference>
+ </component>
+</composite>
diff --git a/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/test/java/com/example/ExampleTestCase.java b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/test/java/com/example/ExampleTestCase.java
new file mode 100644
index 0000000000..4f6ff90c1b
--- /dev/null
+++ b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-client/src/test/java/com/example/ExampleTestCase.java
@@ -0,0 +1,45 @@
+/*
+ * 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 com.example;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+public class ExampleTestCase extends TestCase {
+
+ private SCANode node;
+ private ExampleClient client;
+
+ @Override
+ protected void setUp() throws Exception {
+ node = SCANodeFactory.createNodeWithComposite("exclient.composite");
+ client = node.getDomain().getService(ExampleClient.class, "ExampleClientComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.destroy();
+ }
+
+ public void test() throws Exception {
+ client.runTest();
+ }
+}
diff --git a/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/pom.xml b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/pom.xml
new file mode 100644
index 0000000000..24fd5ca317
--- /dev/null
+++ b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/pom.xml
@@ -0,0 +1,64 @@
+<?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.1-incubating-SNAPSHOT</version>
+ </parent>
+ <artifactId>itest-exceptions-simple-ws</artifactId>
+ <name>Apache Tuscany Simple Exceptions Web Service Sample Webapp</name>
+ <packaging>war</packaging>
+
+ <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-webapp</artifactId>
+ <version>1.1-incubating-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.1-incubating-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>1.1-incubating-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ </build>
+
+</project>
diff --git a/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/java/com/example/BusinessException.java b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/java/com/example/BusinessException.java
new file mode 100644
index 0000000000..07b382aaa5
--- /dev/null
+++ b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/java/com/example/BusinessException.java
@@ -0,0 +1,45 @@
+/*
+ * 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 com.example;
+
+public class BusinessException extends Exception {
+
+ private String message;
+
+ public BusinessException() {
+ super();
+ }
+
+ public BusinessException(String message) {
+ super(message);
+ setDetailMessage(message);
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public String getDetailMessage() {
+ return message;
+ }
+
+ public void setDetailMessage(String message) {
+ this.message = message;
+ }
+}
diff --git a/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/java/com/example/ExampleService.java b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/java/com/example/ExampleService.java
new file mode 100644
index 0000000000..4c25ab74c8
--- /dev/null
+++ b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/java/com/example/ExampleService.java
@@ -0,0 +1,27 @@
+/*
+ * 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 com.example;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface ExampleService {
+
+ String hello(String name) throws BusinessException;
+}
diff --git a/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/java/com/example/ExampleServiceImpl.java b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/java/com/example/ExampleServiceImpl.java
new file mode 100644
index 0000000000..4e5c9df684
--- /dev/null
+++ b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/java/com/example/ExampleServiceImpl.java
@@ -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 com.example;
+
+public class ExampleServiceImpl implements ExampleService {
+ public String hello(String name) throws BusinessException {
+ throw new BusinessException("bad news");
+ //return "Hello, " + name;
+ }
+}
diff --git a/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/webapp/META-INF/sca-deployables/example.composite b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/webapp/META-INF/sca-deployables/example.composite
new file mode 100644
index 0000000000..b1c08eba79
--- /dev/null
+++ b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/webapp/META-INF/sca-deployables/example.composite
@@ -0,0 +1,32 @@
+<?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://www.example.com"
+ xmlns:hw="http://www.example.com"
+ name="example">
+
+ <component name="ExampleComponent">
+ <implementation.java class="com.example.ExampleServiceImpl"/>
+ <service name="ExampleService">
+ <interface.java interface="com.example.ExampleService" />
+ <binding.ws />
+ </service>
+ </component>
+</composite>
diff --git a/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/webapp/WEB-INF/web.xml b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..aa3b7031b9
--- /dev/null
+++ b/sandbox/nash/scenarios/webapp-service-with-exception/exceptions-simple-ws-webapp/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,41 @@
+<?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 Simple Exceptions Web Service Sample</display-name>
+
+ <filter>
+ <filter-name>tuscany</filter-name>
+ <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>tuscany</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <welcome-file-list id="WelcomeFileList">
+ <welcome-file>ExampleComponent?wsdl</welcome-file>
+ </welcome-file-list>
+
+</web-app>