Author: beckerdo
Date: Tue Feb 17 19:28:56 2009
New Revision: 745207

URL: http://svn.apache.org/viewvc?rev=745207&view=rev
Log:
TUSCANY 2855 - Adding Holder WS Sample

Added:
    tuscany/branches/sca-java-1.x/samples/holder-ws-service/
    tuscany/branches/sca-java-1.x/samples/holder-ws-service/README
    tuscany/branches/sca-java-1.x/samples/holder-ws-service/build.xml   (with 
props)
    tuscany/branches/sca-java-1.x/samples/holder-ws-service/pom.xml   (with 
props)
    tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/
    tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/
    tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/
    tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ObjectFactory.java
   (with props)
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/Order.java
   (with props)
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderService.java
   (with props)
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderServiceImpl.java
   (with props)
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderService_Service.java
   (with props)
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ReviewOrder.java
   (with props)
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ReviewOrderResponse.java
   (with props)
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/Status.java
   (with props)
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/package-info.java
   (with props)
    tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/resources/
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/resources/META-INF/
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/resources/META-INF/sca-deployables/
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/resources/META-INF/sca-deployables/orderws.composite
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/resources/wsdl/
    
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/resources/wsdl/orderservice.wsdl

Added: tuscany/branches/sca-java-1.x/samples/holder-ws-service/README
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/samples/holder-ws-service/README?rev=745207&view=auto
==============================================================================
--- tuscany/branches/sca-java-1.x/samples/holder-ws-service/README (added)
+++ tuscany/branches/sca-java-1.x/samples/holder-ws-service/README Tue Feb 17 
19:28:56 2009
@@ -0,0 +1,140 @@
+Holder Pattern Service Sample
+======================================
+This sample demonstrates an SCA service that uses a web service binding. The
+web service binding has been generated from a given WSDL file:
+   src/main/resources/wsdl/orderservice.wsdl
+The generated binding has been placed in src/main/java/org/examle/orderservice
+and was generated via the JDK tool wsimport and the command:
+    wsimport -d orderservice -keep orderservice.wsdl
+
+The interesting feature of this sample is that the generated service interface,
+OrderService, contains a method with the signature:
+    public void reviewOrder(
+        @WebParam(name = "myData", targetNamespace = "", mode = 
WebParam.Mode.INOUT)
+        javax.xml.ws.Holder<Order> orderData);
+The orderData parameter is an input/output parameter that is provided by the 
caller,
+updated by the service, and returned to the caller. The business object is 
updated
+in place, a common pattern in web services, and not returned as a response. 
Tuscany
+can handle limited instances of this pattern.
+
+The README in the samples directory (the directory above this) provides 
+general instructions about building and running samples. Take a look there 
+first. 
+
+If you just want to run it to see what happens open a command prompt, navigate
+to this sample directory and do:
+
+ant run
+
+OR if you don't have ant, on Windows do
+
+java -cp 
..\..\lib\tuscany-sca-manifest.jar;target\sample-holder-ws-service.jar 
org.example.orderservice.OrderServiceTestCase
+
+and on *nix do
+
+java -cp 
../../lib/tuscany-sca-manifest.jar:target/sample-holder-ws-service.jar 
org.example.orderservice.OrderServiceTestCase
+
+Sample Overview
+---------------
+The sample provides a single component that is wired to a service with a 
+web service binding.
+
+holder-ws-service/
+  src/
+    main/
+      java/
+        org/
+           example/
+              orderservice
+                 *.java                   - Web service binding generated from 
+                                            HelloWorldServiceComponent
+      resources/
+        wsdl/
+          orderservice.wsdl               - the service description that 
describes
+                                            the exposed service
+        orderws.composite                 - the SCA assembly that uses this 
service
+    test/
+      java/
+        helloworld/
+          org/
+             example/
+                orderservice/
+                   OrderServiceTestCase.java - JUnit test case 
+  build.xml                               - the Ant build file
+  pom.xml                                 - the Maven build file        
+
+Building And Running The Sample Using Ant
+-----------------------------------------
+With the binary distribution the sample can be built and run using Ant using 
the 
+following commands
+
+cd holder-ws-service
+ant compile
+ant run
+
+You should see the following output from the run target.
+
+run:
+     [java] 14-Jan-2008 14:18:47 org.apache.tuscany.sca.http.jetty.JettyServer 
a
+ddServletMapping
+     [java] INFO: Added Servlet mapping: http://L3AW203:8085/HelloWorldService
+     [java] HelloWorld server started (press enter to shutdown)
+     
+As this point the SCA service is exposed as a web service by a web server 
+started automatically by the SCA runtime. To stop the server just press 
+enter.
+
+To exercise the service run up the helloworld-ws-reference sample. Take a look 
at 
+the README in that sample and you will see you need the following commands
+
+cd holder-ws-reference
+ant run
+
+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-reference sample as Maven includes a simple ping test to make sure that the
+service is available
+
+cd holder-ws-service
+mvn
+
+You should see the following output from the test phase.
+-------------------------------------------------------
+ T E S T S
+-------------------------------------------------------
+Running org.example.orderservice.OrderServiceTestCase
+Jan 21, 2009 9:31:11 AM org.apache.tuscany.sca.node.impl.NodeImpl <init>
+INFO: Creating node: META-INF/sca-deployables/orderws.composite
+Jan 21, 2009 9:31:13 AM org.apache.tuscany.sca.node.impl.NodeImpl configureNode
+INFO: Loading contribution: 
file:/E:/t/branches/sca-java-1.x/samples/holder-ws-webservice/target/classes/
+Jan 21, 2009 9:31:14 AM org.apache.tuscany.sca.node.impl.NodeImpl configureNode
+INFO: Loading composite: 
file:/E:/t/branches/sca-java-1.x/samples/holder-ws-webservice/target/classes/META-INF/sca-deployables/orderws.composite
+Jan 21, 2009 9:31:14 AM org.apache.tuscany.sca.node.impl.NodeImpl start
+INFO: Starting node: META-INF/sca-deployables/orderws.composite
+- No JMS connection factories are defined.Will not listen for any JMS messages
+Jan 21, 2009 9:31:15 AM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/6.0.14
+Jan 21, 2009 9:31:15 AM org.apache.catalina.startup.ContextConfig 
defaultWebConfig
+INFO: No default web.xml
+Jan 21, 2009 9:31:15 AM org.apache.coyote.http11.Http11Protocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8085
+Jan 21, 2009 9:31:15 AM org.apache.coyote.http11.Http11Protocol start
+INFO: Starting Coyote HTTP/1.1 on http-8085
+- No JMS connection factories are defined.Will not listen for any JMS messages
+Jan 21, 2009 9:31:15 AM org.apache.tuscany.sca.http.tomcat.TomcatServer 
addServletMapping
+INFO: Added Servlet mapping: http://T602010:8085/OrderService
+>>> Order 
submitted=Order[customerId=cust1234,orderId=0,total=50.0,status=Created]
+>>> OrderService.reviewOrder 
return=Order[customerId=cust1234,orderId=0,total=50.0,status=Approved]
+>>> Order 
returned=Order[customerId=cust1234,orderId=0,total=50.0,status=Approved]
+Jan 21, 2009 9:31:16 AM org.apache.tuscany.sca.node.impl.NodeImpl stop
+INFO: Stopping node: META-INF/sca-deployables/orderws.composite
+Jan 21, 2009 9:31:17 AM org.apache.tuscany.sca.http.tomcat.TomcatServer 
removeServletMapping
+INFO: Removed Servlet mapping: http://T602010:8085/OrderService
+Jan 21, 2009 9:31:17 AM org.apache.coyote.http11.Http11Protocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8085
+
+Note the console output with ">>>" prefix. This shows that an order was 
submitted in
+the "Created" state, handled by the OrderService reviewOrder method, and 
returned in
+the "Approved" state. This shows that the Junit test cases have run 
successfully. 

Added: tuscany/branches/sca-java-1.x/samples/holder-ws-service/build.xml
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/samples/holder-ws-service/build.xml?rev=745207&view=auto
==============================================================================
--- tuscany/branches/sca-java-1.x/samples/holder-ws-service/build.xml (added)
+++ tuscany/branches/sca-java-1.x/samples/holder-ws-service/build.xml Tue Feb 
17 19:28:56 2009
@@ -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.    
+-->
+<project name="holder-ws-service" default="compile">
+    <property name="test.class" 
value="org.example.orderservice.OrderServiceTestCase" />
+       <property name="test.jar"   value="sample-holder-ws-service.jar" />
+       
+    <target name="init">
+        <mkdir dir="target/classes"/>
+    </target>
+       
+    <target name="compile" depends="init">
+        <javac srcdir="src/main/java"
+               destdir="target/classes"
+               debug="on"
+               source="1.5"
+               target="1.5">
+            <classpath>
+               <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
+            </classpath>
+        </javac> 
+        <copy todir="target/classes">
+            <fileset dir="src/main/resources"/>
+        </copy>
+        <jar destfile="target/${test.jar}" basedir="target/classes">
+            <manifest>
+                <attribute name="Main-Class" value="${test.class}" /> 
+            </manifest>
+        </jar>         
+    </target>  
+       
+    <target name="run-classes">
+        <java classname="${test.class}"
+              fork="true">
+            <classpath>
+                <pathelement path="target/classes"/>
+               <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
+            </classpath>
+        </java>
+    </target>
+       
+    <target name="run">
+        <java classname="${test.class}"
+              fork="true">
+            <classpath>
+                <pathelement path="target/${test.jar}"/>
+               <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
+            </classpath>
+        </java>        
+    </target>
+       
+    <target name="clean">
+        <delete quiet="true" includeemptydirs="true">
+            <fileset dir="target"/>
+        </delete>
+    </target>
+</project>

Propchange: tuscany/branches/sca-java-1.x/samples/holder-ws-service/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/branches/sca-java-1.x/samples/holder-ws-service/build.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

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

Propchange: tuscany/branches/sca-java-1.x/samples/holder-ws-service/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/branches/sca-java-1.x/samples/holder-ws-service/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ObjectFactory.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ObjectFactory.java?rev=745207&view=auto
==============================================================================
--- 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ObjectFactory.java
 (added)
+++ 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ObjectFactory.java
 Tue Feb 17 19:28:56 2009
@@ -0,0 +1,56 @@
+
+package org.example.orderservice;
+
+import javax.xml.bind.annotation.XmlRegistry;
+
+
+/**
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the org.example.orderservice package. 
+ * <p>An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
+ * provided in this class.
+ * 
+ */
+...@xmlregistry
+public class ObjectFactory {
+
+
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of 
schema derived classes for package: org.example.orderservice
+     * 
+     */
+    public ObjectFactory() {
+    }
+
+    /**
+     * Create an instance of {...@link ReviewOrderResponse }
+     * 
+     */
+    public ReviewOrderResponse createReviewOrderResponse() {
+        return new ReviewOrderResponse();
+    }
+
+    /**
+     * Create an instance of {...@link Order }
+     * 
+     */
+    public Order createOrder() {
+        return new Order();
+    }
+
+    /**
+     * Create an instance of {...@link ReviewOrder }
+     * 
+     */
+    public ReviewOrder createReviewOrder() {
+        return new ReviewOrder();
+    }
+
+}

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ObjectFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ObjectFactory.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/Order.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/Order.java?rev=745207&view=auto
==============================================================================
--- 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/Order.java
 (added)
+++ 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/Order.java
 Tue Feb 17 19:28:56 2009
@@ -0,0 +1,129 @@
+
+package org.example.orderservice;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for order complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained 
within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="order">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType";>
+ *       &lt;sequence>
+ *         &lt;element name="customerId" 
type="{http://www.w3.org/2001/XMLSchema}string"; minOccurs="0"/>
+ *         &lt;element name="status" 
type="{http://www.example.org/OrderService/}status"; minOccurs="0"/>
+ *         &lt;element name="total" 
type="{http://www.w3.org/2001/XMLSchema}double"/>
+ *         &lt;element name="orderId" 
type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+...@xmlaccessortype(XmlAccessType.FIELD)
+...@xmltype(name = "order", propOrder = {
+    "customerId",
+    "status",
+    "total",
+    "orderId"
+})
+public class Order {
+
+    protected String customerId;
+    protected Status status;
+    protected double total;
+    protected int orderId;
+
+    /**
+     * Gets the value of the customerId property.
+     * 
+     * @return
+     *     possible object is
+     *     {...@link String }
+     *     
+     */
+    public String getCustomerId() {
+        return customerId;
+    }
+
+    /**
+     * Sets the value of the customerId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {...@link String }
+     *     
+     */
+    public void setCustomerId(String value) {
+        this.customerId = value;
+    }
+
+    /**
+     * Gets the value of the status property.
+     * 
+     * @return
+     *     possible object is
+     *     {...@link Status }
+     *     
+     */
+    public Status getStatus() {
+        return status;
+    }
+
+    /**
+     * Sets the value of the status property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {...@link Status }
+     *     
+     */
+    public void setStatus(Status value) {
+        this.status = value;
+    }
+
+    /**
+     * Gets the value of the total property.
+     * 
+     */
+    public double getTotal() {
+        return total;
+    }
+
+    /**
+     * Sets the value of the total property.
+     * 
+     */
+    public void setTotal(double value) {
+        this.total = value;
+    }
+
+    /**
+     * Gets the value of the orderId property.
+     * 
+     */
+    public int getOrderId() {
+        return orderId;
+    }
+
+    /**
+     * Sets the value of the orderId property.
+     * 
+     */
+    public void setOrderId(int value) {
+        this.orderId = value;
+    }
+
+    // Added manually from wsimport generated class to improve debugging.
+    public String toString() {
+        return "Order[customerId=" + customerId + ",orderId=" + orderId + 
",total=" + total + ",status=" + status.value() + "]";
+    }
+}

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/Order.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/Order.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderService.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderService.java?rev=745207&view=auto
==============================================================================
--- 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderService.java
 (added)
+++ 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderService.java
 Tue Feb 17 19:28:56 2009
@@ -0,0 +1,37 @@
+
+package org.example.orderservice;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.ws.Holder;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1 in JDK 6
+ * Generated source version: 2.1
+ * 
+ */
+...@webservice(name = "OrderService", targetNamespace = 
"http://www.example.org/OrderService/";)
+...@xmlseealso({
+    ObjectFactory.class
+})
+public interface OrderService {
+
+
+    /**
+     * 
+     * @param myData
+     */
+    @WebMethod(action = "http://www.example.org/OrderService/reviewOrder";)
+    @RequestWrapper(localName = "reviewOrder", targetNamespace = 
"http://www.example.org/OrderService/";, className = 
"org.example.orderservice.ReviewOrder")
+    @ResponseWrapper(localName = "reviewOrderResponse", targetNamespace = 
"http://www.example.org/OrderService/";, className = 
"org.example.orderservice.ReviewOrderResponse")
+    public void reviewOrder(
+        @WebParam(name = "myData", targetNamespace = "", mode = 
WebParam.Mode.INOUT)
+        Holder<Order> myData);
+
+}

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderServiceImpl.java?rev=745207&view=auto
==============================================================================
--- 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderServiceImpl.java
 (added)
+++ 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderServiceImpl.java
 Tue Feb 17 19:28:56 2009
@@ -0,0 +1,65 @@
+/*
+ * 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 org.example.orderservice;
+
+// import org.osoa.sca.annotations.Service;
+import java.util.Random;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.xml.ws.Holder;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+/**
+ * This class implements the OrderService service.
+ */
+// @Service(OrderService.class)
+public class OrderServiceImpl implements OrderService {
+
+    /** This dummy implementation approves or rejects orders:
+     * < 100 - always approved.
+     * 100-1100 - randomly approved. Probability = (1100 - amount)/10
+     * >1100 - always rejected.
+     */
+    // public Order reviewOrder(Order order) {
+    @WebMethod(action = "http://www.example.org/OrderService/reviewOrder";)
+    @RequestWrapper(localName = "reviewOrder", targetNamespace = 
"http://www.example.org/OrderService/";, className = 
"org.example.orderservice.ReviewOrder")
+    @ResponseWrapper(localName = "reviewOrderResponse", targetNamespace = 
"http://www.example.org/OrderService/";, className = 
"org.example.orderservice.ReviewOrderResponse")
+    public void reviewOrder(
+        @WebParam(name = "myData", targetNamespace = "", mode = 
WebParam.Mode.INOUT)
+        Holder<Order> myData) {
+        Order order = myData.value;
+        double total = order.getTotal();
+        if ( total < 100.0 ) {
+            order.setStatus( Status.APPROVED );
+        } else if ( total > 1100.0 ) {
+            order.setStatus( Status.REJECTED );
+        } else {
+            int probability = (int) ((-100.0 + total) / 10.0);
+            Random approver = new Random();
+            if ( approver.nextInt( 100 ) < probability )
+                order.setStatus( Status.APPROVED );
+            else
+                order.setStatus( Status.REJECTED );
+        }
+        System.out.println( ">>> OrderService.reviewOrder return=" + order );
+        // return order;
+    }
+}

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderServiceImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderServiceImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderService_Service.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderService_Service.java?rev=745207&view=auto
==============================================================================
--- 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderService_Service.java
 (added)
+++ 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderService_Service.java
 Tue Feb 17 19:28:56 2009
@@ -0,0 +1,66 @@
+
+package org.example.orderservice;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1 in JDK 6
+ * Generated source version: 2.1
+ * 
+ */
+...@webserviceclient(name = "OrderService", targetNamespace = 
"http://www.example.org/OrderService/";, wsdlLocation = 
"META-INF/sca-deployables/orderservice.wsdl")
+public class OrderService_Service
+    extends Service
+{
+
+    private final static URL ORDERSERVICE_WSDL_LOCATION;
+
+    static {
+        URL url = null;
+        try {
+            url = new URL("META-INF/sca-deployables/orderservice.wsdl");
+        } catch (MalformedURLException e) {
+            e.printStackTrace();
+        }
+        ORDERSERVICE_WSDL_LOCATION = url;
+    }
+
+    public OrderService_Service(URL wsdlLocation, QName serviceName) {
+        super(wsdlLocation, serviceName);
+    }
+
+    public OrderService_Service() {
+        super(ORDERSERVICE_WSDL_LOCATION, new 
QName("http://www.example.org/OrderService/";, "OrderService"));
+    }
+
+    /**
+     * 
+     * @return
+     *     returns OrderService
+     */
+    @WebEndpoint(name = "OrderServiceSOAP")
+    public OrderService getOrderServiceSOAP() {
+        return (OrderService)super.getPort(new 
QName("http://www.example.org/OrderService/";, "OrderServiceSOAP"), 
OrderService.class);
+    }
+
+    /**
+     * 
+     * @param features
+     *     A list of {...@link javax.xml.ws.WebServiceFeature} to configure on 
the proxy.  Supported features not in the <code>features</code> parameter will 
have their default values.
+     * @return
+     *     returns OrderService
+     */
+    @WebEndpoint(name = "OrderServiceSOAP")
+    public OrderService getOrderServiceSOAP(WebServiceFeature... features) {
+        return (OrderService)super.getPort(new 
QName("http://www.example.org/OrderService/";, "OrderServiceSOAP"), 
OrderService.class, features);
+    }
+
+}

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderService_Service.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/OrderService_Service.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ReviewOrder.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ReviewOrder.java?rev=745207&view=auto
==============================================================================
--- 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ReviewOrder.java
 (added)
+++ 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ReviewOrder.java
 Tue Feb 17 19:28:56 2009
@@ -0,0 +1,64 @@
+
+package org.example.orderservice;
+
+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;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained 
within this class.
+ * 
+ * <pre>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType";>
+ *       &lt;sequence>
+ *         &lt;element name="myData" 
type="{http://www.example.org/OrderService/}order"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+...@xmlaccessortype(XmlAccessType.FIELD)
+...@xmltype(name = "", propOrder = {
+    "myData"
+})
+...@xmlrootelement(name = "reviewOrder")
+public class ReviewOrder {
+
+    @XmlElement(required = true)
+    protected Order myData;
+
+    /**
+     * Gets the value of the myData property.
+     * 
+     * @return
+     *     possible object is
+     *     {...@link Order }
+     *     
+     */
+    public Order getMyData() {
+        return myData;
+    }
+
+    /**
+     * Sets the value of the myData property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {...@link Order }
+     *     
+     */
+    public void setMyData(Order value) {
+        this.myData = value;
+    }
+
+}

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ReviewOrder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ReviewOrder.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ReviewOrderResponse.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ReviewOrderResponse.java?rev=745207&view=auto
==============================================================================
--- 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ReviewOrderResponse.java
 (added)
+++ 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ReviewOrderResponse.java
 Tue Feb 17 19:28:56 2009
@@ -0,0 +1,64 @@
+
+package org.example.orderservice;
+
+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;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained 
within this class.
+ * 
+ * <pre>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType";>
+ *       &lt;sequence>
+ *         &lt;element name="myData" 
type="{http://www.example.org/OrderService/}order"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+...@xmlaccessortype(XmlAccessType.FIELD)
+...@xmltype(name = "", propOrder = {
+    "myData"
+})
+...@xmlrootelement(name = "reviewOrderResponse")
+public class ReviewOrderResponse {
+
+    @XmlElement(required = true)
+    protected Order myData;
+
+    /**
+     * Gets the value of the myData property.
+     * 
+     * @return
+     *     possible object is
+     *     {...@link Order }
+     *     
+     */
+    public Order getMyData() {
+        return myData;
+    }
+
+    /**
+     * Sets the value of the myData property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {...@link Order }
+     *     
+     */
+    public void setMyData(Order value) {
+        this.myData = value;
+    }
+
+}

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ReviewOrderResponse.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/ReviewOrderResponse.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/Status.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/Status.java?rev=745207&view=auto
==============================================================================
--- 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/Status.java
 (added)
+++ 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/Status.java
 Tue Feb 17 19:28:56 2009
@@ -0,0 +1,57 @@
+
+package org.example.orderservice;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for status.
+ * 
+ * <p>The following schema fragment specifies the expected content contained 
within this class.
+ * <p>
+ * <pre>
+ * &lt;simpleType name="status">
+ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string";>
+ *     &lt;enumeration value="Created"/>
+ *     &lt;enumeration value="Submitted"/>
+ *     &lt;enumeration value="Approved"/>
+ *     &lt;enumeration value="Rejected"/>
+ *   &lt;/restriction>
+ * &lt;/simpleType>
+ * </pre>
+ * 
+ */
+...@xmltype(name = "status")
+...@xmlenum
+public enum Status {
+
+    @XmlEnumValue("Created")
+    CREATED("Created"),
+    @XmlEnumValue("Submitted")
+    SUBMITTED("Submitted"),
+    @XmlEnumValue("Approved")
+    APPROVED("Approved"),
+    @XmlEnumValue("Rejected")
+    REJECTED("Rejected");
+    private final String value;
+
+    Status(String v) {
+        value = v;
+    }
+
+    public String value() {
+        return value;
+    }
+
+    public static Status fromValue(String v) {
+        for (Status c: Status.values()) {
+            if (c.value.equals(v)) {
+                return c;
+            }
+        }
+        throw new IllegalArgumentException(v);
+    }
+
+}

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/Status.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/Status.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/package-info.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/package-info.java?rev=745207&view=auto
==============================================================================
--- 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/package-info.java
 (added)
+++ 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/package-info.java
 Tue Feb 17 19:28:56 2009
@@ -0,0 +1,2 @@
[email protected](namespace = 
"http://www.example.org/OrderService/";)
+package org.example.orderservice;

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/package-info.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/java/org/example/orderservice/package-info.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/resources/META-INF/sca-deployables/orderws.composite
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/resources/META-INF/sca-deployables/orderws.composite?rev=745207&view=auto
==============================================================================
--- 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/resources/META-INF/sca-deployables/orderws.composite
 (added)
+++ 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/resources/META-INF/sca-deployables/orderws.composite
 Tue Feb 17 19:28:56 2009
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    * Licensed to the Apache Software Foundation (ASF) under one
+    * or more contributor license agreements.  See the NOTICE file
+    * distributed with this work for additional information
+    * regarding copyright ownership.  The ASF licenses this file
+    * to you under the Apache License, Version 2.0 (the
+    * "License"); you may not use this file except in compliance
+    * with the License.  You may obtain a copy of the License at
+    * 
+    *   http://www.apache.org/licenses/LICENSE-2.0
+    * 
+    * Unless required by applicable law or agreed to in writing,
+    * software distributed under the License is distributed on an
+    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    * KIND, either express or implied.  See the License for the
+    * specific language governing permissions and limitations
+    * under the License.    
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
+       targetNamespace="http://orderservice";
+       xmlns:hw="http://orderservice";
+    name="orderws">
+
+    <component name="OrderServiceComponent">
+        <implementation.java class="org.example.orderservice.OrderServiceImpl" 
/>
+           <service name="OrderService">
+               <interface.wsdl 
interface="http://www.example.org/OrderService/#wsdl.interface(OrderService)" />
+               <binding.ws uri="http://localhost:8085/OrderService"/>
+           </service>
+    </component>
+
+</composite>

Added: 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/resources/wsdl/orderservice.wsdl
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/resources/wsdl/orderservice.wsdl?rev=745207&view=auto
==============================================================================
--- 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/resources/wsdl/orderservice.wsdl
 (added)
+++ 
tuscany/branches/sca-java-1.x/samples/holder-ws-service/src/main/resources/wsdl/orderservice.wsdl
 Tue Feb 17 19:28:56 2009
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:tns="http://www.example.org/OrderService/"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; name="OrderService" 
targetNamespace="http://www.example.org/OrderService/";>
+    <wsdl:types>
+        <xsd:schema targetNamespace="http://www.example.org/OrderService/";>
+            <xsd:complexType name="order">
+                <xsd:sequence>
+                    <xsd:element name="customerId" type="xsd:string"    
minOccurs="0" />
+                    <xsd:element name="status" type="tns:status" minOccurs="0" 
/>
+                    <xsd:element name="total" type="xsd:double" />
+                    <xsd:element name="orderId" type="xsd:int" />
+                </xsd:sequence>
+            </xsd:complexType>
+
+            <xsd:simpleType name="status">
+                <xsd:restriction base="xsd:string">
+                    <xsd:enumeration value="Created" />
+                    <xsd:enumeration value="Submitted" />
+                    <xsd:enumeration value="Approved" />
+                    <xsd:enumeration value="Rejected" />
+                </xsd:restriction>
+            </xsd:simpleType>
+
+            <xsd:element name="reviewOrder">
+                <xsd:complexType>
+                    <xsd:sequence>
+                        <xsd:element name="myData" type="tns:order"
+                            minOccurs="1" maxOccurs="1" />
+                    </xsd:sequence>
+                </xsd:complexType>
+            </xsd:element>
+            <xsd:element name="reviewOrderResponse">
+                <xsd:complexType>
+                    <xsd:sequence>
+                        <xsd:element name="myData" type="tns:order"
+                            minOccurs="1" maxOccurs="1" />
+                    </xsd:sequence>
+                </xsd:complexType>
+            </xsd:element>
+
+        </xsd:schema>
+    </wsdl:types>
+    <wsdl:message name="reviewOrderRequest">
+        <wsdl:part element="tns:reviewOrder" name="myParameters"/>
+    </wsdl:message>
+    <wsdl:message name="reviewOrderResponse">
+        <wsdl:part element="tns:reviewOrderResponse" name="myResult"/>
+    </wsdl:message>
+    <wsdl:portType name="OrderService">
+        <wsdl:operation name="reviewOrder">
+            <wsdl:input message="tns:reviewOrderRequest"/>
+            <wsdl:output message="tns:reviewOrderResponse"/>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="OrderServiceSOAP" type="tns:OrderService">
+        <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="reviewOrder">
+            <soap:operation 
soapAction="http://www.example.org/OrderService/reviewOrder"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="OrderService">
+        <wsdl:port binding="tns:OrderServiceSOAP" name="OrderServiceSOAP">
+            <soap:address location="http://www.example.org/"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>


Reply via email to