You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ek...@apache.org on 2005/06/14 23:01:27 UTC

svn commit: r190655 [2/2] - in /incubator/beehive/trunk/system-controls: src/webservice/org/apache/beehive/controls/system/webservice/generator/ test/src/webservice/jcxgen-tests/tests/org/apache/beehive/controls/system/webservice/units/jcxgen/ test/src/webservice/schemas/ test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/doclitbare/ test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/rpclit/ test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/ test/src/webservice/servers/webapp/WEB-INF/webservices/web/complex2/ test/src/webservice/servers/webapp/WEB-INF/webservices/web/complex3/ test/src/webservice/servers/webapp/WEB-INF/webservices/web/webparam/ test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/ test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/dlwservice/

Added: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/rpclit/StateType.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/rpclit/StateType.java?rev=190655&view=auto
==============================================================================
--- incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/rpclit/StateType.java (added)
+++ incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/rpclit/StateType.java Tue Jun 14 14:01:25 2005
@@ -0,0 +1,33 @@
+package org.apache.beehive.rpclit;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation
+ *
+ * Licensed 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.
+ *
+ * $Header:$
+ */
+
+public class StateType implements java.io.Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private String state;
+   
+    public StateType() { }
+
+    public StateType(String state) { this.state = state; }
+
+    public String getState() { return state; }
+    public void setState(String state) { this.state = state; }
+}

Propchange: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/rpclit/StateType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/Address.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/Address.java?rev=190655&view=auto
==============================================================================
--- incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/Address.java (added)
+++ incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/Address.java Tue Jun 14 14:01:25 2005
@@ -0,0 +1,61 @@
+package org.apache.beehive.webparam;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation
+ *
+ * Licensed 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.
+ *
+ * $Header:$
+ */
+
+public class Address implements java.io.Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private int streetNum;
+    private String streetName;
+    private String city;
+    private StateType state;
+    private int zip;
+    private Phone phoneNumber;
+
+    public Address() { }
+
+    public Address(int streetNum, String streetName, String city, StateType state, int zip, Phone phoneNumber) {
+
+        this.streetNum = streetNum;
+        this.streetName = streetName;
+        this.city = city;
+        this.state = state;
+        this.zip = zip;
+        this.phoneNumber = phoneNumber;
+    }
+
+    public String getCity() { return city; }
+    public void setCity(String city) { this.city = city; }
+
+    public Phone getPhoneNumber() { return phoneNumber; }
+    public void setPhoneNumber(Phone phoneNumber) { this.phoneNumber = phoneNumber; }
+
+    public StateType getState() { return state; }
+    public void setState(StateType state) { this.state = state; }
+
+    public String getStreetName() { return streetName; }
+    public void setStreetName(String streetName) { this.streetName = streetName; }
+
+    public int getStreetNum() { return streetNum; }
+    public void setStreetNum(int streetNum) { this.streetNum = streetNum; }
+
+    public int getZip() { return zip; }
+    public void setZip(int zip) { this.zip = zip; }
+}

Propchange: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/Address.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/AddressException.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/AddressException.java?rev=190655&view=auto
==============================================================================
--- incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/AddressException.java (added)
+++ incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/AddressException.java Tue Jun 14 14:01:25 2005
@@ -0,0 +1,27 @@
+package org.apache.beehive.webparam;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation
+ *
+ * Licensed 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.
+ *
+ * $Header:$
+ */
+
+public class AddressException extends Exception implements java.io.Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    public AddressException() { }
+    public AddressException(String msg) { super(msg); }
+}

Propchange: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/AddressException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/AddressHolder.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/AddressHolder.java?rev=190655&view=auto
==============================================================================
--- incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/AddressHolder.java (added)
+++ incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/AddressHolder.java Tue Jun 14 14:01:25 2005
@@ -0,0 +1,26 @@
+package org.apache.beehive.webparam;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation
+ *
+ * Licensed 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.
+ *
+ * $Header:$
+ */
+
+public class AddressHolder implements javax.xml.rpc.holders.Holder, java.io.Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    public Address value;
+}

Propchange: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/AddressHolder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/MessageHandler.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/MessageHandler.java?rev=190655&view=auto
==============================================================================
--- incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/MessageHandler.java (added)
+++ incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/MessageHandler.java Tue Jun 14 14:01:25 2005
@@ -0,0 +1,90 @@
+package org.apache.beehive.webparam;
+
+/*
+ * Copyright 2004, 2005 The Apache Software Foundation
+ *
+ * Licensed 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.
+ *
+ * $Header:$Factory
+ */
+
+import javax.xml.namespace.QName;
+
+import javax.xml.rpc.handler.Handler;
+import javax.xml.rpc.handler.HandlerInfo;
+import javax.xml.rpc.handler.MessageContext;
+import javax.xml.rpc.handler.soap.SOAPMessageContext;
+
+import javax.xml.soap.SOAPMessage;
+
+public class MessageHandler implements Handler {
+    
+    private static final String ORIGINAL = "original";
+    private static final String MODIFIED = "ORIGINAL";
+
+    private HandlerInfo info;
+    private String modified;
+    private String original;
+
+    public void init(HandlerInfo handlerInfo) {
+
+        info = handlerInfo;
+        
+        original = (String) info.getHandlerConfig().get("original");
+        if (null == original || 0 == original.length()) {
+            original = ORIGINAL;
+        }
+        
+        modified = (String) info.getHandlerConfig().get("modified");
+        if (null == modified || 0 == modified.length()) {
+            modified = MODIFIED;
+        }
+    }
+
+    public void destroy() {
+        // empty
+    }
+
+    public QName[] getHeaders() {
+        return info.getHeaders();
+    }
+
+    public boolean handleRequest(MessageContext mc) {
+        boolean result = false;
+        try {
+            System.out.println("*** MessageHandler: handling message; initialized with <original>=" + original + ", <modified>=" + modified);
+            SOAPMessage message = ((SOAPMessageContext) mc).getMessage();
+            String value = message.getSOAPBody().getFirstChild().getFirstChild().getFirstChild().getNodeValue();
+            if ((null != value) && value.equals(original)) {
+                message.getSOAPBody().getFirstChild().getFirstChild().getFirstChild().setNodeValue(modified);
+                System.out.println("*** Replacing: " + original + " with: " + modified);
+            } 
+            else {
+                System.out.println("*** Not replacing: " + original);
+            }
+            result = true;
+        }
+        catch (Throwable t) {
+            t.printStackTrace();
+        }
+        return result;
+    }
+
+    public boolean handleResponse(MessageContext mc) {
+        return true;
+    }
+
+    public boolean handleFault(MessageContext mc) {
+        return true;
+    }
+}

Propchange: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/MessageHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/Phone.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/Phone.java?rev=190655&view=auto
==============================================================================
--- incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/Phone.java (added)
+++ incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/Phone.java Tue Jun 14 14:01:25 2005
@@ -0,0 +1,46 @@
+package org.apache.beehive.webparam;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation
+ *
+ * Licensed 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.
+ *
+ * $Header:$
+ */
+
+public class Phone implements java.io.Serializable {
+
+    private static final long serialVersionUID = 1L;
+    
+    private int areaCode;
+    private String exchange;
+    private String number;
+
+    public Phone() { super(); }
+
+    public Phone(int areaCode, String exchange, String number) {
+
+        this.areaCode = areaCode;
+        this.exchange = exchange;
+        this.number = number;
+    }
+
+    public int getAreaCode() { return areaCode; }
+    public void setAreaCode(int areaCode) { this.areaCode = areaCode; }
+
+    public String getExchange() { return exchange; }
+    public void setExchange(String exchange) { this.exchange = exchange; }
+
+    public String getNumber() { return number; }
+    public void setNumber(String number) { this.number = number; }
+}

Propchange: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/Phone.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/StateType.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/StateType.java?rev=190655&view=auto
==============================================================================
--- incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/StateType.java (added)
+++ incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/StateType.java Tue Jun 14 14:01:25 2005
@@ -0,0 +1,33 @@
+package org.apache.beehive.webparam;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation
+ *
+ * Licensed 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.
+ *
+ * $Header:$
+ */
+
+public class StateType implements java.io.Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private String state;
+   
+    public StateType() { }
+
+    public StateType(String state) { this.state = state; }
+
+    public String getState() { return state; }
+    public void setState(String state) { this.state = state; }
+}

Propchange: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/src/org/apache/beehive/webparam/StateType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/complex2/DocumentLiteralBareSample.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/complex2/DocumentLiteralBareSample.java?rev=190655&view=auto
==============================================================================
--- incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/complex2/DocumentLiteralBareSample.java (added)
+++ incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/complex2/DocumentLiteralBareSample.java Tue Jun 14 14:01:25 2005
@@ -0,0 +1,133 @@
+package web.complex2;
+
+/*
+ * Copyright 2004, 2005 The Apache Software Foundation
+ *
+ * Licensed 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.
+ *
+ * $Header:$Factory
+ */
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+import org.apache.beehive.doclitbare.Address;
+import org.apache.beehive.doclitbare.AddressHolder;
+import org.apache.beehive.doclitbare.AddressException;
+import org.apache.beehive.doclitbare.Phone;
+import org.apache.beehive.doclitbare.StateType;
+
+/**
+ * This class illustrates the use of complex types with style/use "DOC/LITERAL" (bare).
+ */
+@WebService
+@SOAPBinding(
+    style=SOAPBinding.Style.DOCUMENT,
+    use=SOAPBinding.Use.LITERAL,
+    parameterStyle=SOAPBinding.ParameterStyle.BARE
+)        
+public class DocumentLiteralBareSample {
+
+    /**
+     * Returns a complex (address) object that was passed in as IN parameter in the message body.
+     * @param address The complex object to be returned.
+     * @return The complex object that was passed in as an IN parameter.
+     */
+    @WebMethod
+    @WebResult(name="ReturnAddressFromBodyResult")
+    public Address returnAddressFromBody(@WebParam(name="in_param_body", mode=WebParam.Mode.IN) Address address) {
+        return address;
+    }
+
+    /**
+     * Returns a complex (address) object that was passed in as IN parameter in the message header.
+     * @param object The complex object to be modified.
+     * @return The complex object that was passed in as an IN parameter.
+     */
+    @WebMethod
+    @WebResult(name="ReturnAddressFromHeaderResult")
+    public Address returnAddressFromHeader(@WebParam(name="in_param_header", header=true, mode=WebParam.Mode.IN) Address address) {
+        return address;
+    }
+
+    /**
+     * Creates a new complex (address) object and returns that object as an OUT parameter that is encoded in the message body.
+     * @param addressHolder The holder of the complex object to be returned.
+     * @return An operational result (always 0).
+     */
+    @WebMethod
+    @WebResult(name="ReturnCreateAddressInBodyResult")
+    public int createAddressInBody(@WebParam(name="out_param_body", mode=WebParam.Mode.OUT) AddressHolder addressHolder) {
+        StateType state = new StateType("WA");
+        Phone phoneNumber = new Phone(425, "555", "1234");
+        Address address = new Address(10230, "NE Points Drive", "Kirkland", state, 98008, phoneNumber);
+        addressHolder.value = address;
+        return 0;
+    }
+
+    /**
+     * Creates a new complex (address) object and returns that object as an OUT parameter that is encoded in the message header.
+     * @param addressHolder The holder of the complex object to be returned.
+     * @return An operational result (always 0).
+     */
+    @WebMethod
+    @WebResult(name="ReturnCreateAddressInHeaderResult")
+    public int createAddressInHeader(@WebParam(name="out_param_header", header=true, mode=WebParam.Mode.OUT) AddressHolder addressHolder) {
+        StateType state = new StateType("WA");
+        Phone phoneNumber = new Phone(425, "555", "1234");
+        Address address = new Address(10230, "NE Points Drive", "Kirkland", state, 98008, phoneNumber);
+        addressHolder.value = address;
+        return 0;
+    }
+
+    /**
+     * Modifies a complex (address) INOUT parameter that is encoded in the message body.
+     * @param addressHolder The object to be modified.
+     * @return An operational result (always 0).
+     */
+    @WebMethod
+    @WebResult(name="ChangeAddressInBodyResult")
+    public int changeAddressInBody(@WebParam(name="inout_param_body", mode=WebParam.Mode.INOUT) AddressHolder addressHolder) {
+        Address address = addressHolder.value;
+        address.setZip(address.getZip() + 1);
+        return 0;
+    }
+
+    /**
+     * Modifies a complex (address) INOUT parameter that is encoded in the message header.
+     * @param addressHolder The object to be modified.
+     * @return An operational result (always 0).
+     */
+    @WebMethod
+    @WebResult(name="ChangeAddressInHeaderResult")
+    public int changeAddressInHeader(@WebParam(name="inout_param_header", header=true, mode=WebParam.Mode.INOUT) AddressHolder addressHolder) {
+        Address address = addressHolder.value;
+        address.setZip(address.getZip() + 1);
+        return 0;
+    }
+
+    /**
+     * Throws an AddressException.
+     * @param value Ignored (only printed in message).
+     * @return An operational result (never returned).
+     * @throws AddressException Always thrown.
+     */
+    @WebMethod
+    @WebResult(name="ThrowAddressExceptionResult")
+    public int throwAddressException(@WebParam(name="in_param") int value) throws AddressException {
+        throw new AddressException("This is a sample message for:\n\tAddressException; input value=\"" + value + "\"");
+    }
+}

Propchange: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/complex2/DocumentLiteralBareSample.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/complex3/RpcLiteralSample.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/complex3/RpcLiteralSample.java?rev=190655&view=auto
==============================================================================
--- incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/complex3/RpcLiteralSample.java (added)
+++ incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/complex3/RpcLiteralSample.java Tue Jun 14 14:01:25 2005
@@ -0,0 +1,133 @@
+package web.complex3;
+
+/*
+ * Copyright 2004, 2005 The Apache Software Foundation
+ *
+ * Licensed 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.
+ *
+ * $Header:$Factory
+ */
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+import org.apache.beehive.rpclit.Address;
+import org.apache.beehive.rpclit.AddressHolder;
+import org.apache.beehive.rpclit.AddressException;
+import org.apache.beehive.rpclit.Phone;
+import org.apache.beehive.rpclit.StateType;
+
+/**
+ * This class illustrates the use of complex types with style/use "RPC/LITERAL".
+ */
+//@WebService( targetNamespace="http://beehive.apache.org/web/webservice/rpc-examples")
+@WebService()
+@SOAPBinding(
+    style=SOAPBinding.Style.RPC,
+    use=SOAPBinding.Use.LITERAL
+)        
+public class RpcLiteralSample {
+
+    /**
+     * Returns a complex (address) object that was passed in as IN parameter in the message body.
+     * @param address The complex object to be returned.
+     * @return The complex object that was passed in as an IN parameter.
+     */
+    @WebMethod
+    @WebResult(name="ReturnAddressFromBodyResult")
+    public Address returnAddressFromBody(@WebParam(name="in_param_body", mode=WebParam.Mode.IN) Address address) {
+        return address;
+    }
+
+    /**
+     * Returns a complex (address) object that was passed in as IN parameter in the message header.
+     * @param object The complex object to be modified.
+     * @return The complex object that was passed in as an IN parameter.
+     */
+    @WebMethod
+    @WebResult(name="ReturnAddressFromHeaderResult")
+    public Address returnAddressFromHeader(@WebParam(name="in_param_header", header=true, mode=WebParam.Mode.IN) Address address) {
+        return address;
+    }
+
+    /**
+     * Creates a new complex (address) object and returns that object as an OUT parameter that is encoded in the message body.
+     * @param addressHolder The holder of the complex object to be returned.
+     * @return An operational result (always 0).
+     */
+    @WebMethod
+    @WebResult(name="ReturnCreateAddressInBodyResult")
+    public int createAddressInBody(@WebParam(name="out_param_body", mode=WebParam.Mode.OUT) AddressHolder addressHolder) {
+        StateType state = new StateType("PA");
+        Phone phoneNumber = new Phone(425, "555", "1234");
+        Address address = new Address(10230, "NE Points Drive", "Kirkland", state, 98008, phoneNumber);
+        addressHolder.value = address;
+        return 0;
+    }
+
+    /**
+     * Creates a new complex (address) object and returns that object as an OUT parameter that is encoded in the message header.
+     * @param addressHolder The holder of the complex object to be returned.
+     * @return An operational result (always 0).
+     */
+    @WebMethod
+    @WebResult(name="ReturnCreateAddressInHeaderResult")
+    public int createAddressInHeader(@WebParam(name="out_param_header", header=true, mode=WebParam.Mode.OUT) AddressHolder addressHolder) {
+        StateType state = new StateType("CA");
+        Phone phoneNumber = new Phone(714, "555", "1234");
+        Address address = new Address(1, "some street", "Los Angeles", state, 90210, phoneNumber);
+        addressHolder.value = address;
+        return 0;
+    }
+
+    /**
+     * Modifies a complex (address) INOUT parameter that is encoded in the message body.
+     * @param addressHolder The object to be modified.
+     * @return An operational result (always 0).
+     */
+    @WebMethod
+    @WebResult(name="ChangeAddressInBodyResult")
+    public int changeAddressInBody(@WebParam(name="inout_param_body", mode=WebParam.Mode.INOUT) AddressHolder addressHolder) {
+        Address address = addressHolder.value;
+        address.setZip(address.getZip() + 1);
+        return 0;
+    }
+
+    /**
+     * Modifies a complex (address) INOUT parameter that is encoded in the message header.
+     * @param addressHolder The object to be modified.
+     * @return An operational result (always 0).
+     */
+    @WebMethod
+    @WebResult(name="ChangeAddressInHeaderResult")
+    public int changeAddressInHeader(@WebParam(name="inout_param_header", header=true, mode=WebParam.Mode.INOUT) AddressHolder addressHolder) {
+        Address address = addressHolder.value;
+        address.setZip(address.getZip() + 1);
+        return 0;
+    }
+
+    /**
+     * Throws an AddressException.
+     * @param value Ignored (only printed in message).
+     * @return An operational result (never returned).
+     * @throws AddressException Always thrown.
+     */
+    @WebMethod
+    @WebResult(name="ThrowAddressExceptionResult")
+    public int throwAddressException(@WebParam(name="in_param") int value) throws AddressException {
+        throw new AddressException("This is a sample message for:\n\tAddressException; input value=\"" + value + "\"");
+    }
+}

Propchange: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/complex3/RpcLiteralSample.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/webparam/WebParamDocumentLiteralSample.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/webparam/WebParamDocumentLiteralSample.java?rev=190655&view=auto
==============================================================================
--- incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/webparam/WebParamDocumentLiteralSample.java (added)
+++ incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/webparam/WebParamDocumentLiteralSample.java Tue Jun 14 14:01:25 2005
@@ -0,0 +1,115 @@
+package web.webparam;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation
+ *
+ * Licensed 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.
+ *
+ * $Header:$
+ */
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+import org.apache.beehive.webparam.Address;
+import org.apache.beehive.webparam.AddressHolder;
+import org.apache.beehive.webparam.Phone;
+import org.apache.beehive.webparam.StateType;
+
+@WebService
+public class WebParamDocumentLiteralSample {
+
+    /**
+     * This method shows the encoding of a parameter of simple type in the message body.
+     */
+    @WebMethod
+    public String sayHelloInBody(@WebParam(name="name_in") String name) {
+        return "Hello, " + name + "!";
+    }
+
+    /**
+     * This method shows the encoding of a parameter of simple type in the message header.
+     */
+    @WebMethod
+    public String sayHelloInHeader(@WebParam(name="name_in", header=true) String name) {
+        return "Hello, " + name + "!";
+    }
+    
+    /**
+     * This method shows the encoding of a parameter of complex type in the message body.
+     */
+    @WebMethod
+    public Phone getPhoneNumberInBody(@WebParam(mode=WebParam.Mode.IN) Address address) {
+        return address.getPhoneNumber();
+    }
+    
+    /**
+     * This method shows the encoding of a parameter of complex type in the message header.
+     */
+    @WebMethod
+    public Phone getPhoneNumberInHeader(@WebParam(mode=WebParam.Mode.IN, header=true) Address address) {
+        return address.getPhoneNumber();
+    }
+
+    /**
+     * This method shows the encoding of multiple simple and complex parameters in the message header.
+     */
+    @WebMethod
+    public Phone createPhoneNumberInHeader(
+            @WebParam(name="area_code", header=true) int areaCode, 
+            @WebParam(name="phone_in", header=true) Phone phone
+    ) {
+    	System.out.println("Creating phone number with arguments in the header");
+        return new Phone(areaCode, phone.getExchange(), phone.getNumber());
+    }
+
+    /**
+     * This method shows the encoding of multiple simple and complex parameters in both message body and header.
+     */
+    @WebMethod
+    public Phone createPhoneNumberInBodyHeader(
+            int areaCode,
+            @WebParam(name="phone_in", header=true) Phone phone
+    ) {
+        return new Phone(areaCode, phone.getExchange(), phone.getNumber());
+    }
+    
+        /**
+     * This method shows the encoding of multiple simple and complex parameters in both message body and header.
+     */
+    @WebMethod
+    public Phone createPhoneNumberInBody(
+            int areaCode
+    ) {
+        return new Phone(areaCode, "", "");
+    }
+    
+
+    /**
+     * This method shows the encoding of multiple simple and complex parameters in both message body and header.
+     */
+    @WebMethod
+    public int updatePhoneNumbers(
+            Phone phone,
+            @WebParam(name="address1", header=true, mode=WebParam.Mode.INOUT) AddressHolder addressHolder1,
+            @WebParam(name="address2", header=true, mode=WebParam.Mode.OUT) AddressHolder addressHolder2
+    ) {
+        Phone oldPhone = addressHolder1.value.getPhoneNumber();
+        addressHolder1.value.setPhoneNumber(phone);
+        addressHolder2.value = new Address(5960, "West Las Positas Blvd", "Pleasanton", new StateType("CA"), 94588, oldPhone);
+        
+        return 0;
+    }
+}

Propchange: incubator/beehive/trunk/system-controls/test/src/webservice/servers/webapp/WEB-INF/webservices/web/webparam/WebParamDocumentLiteralSample.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/system-controls/test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/DocLitBareWebServiceTest.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/system-controls/test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/DocLitBareWebServiceTest.java?rev=190655&view=auto
==============================================================================
--- incubator/beehive/trunk/system-controls/test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/DocLitBareWebServiceTest.java (added)
+++ incubator/beehive/trunk/system-controls/test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/DocLitBareWebServiceTest.java Tue Jun 14 14:01:25 2005
@@ -0,0 +1,203 @@
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.controls.system.webservice.units;
+
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import org.apache.beehive.controls.api.bean.Control;
+import org.apache.beehive.controls.system.webservice.units.utils.ControlTestCase;
+import org.apache.beehive.wsm.databinding.GenericHolder;
+import org.apache.log4j.Logger;
+import test.DocumentLiteralBareSampleService;
+
+import javax.xml.rpc.holders.IntHolder;
+
+public class DocLitBareWebServiceTest extends ControlTestCase {
+    static Logger logger = Logger.getLogger(DocLitBareWebServiceTest.class);
+
+    @Control
+    public DocumentLiteralBareSampleService client;
+/*
+    public void testReturnAddressFromBody() throws Exception {
+
+        web.complex2.StateType state = web.complex2.StateType.Factory.newInstance();
+        state.setState("CO");
+
+        web.complex2.Phone phone = web.complex2.Phone.Factory.newInstance();
+        phone.setAreaCode(123);
+        phone.setExchange("bronco");
+        phone.setNilNumber();
+
+        web.complex2.Address addr = web.complex2.Address.Factory.newInstance();
+        addr.setPhoneNumber(phone);
+        addr.setCity("Boulder");
+        addr.setState(state);
+        addr.setStreetNum(123);
+        addr.setStreetName("Fake Street");
+        addr.setZip(123456);
+
+        web.complex2.Address result = client.returnAddressFromBody(addr);
+
+        assertEquals("Boulder", result.getCity());
+        assertEquals("CO", result.getState().getState());
+        assertEquals("Fake Street", result.getStreetName());
+        assertEquals(123, result.getStreetNum());
+        assertEquals(123456, result.getZip());
+
+        web.complex2.Phone phoneResult = result.getPhoneNumber();
+        assertEquals(123, phoneResult.getAreaCode());
+        assertEquals("bronco", phoneResult.getExchange());
+        assertTrue(phoneResult.isNilNumber());
+    }
+
+    public void testReturnAddressFromHeader() throws Exception {
+        web.complex2.StateType state = web.complex2.StateType.Factory.newInstance();
+        state.setState("CA");
+
+        web.complex2.Phone phone = web.complex2.Phone.Factory.newInstance();
+        phone.setAreaCode(123);
+        phone.setExchange("49er");
+        phone.setNilNumber();
+
+        web.complex2.Address addr = web.complex2.Address.Factory.newInstance();
+        addr.setPhoneNumber(phone);
+        addr.setCity("San Jose");
+        addr.setState(state);
+        addr.setStreetNum(123);
+        addr.setStreetName("Fake Street");
+        addr.setZip(654321);
+
+        web.complex2.Address result = client.returnAddressFromHeader(addr);
+
+        assertEquals("San Jose", result.getCity());
+        assertEquals("CA", result.getState().getState());
+        assertEquals("Fake Street", result.getStreetName());
+        assertEquals(123, result.getStreetNum());
+        assertEquals(654321, result.getZip());
+
+        web.complex2.Phone phoneResult = result.getPhoneNumber();
+        assertEquals(123, phoneResult.getAreaCode());
+        assertEquals("49er", phoneResult.getExchange());
+        assertTrue(phoneResult.isNilNumber());
+    }
+
+    public void testCreateAddressInBody() throws Exception {
+        web.complex2.Address addr = web.complex2.Address.Factory.newInstance();
+        GenericHolder gHolder = new GenericHolder(addr);
+        IntHolder iHolder = new IntHolder();
+
+        client.createAddressInBody(gHolder, iHolder);
+
+        assertEquals(9, iHolder.value);
+
+        addr = (web.complex2.Address) gHolder.value;
+        assertEquals("WA", addr.getState().getState());
+        assertEquals(425, addr.getPhoneNumber().getAreaCode());
+        assertEquals("555", addr.getPhoneNumber().getExchange());
+        assertEquals("1234", addr.getPhoneNumber().getNumber());
+        assertEquals(10230, addr.getStreetNum());
+        assertEquals("NE Points Drive", addr.getStreetName());
+        assertEquals("Kirkland", addr.getCity());
+        assertEquals(98008, addr.getZip());
+    }
+
+    public void testCreateAddressInHeader() throws Exception {
+        web.complex2.Address addr = web.complex2.Address.Factory.newInstance();
+        GenericHolder gHolder = new GenericHolder(addr);
+        IntHolder iHolder = new IntHolder();
+
+        client.createAddressInHeader(gHolder, iHolder);
+
+        assertEquals(-1, iHolder.value);
+
+        addr = (web.complex2.Address) gHolder.value;
+        assertEquals("WA", addr.getState().getState());
+        assertEquals(425, addr.getPhoneNumber().getAreaCode());
+        assertEquals("555", addr.getPhoneNumber().getExchange());
+        assertEquals("1234", addr.getPhoneNumber().getNumber());
+        assertEquals(10230, addr.getStreetNum());
+        assertEquals("NE Points Drive", addr.getStreetName());
+        assertEquals("Kirkland", addr.getCity());
+        assertEquals(98008, addr.getZip());
+    }
+
+    public void testChangeAddressInBody() throws Exception {
+        web.complex2.Address addr = web.complex2.Address.Factory.newInstance();
+        addr.setCity("Boulder");
+        addr.setZip(66666);
+
+        GenericHolder gHolder = new GenericHolder(addr);
+        int result = client.changeAddressInBody(gHolder);
+
+        assertEquals(3, result);
+        web.complex2.Address returnAddr = (web.complex2.Address) gHolder.value;
+        assertEquals(addr.getCity(), returnAddr.getCity());
+        assertEquals(addr.getZip() + 1, returnAddr.getZip());
+    }
+
+    public void testChangeAddressInHeader() throws Exception {
+        web.complex2.Address addr = web.complex2.Address.Factory.newInstance();
+        addr.setCity("Louisville");
+        addr.setZip(99999);
+
+        GenericHolder gHolder = new GenericHolder(addr);
+        int result = client.changeAddressInHeader(gHolder);
+
+        assertEquals(4, result);
+        web.complex2.Address returnAddr = (web.complex2.Address) gHolder.value;
+        assertEquals(addr.getCity(), returnAddr.getCity());
+        assertEquals(addr.getZip() + 1, returnAddr.getZip());
+    }
+
+    public void testThrowAddressException()
+        throws Exception {
+
+        try {
+            client.throwAddressException(66);
+        } catch (Exception e) {
+            assertEquals("org.apache.beehive.doclitbare.AddressException: AddressException; input value=\"66\"", e.getMessage());
+            return;
+        }
+        fail("Expected AddressException to be thrown!");
+    }
+*/
+
+    public void testDummy() {
+        /* note, all tests are disabled here until service control bugs are fixed to handle these use cases */
+    }
+
+    public void setUp() throws Exception {
+        try {
+            super.setUp();
+            initializeControls(this);
+            setMyControlObject(client);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static Test suite() {
+        return new TestSuite(DocLitBareWebServiceTest.class);
+    }
+
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(suite());
+    }
+}

Propchange: incubator/beehive/trunk/system-controls/test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/DocLitBareWebServiceTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/system-controls/test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/RpcLitWebServiceTest.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/system-controls/test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/RpcLitWebServiceTest.java?rev=190655&view=auto
==============================================================================
--- incubator/beehive/trunk/system-controls/test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/RpcLitWebServiceTest.java (added)
+++ incubator/beehive/trunk/system-controls/test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/RpcLitWebServiceTest.java Tue Jun 14 14:01:25 2005
@@ -0,0 +1,201 @@
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.controls.system.webservice.units;
+
+import javax.xml.rpc.holders.IntHolder;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import org.apache.beehive.controls.api.bean.Control;
+import org.apache.beehive.controls.system.webservice.units.utils.ControlTestCase;
+import org.apache.beehive.wsm.databinding.GenericHolder;
+import org.apache.log4j.Logger;
+import test.RpcLiteralSampleService;
+
+public class RpcLitWebServiceTest extends ControlTestCase {
+    static Logger logger = Logger.getLogger(RpcLitWebServiceTest.class);
+
+    @Control
+    public RpcLiteralSampleService client;
+/*
+    public void testReturnAddressFromBody() throws Exception {
+
+        web.complex3.StateType state = web.complex3.StateType.Factory.newInstance();
+        state.setState("CO");
+
+        web.complex3.Phone phone = web.complex3.Phone.Factory.newInstance();
+        phone.setAreaCode(123);
+        phone.setExchange("bronco");
+        phone.setNilNumber();
+
+        web.complex3.Address addr = web.complex3.Address.Factory.newInstance();
+        addr.setPhoneNumber(phone);
+        addr.setCity("Boulder");
+        addr.setState(state);
+        addr.setStreetNum(123);
+        addr.setStreetName("Fake Street");
+        addr.setZip(123456);
+
+        web.complex3.Address result = client.returnAddressFromBody(addr);
+
+        assertEquals("Boulder", result.getCity());
+        assertEquals("CO", result.getState().getState());
+        assertEquals("Fake Street", result.getStreetName());
+        assertEquals(123, result.getStreetNum());
+        assertEquals(123456, result.getZip());
+
+        web.complex3.Phone phoneResult = result.getPhoneNumber();
+        assertEquals(123, phoneResult.getAreaCode());
+        assertEquals("bronco", phoneResult.getExchange());
+        assertTrue(phoneResult.isNilNumber());
+    }
+
+    public void testReturnAddressFromHeader() throws Exception {
+        web.complex3.StateType state = web.complex3.StateType.Factory.newInstance();
+        state.setState("CA");
+
+        web.complex3.Phone phone = web.complex3.Phone.Factory.newInstance();
+        phone.setAreaCode(123);
+        phone.setExchange("49er");
+        phone.setNilNumber();
+
+        web.complex3.Address addr = web.complex3.Address.Factory.newInstance();
+        addr.setPhoneNumber(phone);
+        addr.setCity("San Jose");
+        addr.setState(state);
+        addr.setStreetNum(123);
+        addr.setStreetName("Fake Street");
+        addr.setZip(654321);
+
+        web.complex3.Address result = client.returnAddressFromHeader(addr);
+
+        assertEquals("San Jose", result.getCity());
+        assertEquals("CA", result.getState().getState());
+        assertEquals("Fake Street", result.getStreetName());
+        assertEquals(123, result.getStreetNum());
+        assertEquals(654321, result.getZip());
+
+        web.complex3.Phone phoneResult = result.getPhoneNumber();
+        assertEquals(123, phoneResult.getAreaCode());
+        assertEquals("49er", phoneResult.getExchange());
+        assertTrue(phoneResult.isNilNumber());
+    }
+
+    public void testCreateAddressInBody() throws Exception {
+        web.complex3.Address addr = web.complex3.Address.Factory.newInstance();
+        GenericHolder gHolder = new GenericHolder(addr);
+        IntHolder iHolder = new IntHolder();
+
+        client.createAddressInBody(gHolder, iHolder);
+
+        assertEquals(77, iHolder.value);
+
+        addr = (web.complex3.Address) gHolder.value;
+        assertEquals("PA", addr.getState().getState());
+        assertEquals(425, addr.getPhoneNumber().getAreaCode());
+        assertEquals("555", addr.getPhoneNumber().getExchange());
+        assertEquals("1234", addr.getPhoneNumber().getNumber());
+        assertEquals(10230, addr.getStreetNum());
+        assertEquals("NE Points Drive", addr.getStreetName());
+        assertEquals("Kirkland", addr.getCity());
+        assertEquals(98008, addr.getZip());
+    }
+
+    public void testCreateAddressInHeader() throws Exception {
+        web.complex3.Address addr = web.complex3.Address.Factory.newInstance();
+        GenericHolder gHolder = new GenericHolder(addr);
+        IntHolder iHolder = new IntHolder();
+
+        client.createAddressInHeader(gHolder, iHolder);
+
+        assertEquals(-1, iHolder.value);
+
+        addr = (web.complex3.Address) gHolder.value;
+        assertEquals("CA", addr.getState().getState());
+        assertEquals(714, addr.getPhoneNumber().getAreaCode());
+        assertEquals("555", addr.getPhoneNumber().getExchange());
+        assertEquals("1234", addr.getPhoneNumber().getNumber());
+        assertEquals(1, addr.getStreetNum());
+        assertEquals("some street", addr.getStreetName());
+        assertEquals("Los Angeles", addr.getCity());
+        assertEquals(90210, addr.getZip());
+    }
+
+    public void testChangeAddressInBody() throws Exception {
+        web.complex3.Address addr = web.complex3.Address.Factory.newInstance();
+        addr.setCity("Boulder");
+        addr.setZip(66666);
+
+        GenericHolder gHolder = new GenericHolder(addr);
+        int result = client.changeAddressInBody(gHolder);
+
+        assertEquals(3, result);
+        web.complex3.Address returnAddr = (web.complex3.Address) gHolder.value;
+        assertEquals(addr.getCity(), returnAddr.getCity());
+        assertEquals(addr.getZip() + 1, returnAddr.getZip());
+    }
+
+    public void testChangeAddressInHeader() throws Exception {
+        web.complex3.Address addr = web.complex3.Address.Factory.newInstance();
+        addr.setCity("Louisville");
+        addr.setZip(99999);
+
+        GenericHolder gHolder = new GenericHolder(addr);
+        int result = client.changeAddressInHeader(gHolder);
+
+        assertEquals(4, result);
+        web.complex3.Address returnAddr = (web.complex3.Address) gHolder.value;
+        assertEquals(addr.getCity(), returnAddr.getCity());
+        assertEquals(addr.getZip() + 1, returnAddr.getZip());
+    }
+
+    public void testThrowAddressException() throws Exception {
+
+        try {
+            client.throwAddressException(66);
+        } catch (Exception e) {
+            assertEquals("org.apache.beehive.rpclit.AddressException: AddressException; input value=\"66\"", e.getMessage());
+            return;
+        }
+        fail("Expected AddressException to be thrown!");
+    }
+*/
+
+    public void testDummy() {
+        /* note, all tests are disabled here until service control bugs are fixed to handle these use cases */
+    }
+
+    public void setUp() throws Exception {
+        try {
+            super.setUp();
+            initializeControls(this);
+            setMyControlObject(client);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static Test suite() {
+        return new TestSuite(RpcLitWebServiceTest.class);
+    }
+
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(suite());
+    }
+}
\ No newline at end of file

Propchange: incubator/beehive/trunk/system-controls/test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/RpcLitWebServiceTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/beehive/trunk/system-controls/test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/dlwservice/DocLitWrapWebServiceTest.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/system-controls/test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/dlwservice/DocLitWrapWebServiceTest.java?rev=190655&r1=190654&r2=190655&view=diff
==============================================================================
--- incubator/beehive/trunk/system-controls/test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/dlwservice/DocLitWrapWebServiceTest.java (original)
+++ incubator/beehive/trunk/system-controls/test/src/webservice/tests/org/apache/beehive/controls/system/webservice/units/dlwservice/DocLitWrapWebServiceTest.java Tue Jun 14 14:01:25 2005
@@ -1,66 +1,202 @@
-/*
- * 
- * Copyright 2004 The Apache Software Foundation
- *
- * Licensed 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.apache.beehive.controls.system.webservice.units.dlwservice;
-
-import org.apache.beehive.controls.api.bean.Control;
-import org.apache.beehive.controls.system.webservice.units.utils.ControlTestCase;
-import org.apache.log4j.Logger;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import test.DocumentLiteralWrappedSampleService;
-
-
-public class DocLitWrapWebServiceTest
-    extends ControlTestCase {
-
-    private static Logger logger = Logger.getLogger(DocLitWrapWebServiceTest.class);
-
-    @Control
-    public DocumentLiteralWrappedSampleService client;
-
-    public void testSimpleInvoke() throws Exception {
-        web.complex.Address addr = web.complex.Address.Factory.newInstance();
-        addr.setCity("Boulder");
-
-        web.complex.Address result = client.returnAddressFromBody(addr);
-        assertEquals("Boulder", result.getCity());
-    }
-
-    public void setUp() throws Exception {
-        try {
-            super.setUp();
-            initializeControls(this);
-            setMyControlObject(client);
-
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    public DocLitWrapWebServiceTest()
-        throws Exception {
-    }
-
-    public static Test suite() {
-        return new TestSuite(DocLitWrapWebServiceTest.class);
-    }
-
-    public static void main(String[] args) {
-        junit.textui.TestRunner.run(suite());
-    }
-}
\ No newline at end of file
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.controls.system.webservice.units.dlwservice;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import org.apache.beehive.controls.api.bean.Control;
+import org.apache.beehive.controls.system.webservice.units.utils.ControlTestCase;
+import org.apache.beehive.wsm.databinding.GenericHolder;
+import org.apache.log4j.Logger;
+import test.DocumentLiteralWrappedSampleService;
+
+import javax.xml.rpc.holders.IntHolder;
+
+public class DocLitWrapWebServiceTest extends ControlTestCase {
+
+    private static Logger logger = Logger.getLogger(DocLitWrapWebServiceTest.class);
+
+    @Control
+    public DocumentLiteralWrappedSampleService client;
+
+    public void testReturnAddressFromBody() throws Exception {
+
+        web.complex.StateType state = web.complex.StateType.Factory.newInstance();
+        state.setState("CO");
+
+        web.complex.Phone phone = web.complex.Phone.Factory.newInstance();
+        phone.setAreaCode(123);
+        phone.setExchange("bronco");
+        phone.setNilNumber();
+
+        web.complex.Address addr = web.complex.Address.Factory.newInstance();
+        addr.setPhoneNumber(phone);
+        addr.setCity("Boulder");
+        addr.setState(state);
+        addr.setStreetNum(123);
+        addr.setStreetName("Fake Street");
+        addr.setZip(123456);
+
+        web.complex.Address result = client.returnAddressFromBody(addr);
+
+        assertEquals("Boulder", result.getCity());
+        assertEquals("CO", result.getState().getState());
+        assertEquals("Fake Street", result.getStreetName());
+        assertEquals(123, result.getStreetNum());
+        assertEquals(123456, result.getZip());
+
+        web.complex.Phone phoneResult = result.getPhoneNumber();
+        assertEquals(123, phoneResult.getAreaCode());
+        assertEquals("bronco", phoneResult.getExchange());
+        assertTrue(phoneResult.isNilNumber());
+    }
+
+    public void testReturnAddressFromHeader() throws Exception {
+        web.complex.StateType state = web.complex.StateType.Factory.newInstance();
+        state.setState("CA");
+
+        web.complex.Phone phone = web.complex.Phone.Factory.newInstance();
+        phone.setAreaCode(123);
+        phone.setExchange("49er");
+        phone.setNilNumber();
+
+        web.complex.Address addr = web.complex.Address.Factory.newInstance();
+        addr.setPhoneNumber(phone);
+        addr.setCity("San Jose");
+        addr.setState(state);
+        addr.setStreetNum(123);
+        addr.setStreetName("Fake Street");
+        addr.setZip(654321);
+
+        web.complex.Address result = client.returnAddressFromHeader(addr);
+
+        assertEquals("San Jose", result.getCity());
+        assertEquals("CA", result.getState().getState());
+        assertEquals("Fake Street", result.getStreetName());
+        assertEquals(123, result.getStreetNum());
+        assertEquals(654321, result.getZip());
+
+        web.complex.Phone phoneResult = result.getPhoneNumber();
+        assertEquals(123, phoneResult.getAreaCode());
+        assertEquals("49er", phoneResult.getExchange());
+        assertTrue(phoneResult.isNilNumber());
+    }
+
+/*
+    public void testCreateAddressInBody() throws Exception {
+        web.complex.Address addr = web.complex.Address.Factory.newInstance();
+        GenericHolder gHolder = new GenericHolder(addr);
+        IntHolder iHolder = new IntHolder();
+
+        client.createAddressInBody(gHolder, iHolder);
+
+        assertEquals(1, iHolder.value);
+
+        addr = (web.complex.Address) gHolder.value;
+        assertEquals("WA", addr.getState().getState());
+        assertEquals(425, addr.getPhoneNumber().getAreaCode());
+        assertEquals("555", addr.getPhoneNumber().getExchange());
+        assertEquals("1234", addr.getPhoneNumber().getNumber());
+        assertEquals(10230, addr.getStreetNum());
+        assertEquals("NE Points Drive", addr.getStreetName());
+        assertEquals("Kirkland", addr.getCity());
+        assertEquals(98008, addr.getZip());
+    }
+*/
+
+/*
+    public void testCreateAddressInHeader() throws Exception {
+        web.complex.Address addr = web.complex.Address.Factory.newInstance();
+        GenericHolder gHolder = new GenericHolder(addr);
+        IntHolder iHolder = new IntHolder();
+
+        client.createAddressInHeader(gHolder, iHolder);
+
+        assertEquals(2, iHolder.value);
+
+        addr = (web.complex.Address) gHolder.value;
+        assertEquals("WA", addr.getState().getState());
+        assertEquals(425, addr.getPhoneNumber().getAreaCode());
+        assertEquals("555", addr.getPhoneNumber().getExchange());
+        assertEquals("1234", addr.getPhoneNumber().getNumber());
+        assertEquals(10230, addr.getStreetNum());
+        assertEquals("NE Points Drive", addr.getStreetName());
+        assertEquals("Kirkland", addr.getCity());
+        assertEquals(98008, addr.getZip());
+    }
+*/
+
+/*
+    public void testChangeAddressInBody() throws Exception {
+        web.complex.Address addr = web.complex.Address.Factory.newInstance();
+        addr.setCity("Boulder");
+        addr.setZip(66666);
+
+        GenericHolder gHolder = new GenericHolder(addr);
+        int result = client.changeAddressInBody(gHolder);
+
+        assertEquals(6, result);
+        web.complex.Address returnAddr = (web.complex.Address) gHolder.value;
+        assertEquals(addr.getCity(), returnAddr.getCity());
+        assertEquals(addr.getZip() + 1, returnAddr.getZip());
+    }
+
+    public void testChangeAddressInHeader() throws Exception {
+        web.complex.Address addr = web.complex.Address.Factory.newInstance();
+        addr.setCity("Louisville");
+        addr.setZip(99999);
+
+        GenericHolder gHolder = new GenericHolder(addr);
+        int result = client.changeAddressInHeader(gHolder);
+
+        assertEquals(7, result);
+        web.complex.Address returnAddr = (web.complex.Address) gHolder.value;
+        assertEquals(addr.getCity(), returnAddr.getCity());
+        assertEquals(addr.getZip() + 1, returnAddr.getZip());
+    }
+
+    public void testThrowAddressException() throws Exception {
+
+        try {
+            client.throwAddressException(66);
+        } catch (Exception e) {
+            assertEquals("org.apache.beehive.doclitwrap.AddressException: AddressException; input value=\"66\"", e.getMessage());
+            return;
+        }
+        fail("Expected AddressException to be thrown!");
+    }
+*/
+    public void setUp() throws Exception {
+        try {
+            super.setUp();
+            initializeControls(this);
+            setMyControlObject(client);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static Test suite() {
+        return new TestSuite(DocLitWrapWebServiceTest.class);
+    }
+
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(suite());
+    }
+}