summaryrefslogtreecommitdiffstats
path: root/sandbox/slaws
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2010-03-12 13:43:54 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2010-03-12 13:43:54 +0000
commit57814d9f2d8c517657f35caeb461c98ad2d38fd4 (patch)
tree4f729a55ff00052cecb0cbf35f902e688657870d /sandbox/slaws
parentf41fd0312b0b8c9dc9fb15e6acd87bc576a9eb6c (diff)
Experimenting with JAXWS programmatic API
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@922252 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sandbox/slaws')
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/calculator/jaxws/Add.classbin0 -> 907 bytes
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/calculator/jaxws/AddResponse.classbin0 -> 766 bytes
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/java2wsdl-axis.bat3
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/pom.xml85
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/AddService.java28
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/AddServiceImpl.java40
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/CalculatorClient.java45
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/CalculatorService.java37
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/CalculatorServiceImpl.java72
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/DivideService.java28
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/DivideServiceImpl.java38
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/MultiplyService.java28
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/MultiplyServiceImpl.java38
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/SubtractService.java28
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/SubtractServiceImpl.java38
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/jaxws/Add.java63
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/jaxws/AddResponse.java40
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/resources/AddServiceImplService.wsdl39
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/main/resources/AddServiceImplService_schema1.xsd21
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/src/test/java/test/Service.java34
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/wsdl2java-axis.bat2
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/wsgen.bat1
-rw-r--r--sandbox/slaws/axis-jaxws-experiment/wsimport.bat1
23 files changed, 709 insertions, 0 deletions
diff --git a/sandbox/slaws/axis-jaxws-experiment/calculator/jaxws/Add.class b/sandbox/slaws/axis-jaxws-experiment/calculator/jaxws/Add.class
new file mode 100644
index 0000000000..b8ddbef0b8
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/calculator/jaxws/Add.class
Binary files differ
diff --git a/sandbox/slaws/axis-jaxws-experiment/calculator/jaxws/AddResponse.class b/sandbox/slaws/axis-jaxws-experiment/calculator/jaxws/AddResponse.class
new file mode 100644
index 0000000000..e5db5e0e47
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/calculator/jaxws/AddResponse.class
Binary files differ
diff --git a/sandbox/slaws/axis-jaxws-experiment/java2wsdl-axis.bat b/sandbox/slaws/axis-jaxws-experiment/java2wsdl-axis.bat
new file mode 100644
index 0000000000..773e3dd7d0
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/java2wsdl-axis.bat
@@ -0,0 +1,3 @@
+set AXIS2_HOME=D:\apps\axis2-1.5.1
+set JAVA_HOME=C:\simon\apps\j2sdk6_07-sun
+C:\simon\apps\axis2-1.5.1\bin\java2wsdl.bat -cp target\classes -o target\java2wsdl -st rpc -u literal -cn app.MyService
diff --git a/sandbox/slaws/axis-jaxws-experiment/pom.xml b/sandbox/slaws/axis-jaxws-experiment/pom.xml
new file mode 100644
index 0000000000..3164ec1a64
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/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>2.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <artifactId>sandbox-axis-jaxws-experiment</artifactId>
+ <name>Apache Tuscany SCA Sandbox Axis JAXWS Experiment</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-runtime-axis2</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <mainClass>calculator.CalculatorClient</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/AddService.java b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/AddService.java
new file mode 100644
index 0000000000..188451ebac
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/AddService.java
@@ -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 calculator;
+
+/**
+ * The Add service interface
+ */
+public interface AddService {
+
+ double add(double n1, double n2);
+
+}
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/AddServiceImpl.java b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/AddServiceImpl.java
new file mode 100644
index 0000000000..b289a20a9f
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/AddServiceImpl.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 calculator;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.jws.WebService;
+
+import org.oasisopen.sca.annotation.Service;
+
+/**
+ * An implementation of the Add service
+ */
+@WebService
+public class AddServiceImpl implements AddService {
+
+ public double add(double n1, double n2) {
+ Logger logger = Logger.getLogger("calculator");
+ logger.log(Level.FINEST, "Adding " + n1 + " and " + n2);
+ return n1 + n2;
+ }
+
+}
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/CalculatorClient.java b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/CalculatorClient.java
new file mode 100644
index 0000000000..53c793806e
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/CalculatorClient.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 calculator;
+
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+
+/**
+ * This client program shows how to create an SCA runtime, start it,
+ * and locate and invoke a SCA component
+ */
+public class CalculatorClient {
+ public static void main(String[] args) throws Exception {
+
+ Node node = NodeFactory.newInstance().createNode((String)null, new String[] {"target/classes"}).start();
+
+ CalculatorService calculatorService = node.getService(CalculatorService.class, "CalculatorServiceComponent");
+
+ // Calculate
+ System.out.println("3 + 2=" + calculatorService.add(3, 2));
+ System.out.println("3 - 2=" + calculatorService.subtract(3, 2));
+ System.out.println("3 * 2=" + calculatorService.multiply(3, 2));
+ System.out.println("3 / 2=" + calculatorService.divide(3, 2));
+
+ node.stop();
+ }
+
+}
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/CalculatorService.java b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/CalculatorService.java
new file mode 100644
index 0000000000..ce1cdaae5a
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/CalculatorService.java
@@ -0,0 +1,37 @@
+/*
+ * 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 calculator;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+/**
+ * The Calculator service interface.
+ */
+@Remotable
+public interface CalculatorService {
+
+ double add(double n1, double n2);
+
+ double subtract(double n1, double n2);
+
+ double multiply(double n1, double n2);
+
+ double divide(double n1, double n2);
+
+}
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/CalculatorServiceImpl.java b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/CalculatorServiceImpl.java
new file mode 100644
index 0000000000..fc53393d23
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/CalculatorServiceImpl.java
@@ -0,0 +1,72 @@
+/*
+ * 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 calculator;
+
+import org.oasisopen.sca.annotation.Reference;
+import org.oasisopen.sca.annotation.Service;
+
+
+/**
+ * An implementation of the Calculator service.
+ */
+@Service(CalculatorService.class)
+public class CalculatorServiceImpl implements CalculatorService {
+
+ private AddService addService;
+ private SubtractService subtractService;
+ private MultiplyService multiplyService;
+ private DivideService divideService;
+
+ @Reference
+ public void setAddService(AddService addService) {
+ this.addService = addService;
+ }
+
+ @Reference
+ public void setSubtractService(SubtractService subtractService) {
+ this.subtractService = subtractService;
+ }
+
+ @Reference
+ public void setDivideService(DivideService divideService) {
+ this.divideService = divideService;
+ }
+
+ @Reference
+ public void setMultiplyService(MultiplyService multiplyService) {
+ this.multiplyService = multiplyService;
+ }
+
+ public double add(double n1, double n2) {
+ return addService.add(n1, n2);
+ }
+
+ public double subtract(double n1, double n2) {
+ return subtractService.subtract(n1, n2);
+ }
+
+ public double multiply(double n1, double n2) {
+ return multiplyService.multiply(n1, n2);
+ }
+
+ public double divide(double n1, double n2) {
+ return divideService.divide(n1, n2);
+ }
+
+}
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/DivideService.java b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/DivideService.java
new file mode 100644
index 0000000000..30d248208b
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/DivideService.java
@@ -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 calculator;
+
+/**
+ * The divide service interface
+ */
+public interface DivideService {
+
+ double divide(double n1, double n2);
+
+}
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/DivideServiceImpl.java b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/DivideServiceImpl.java
new file mode 100644
index 0000000000..b1250ed9f2
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/DivideServiceImpl.java
@@ -0,0 +1,38 @@
+/*
+ * 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 calculator;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.oasisopen.sca.annotation.Service;
+
+/**
+ * An implementation of the Divide service.
+ */
+@Service(DivideService.class)
+public class DivideServiceImpl implements DivideService {
+
+ public double divide(double n1, double n2) {
+ Logger logger = Logger.getLogger("calculator");
+ logger.log(Level.FINEST, "Dividing " + n1 + " with " + n2);
+ return n1 / n2;
+ }
+
+}
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/MultiplyService.java b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/MultiplyService.java
new file mode 100644
index 0000000000..5290605938
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/MultiplyService.java
@@ -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 calculator;
+
+/**
+ * The interface for the multiply service
+ */
+public interface MultiplyService {
+
+ double multiply(double n1, double n2);
+
+}
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/MultiplyServiceImpl.java b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/MultiplyServiceImpl.java
new file mode 100644
index 0000000000..11f68c66e3
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/MultiplyServiceImpl.java
@@ -0,0 +1,38 @@
+/*
+ * 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 calculator;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.oasisopen.sca.annotation.Service;
+
+/**
+ * An implementation of the Multiply service.
+ */
+@Service(MultiplyService.class)
+public class MultiplyServiceImpl implements MultiplyService {
+
+ public double multiply(double n1, double n2) {
+ Logger logger = Logger.getLogger("calculator");
+ logger.log(Level.FINEST, "Multiplying " + n1 + " with " + n2);
+ return n1 * n2;
+ }
+
+}
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/SubtractService.java b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/SubtractService.java
new file mode 100644
index 0000000000..bf0d1882b6
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/SubtractService.java
@@ -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 calculator;
+
+/**
+ * The interface for the multiply service
+ */
+public interface SubtractService {
+
+ double subtract(double n1, double n2);
+
+}
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/SubtractServiceImpl.java b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/SubtractServiceImpl.java
new file mode 100644
index 0000000000..30e59bf668
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/SubtractServiceImpl.java
@@ -0,0 +1,38 @@
+/*
+ * 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 calculator;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.oasisopen.sca.annotation.Service;
+
+/**
+ * An implementation of the subtract service.
+ */
+@Service(SubtractService.class)
+public class SubtractServiceImpl implements SubtractService {
+
+ public double subtract(double n1, double n2) {
+ Logger logger = Logger.getLogger("calculator");
+ logger.log(Level.FINEST, "Subtracting " + n1 + " from " + n2);
+ return n1 - n2;
+ }
+
+}
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/jaxws/Add.java b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/jaxws/Add.java
new file mode 100644
index 0000000000..0452b2074b
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/jaxws/Add.java
@@ -0,0 +1,63 @@
+//
+// Generated By:JAX-WS RI IBM 2.1.1 in JDK 6 (JAXB RI IBM JAXB 2.1.3 in JDK 1.6)
+//
+
+
+package calculator.jaxws;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlRootElement(name = "add", namespace = "http://calculator/")
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "add", namespace = "http://calculator/", propOrder = {
+ "arg0",
+ "arg1"
+})
+public class Add {
+
+ @XmlElement(name = "arg0", namespace = "")
+ private double arg0;
+ @XmlElement(name = "arg1", namespace = "")
+ private double arg1;
+
+ /**
+ *
+ * @return
+ * returns double
+ */
+ public double getArg0() {
+ return this.arg0;
+ }
+
+ /**
+ *
+ * @param arg0
+ * the value for the arg0 property
+ */
+ public void setArg0(double arg0) {
+ this.arg0 = arg0;
+ }
+
+ /**
+ *
+ * @return
+ * returns double
+ */
+ public double getArg1() {
+ return this.arg1;
+ }
+
+ /**
+ *
+ * @param arg1
+ * the value for the arg1 property
+ */
+ public void setArg1(double arg1) {
+ this.arg1 = arg1;
+ }
+
+}
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/jaxws/AddResponse.java b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/jaxws/AddResponse.java
new file mode 100644
index 0000000000..af322cf632
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/java/calculator/jaxws/AddResponse.java
@@ -0,0 +1,40 @@
+//
+// Generated By:JAX-WS RI IBM 2.1.1 in JDK 6 (JAXB RI IBM JAXB 2.1.3 in JDK 1.6)
+//
+
+
+package calculator.jaxws;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlRootElement(name = "addResponse", namespace = "http://calculator/")
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "addResponse", namespace = "http://calculator/")
+public class AddResponse {
+
+ @XmlElement(name = "return", namespace = "")
+ private double _return;
+
+ /**
+ *
+ * @return
+ * returns double
+ */
+ public double getReturn() {
+ return this._return;
+ }
+
+ /**
+ *
+ * @param _return
+ * the value for the _return property
+ */
+ public void setReturn(double _return) {
+ this._return = _return;
+ }
+
+}
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/resources/AddServiceImplService.wsdl b/sandbox/slaws/axis-jaxws-experiment/src/main/resources/AddServiceImplService.wsdl
new file mode 100644
index 0000000000..b07f05ad66
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/resources/AddServiceImplService.wsdl
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.1 in JDK 6. -->
+<definitions targetNamespace="http://calculator/" name="AddServiceImplService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://calculator/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+ <types>
+ <xsd:schema>
+ <xsd:import namespace="http://calculator/" schemaLocation="AddServiceImplService_schema1.xsd"/>
+ </xsd:schema>
+ </types>
+ <message name="add">
+ <part name="parameters" element="tns:add"/>
+ </message>
+ <message name="addResponse">
+ <part name="parameters" element="tns:addResponse"/>
+ </message>
+ <portType name="AddServiceImpl">
+ <operation name="add">
+ <input message="tns:add"/>
+ <output message="tns:addResponse"/>
+ </operation>
+ </portType>
+ <binding name="AddServiceImplPortBinding" type="tns:AddServiceImpl">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+ <operation name="add">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="AddServiceImplService">
+ <port name="AddServiceImplPort" binding="tns:AddServiceImplPortBinding">
+ <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
+ </port>
+ </service>
+</definitions>
+
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/main/resources/AddServiceImplService_schema1.xsd b/sandbox/slaws/axis-jaxws-experiment/src/main/resources/AddServiceImplService_schema1.xsd
new file mode 100644
index 0000000000..735f19bff3
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/main/resources/AddServiceImplService_schema1.xsd
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema version="1.0" targetNamespace="http://calculator/" xmlns:tns="http://calculator/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="add" type="tns:add"/>
+
+ <xs:element name="addResponse" type="tns:addResponse"/>
+
+ <xs:complexType name="add">
+ <xs:sequence>
+ <xs:element name="arg0" type="xs:double"/>
+ <xs:element name="arg1" type="xs:double"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="addResponse">
+ <xs:sequence>
+ <xs:element name="return" type="xs:double"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
+
diff --git a/sandbox/slaws/axis-jaxws-experiment/src/test/java/test/Service.java b/sandbox/slaws/axis-jaxws-experiment/src/test/java/test/Service.java
new file mode 100644
index 0000000000..b44b0bb050
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/src/test/java/test/Service.java
@@ -0,0 +1,34 @@
+/*
+ * 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 test;
+
+import javax.xml.ws.Endpoint;
+
+import calculator.AddServiceImpl;
+
+
+public class Service {
+
+ public static void main(String[] args) throws Exception {
+ Endpoint.publish("http://localhost:8080/Test/Add",
+ new AddServiceImpl());
+
+ }
+}
diff --git a/sandbox/slaws/axis-jaxws-experiment/wsdl2java-axis.bat b/sandbox/slaws/axis-jaxws-experiment/wsdl2java-axis.bat
new file mode 100644
index 0000000000..3f2f2c5b81
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/wsdl2java-axis.bat
@@ -0,0 +1,2 @@
+set AXIS2_HOME=D:\apps\axis2-1.5.1
+D:\apps\axis2-1.5.1\bin\wsdl2java.bat -or -ss -ssi -g -o wsdl2java-axis -uri examplews-1.4.wsdl
diff --git a/sandbox/slaws/axis-jaxws-experiment/wsgen.bat b/sandbox/slaws/axis-jaxws-experiment/wsgen.bat
new file mode 100644
index 0000000000..5a8f49537b
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/wsgen.bat
@@ -0,0 +1 @@
+c:\simon\apps\j2sdk6.0-ibm\bin\wsgen.exe -cp target/classes;"C:\Documents and Settings\slaws\.m2\repository\org\apache\tuscany\sca\tuscany-sca-api\2.0-SNAPSHOT\tuscany-sca-api-2.0-SNAPSHOT.jar" -r src/main/resources -s src/main/java -wsdl calculator.AddServiceImpl
diff --git a/sandbox/slaws/axis-jaxws-experiment/wsimport.bat b/sandbox/slaws/axis-jaxws-experiment/wsimport.bat
new file mode 100644
index 0000000000..e63ebb7059
--- /dev/null
+++ b/sandbox/slaws/axis-jaxws-experiment/wsimport.bat
@@ -0,0 +1 @@
+c:\simon\apps\j2sdk6.0-ibm\bin\wsimport.exe TBD