You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by cs...@apache.org on 2006/02/13 17:10:17 UTC

svn commit: r377404 [1/2] - in /beehive/trunk/system-controls: src/webservice/control/ src/webservice/control/org/apache/beehive/controls/system/webservice/ src/webservice/control/org/apache/beehive/controls/system/webservice/generator/ src/webservice/...

Author: cschoett
Date: Mon Feb 13 08:10:14 2006
New Revision: 377404

URL: http://svn.apache.org/viewcvs?rev=377404&view=rev
Log:
*) JAX-RPC handler support cleanup for the wsc
*) Removed the final wsm dependencies from wsc
*) Updated handler drt's 


Added:
    beehive/trunk/system-controls/test/webservice/webapp/src/org/apache/beehive/handler/
    beehive/trunk/system-controls/test/webservice/webapp/src/org/apache/beehive/handler/HandlerTestService.java   (with props)
    beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/doclitwrapped/schematypes/HandlerDocLitEndpointTest.java   (contents, props changed)
      - copied, changed from r372277, beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/doclitbare/schematypes/HandlerDocLitEndpointTest.java
    beehive/trunk/system-controls/test/webservice/webapp/typesrc/handler/
    beehive/trunk/system-controls/test/webservice/webapp/typesrc/handler/TestHeaderHandler.java   (contents, props changed)
      - copied, changed from r372277, beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/jaxrpc/HeaderHandler.java
Removed:
    beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/jaxrpc/HeaderHandler.java
    beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/doclitbare/schematypes/HandlerDocLitEndpointTest.java
Modified:
    beehive/trunk/system-controls/src/webservice/control/build.xml
    beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/ServiceControl.java
    beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/generator/WebServiceControlGenerator.java
    beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/generator/servicecontrol.vm
    beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/jaxrpc/ServiceControlImpl.java
    beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerDocLitEndpoint.java
    beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerRpcEncEndpoint.java
    beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerRpcLitEndpoint.java
    beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/rpcenc/schematypes/HandlerRpcEncEndpointTest.java
    beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/rpclit/schematypes/HandlerRpcLitEndpointTest.java
    beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerDocLitEndpoint.wsdl
    beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerRpcEncEndpoint.wsdl
    beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerRpcLitEndpoint.wsdl
    beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HeaderDocLitEndpoint.wsdl
    beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HeaderRpcEncEndpoint.wsdl
    beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HeaderRpcLitEndpoint.wsdl

Modified: beehive/trunk/system-controls/src/webservice/control/build.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/src/webservice/control/build.xml?rev=377404&r1=377403&r2=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/src/webservice/control/build.xml (original)
+++ beehive/trunk/system-controls/src/webservice/control/build.xml Mon Feb 13 08:10:14 2006
@@ -25,9 +25,6 @@
     <property name="module.dir" location="${src.dir}/webservice/control"/>
 
     <path id="module.classpath">
-        <!-- todo: we should not have a dependency on axis here!
-             Due to our current HeaderHandler impl which needs to be fixed. -->
-        <path refid="axis.dependency.path"/>
         <path refid="webservice-utils.dependency.path"/>
         <path refid="saaj.dependency.path"/>
         <path refid="jaxrpc.dependency.path"/>

Modified: beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/ServiceControl.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/ServiceControl.java?rev=377404&r1=377403&r2=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/ServiceControl.java (original)
+++ beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/ServiceControl.java Mon Feb 13 08:10:14 2006
@@ -22,12 +22,13 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 import java.net.URL;
+import java.util.List;
 import javax.xml.namespace.QName;
+import javax.xml.rpc.handler.HandlerInfo;
 
 import org.apache.beehive.controls.api.bean.AnnotationMemberTypes;
 import org.apache.beehive.controls.api.bean.ControlInterface;
 import org.apache.beehive.controls.api.properties.PropertySet;
-import org.w3c.dom.Element;
 
 /**
  * <p>
@@ -42,34 +43,14 @@
  */
 @ControlInterface(defaultBinding = "org.apache.beehive.controls.system.webservice.jaxrpc.ServiceControlImpl")
 public interface ServiceControl {
-    /**
-     * Location URL for target service. Multiple URLs may be specified and first URL of the appropriate scheme will be
-     * used.
-     */
-    @PropertySet(
-        prefix = "Location",
-        externalConfig = true,
-        optional = true,
-        hasSetters = false
-    )
-    @Retention(RetentionPolicy.RUNTIME)
-    @Target({ElementType.TYPE, ElementType.FIELD})
-    public @interface Location {
-        String[] urls();
-    }
 
     /**
-     * OperationName is only used when the target WSDL defines operations with names that are invalid as Java Method
-     * names.
+     * OperationName is only used when the target WSDL defines operations with
+     * names that are invalid as Java Method names.
      */
-    @PropertySet(
-        prefix = "OperationName",
-        externalConfig = false,
-        optional = false,
-        hasSetters = false
-    )
     @Retention(RetentionPolicy.RUNTIME)
     @Target({ElementType.METHOD})
+    @PropertySet(prefix = "OperationName", externalConfig = false, optional = false, hasSetters = false)
     public @interface OperationName {
         String value();
     }
@@ -77,20 +58,14 @@
     /**
      * Path to WSDL - required annotation.
      */
-    @PropertySet(
-        prefix = "WSDL",
-        externalConfig = false,
-        optional = false,
-        hasSetters = false
-    )
     @Retention(RetentionPolicy.RUNTIME)
     @Target({ElementType.TYPE})
+    @PropertySet(prefix = "WSDL", externalConfig = false, optional = false, hasSetters = false)
     public @interface WSDL {
         @AnnotationMemberTypes.FilePath String path();
-
+        String portName();
         String service();
         String serviceTns();
-        String portName();
     }
 
     /**
@@ -116,14 +91,9 @@
      * Specify the JAXRPC ServiceFactory implementation for a webservice control.
      * Currently only Apache AXIS is supported.
      */
-    @PropertySet(
-      prefix="",
-            externalConfig = false,
-            optional = false,
-            hasSetters = false
-            )
     @Retention(RetentionPolicy.RUNTIME)
     @Target({ElementType.TYPE})
+    @PropertySet(prefix="", externalConfig = false, optional = false, hasSetters = false)
     public @interface ServiceFactoryProvider {
         ServiceFactoryProviderType value() default ServiceFactoryProviderType.DEFAULT;
     }
@@ -187,19 +157,10 @@
     public String getPassword();
 
     /**
-     * Retrieves the SOAP headers that were included in the most recent arriving callback from this Service control.
-     *
-     * @return An array of the SOAP input header elements for this control's most recently receive callback.
-     */
-    public Element[] getInputHeaders();
-
-    /**
-     * Sets the SOAP headers that will be included in the next outgoing method invocation message to the Service
-     * control.
-     *
-     * @param headers An array of the new SOAP output header elements.
+     * Set any JAX-RPC handlers for this client.
+     * @param handlers List of HandlerInfo.
      */
-    public void setOutputHeaders(Element[] headers);
+    public void setHandlers(List<HandlerInfo> handlers);
 
     /**
      * Sets the timeout for the underlying HttpURLConnection (in millisecs, default is 0 which means no timeout,

Modified: beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/generator/WebServiceControlGenerator.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/generator/WebServiceControlGenerator.java?rev=377404&r1=377403&r2=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/generator/WebServiceControlGenerator.java (original)
+++ beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/generator/WebServiceControlGenerator.java Mon Feb 13 08:10:14 2006
@@ -143,7 +143,6 @@
         context.put("controlPackageName", pkgName);
         context.put("serviceName", wsdl.getServiceName());
         context.put("serviceTns", wsdl.getTargetNamespace());
-        context.put("serviceURLString", wsdl.getServiceEndpoint());
         context.put("wsdlPath", wsdlPath);
         context.put("methodList", methodList);
         context.put("portName", wsdl.getPortName());

Modified: beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/generator/servicecontrol.vm
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/generator/servicecontrol.vm?rev=377404&r1=377403&r2=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/generator/servicecontrol.vm (original)
+++ beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/generator/servicecontrol.vm Mon Feb 13 08:10:14 2006
@@ -37,7 +37,6 @@
 
 import org.apache.beehive.controls.api.bean.ControlExtension;
 import org.apache.beehive.controls.system.webservice.ServiceControl;
-import org.apache.beehive.controls.system.webservice.ServiceControl.Location;
 import org.apache.beehive.controls.system.webservice.ServiceControl.WSDL;
 import org.apache.beehive.controls.system.webservice.ServiceControl.OperationName;
 import org.apache.beehive.controls.system.webservice.ServiceControl.ServiceFactoryProvider;
@@ -48,8 +47,10 @@
  *    $wsdlPath
  */
 @ControlExtension
-@Location(urls = {"$serviceURLString"})
-@WSDL(path = "$wsdlPath", service = "$serviceName", serviceTns="$serviceTns", portName="$portName")
+@WSDL(path = "$wsdlPath",
+      portName="$portName",
+      service = "$serviceName",
+      serviceTns="$serviceTns")
 @ServiceFactoryProvider(ServiceFactoryProviderType.APACHE_AXIS)
 public interface $serviceName
     extends ServiceControl {

Modified: beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/jaxrpc/ServiceControlImpl.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/jaxrpc/ServiceControlImpl.java?rev=377404&r1=377403&r2=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/jaxrpc/ServiceControlImpl.java (original)
+++ beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/jaxrpc/ServiceControlImpl.java Mon Feb 13 08:10:14 2006
@@ -19,6 +19,7 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.HashMap;
+import java.util.List;
 import javax.xml.namespace.QName;
 import javax.xml.rpc.Service;
 import javax.xml.rpc.ServiceException;
@@ -37,7 +38,6 @@
 import org.apache.beehive.controls.system.webservice.wsdl.ControlWsdlLocator;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.w3c.dom.Element;
 
 @ControlImplementation
 public class ServiceControlImpl
@@ -63,13 +63,11 @@
     private String _password;
     private String _serviceFactoryClassName;
     private int _timeout = TIMOUT_DEFAULT;
+    private List<HandlerInfo> _handlerChain;
 
     private transient Service _service;
     private transient HashMap<String, GenericCall> _callCache;
 
-    private Element[] _handlerOutputHeaders;
-    private HandlerInfo _handlerInfo;
-
     /**
      * Constructor.
      */
@@ -120,12 +118,6 @@
     public Object invoke(Method method, Object[] args) throws Throwable {
 
         LOGGER.debug("invoke method: " + method.getName());
-
-        HashMap<String, Element[]> handlerConfig = new HashMap<String, Element[]>();
-        handlerConfig.put(HeaderHandler.OUTPUT_ELEMENTS_KEY, _handlerOutputHeaders);
-        handlerConfig.put(HeaderHandler.INPUT_ELEMENTS_KEY, null);
-        _handlerInfo.setHandlerConfig(handlerConfig);
-
         ServiceControl.OperationName opName = _context.getMethodPropertySet(method, ServiceControl.OperationName.class);
         WsdlOperation op = _wsdl.getOperation(opName.value());
 
@@ -141,7 +133,6 @@
                                       getEndPoint().toExternalForm(),
                                       getUsername(),
                                       getPassword());
-
         return call.invoke(args);
     }
 
@@ -163,6 +154,15 @@
     }
 
     /**
+     * Set a client side handler chain.
+     * @param handlerChain
+     */
+    public void setHandlers(List<HandlerInfo> handlerChain) {
+        _handlerChain = handlerChain;
+        getService(_serviceName).getHandlerRegistry().setHandlerChain(_portType, handlerChain);
+    }
+
+    /**
      * @return Returns the password.
      */
     public String getPassword() {
@@ -223,6 +223,7 @@
      *
      */
     public void reset() {
+        _handlerChain = null;
         _endPoint = null;
         _wsdlPort = null;
         _username = null;
@@ -230,22 +231,6 @@
         _timeout = TIMOUT_DEFAULT;
     }
 
-    /**
-     * Contains the list of headers recived from the web service, processed by HeaderHandler.
-     */
-    public Element[] getInputHeaders() {
-        return (Element[]) _handlerInfo.getHandlerConfig().get(HeaderHandler.INPUT_ELEMENTS_KEY);
-    }
-
-    /**
-     * Set the list of output headers to add to the call's request to the webservice.
-     *
-     * @param headers
-     */
-    public void setOutputHeaders(Element[] headers) {
-        _handlerOutputHeaders = headers;
-    }
-
     /* --------------------------------------------------------------------------------------- */
     /*                        PRIVATE METHODS                                                  */
     /* --------------------------------------------------------------------------------------- */
@@ -277,9 +262,6 @@
         _serviceName = new QName(wsdl.serviceTns(), wsdl.service());
         ControlWsdlLocator locator = new ControlWsdlLocator(wsdl.path(), _context);
         _wsdl = new Wsdl(locator, _serviceName, wsdl.portName());
-
-        _handlerInfo = new HandlerInfo();
-        _handlerInfo.setHandlerClass(HeaderHandler.class);
         _portType = _wsdl.getPortTypeQName();
     }
 
@@ -291,19 +273,10 @@
     private void configureEndPoint() {
 
         if (_endPoint == null) {
-            ServiceControl.Location location = _context.getControlPropertySet(ServiceControl.Location.class);
-            if (location != null) {
-                assert location.urls() != null;
-                assert location.urls().length > 0;
-                try {
-                    setEndPoint(new URL(location.urls()[0]));
-                }
-                catch (MalformedURLException e) {
-                    throw new ControlException(e.getMessage(), e);
-                }
-            }
-            else {
-                throw new ControlException("No Location annotation found.");
+            try {
+                setEndPoint(new URL(_wsdl.getServiceEndpoint()));
+            } catch (MalformedURLException e) {
+                throw new ControlException(e.getMessage(), e);
             }
         }
     }
@@ -347,7 +320,7 @@
             catch (ServiceException e) {
                 throw new ControlException(e.getMessage(), e);
             }
-            _service.getHandlerRegistry().getHandlerChain(_portType).add(_handlerInfo);
+            _service.getHandlerRegistry().setHandlerChain(_portType, _handlerChain);
         }
         return _service;
     }

Modified: beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerDocLitEndpoint.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerDocLitEndpoint.java?rev=377404&r1=377403&r2=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerDocLitEndpoint.java (original)
+++ beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerDocLitEndpoint.java Mon Feb 13 08:10:14 2006
@@ -14,33 +14,21 @@
  */
 package handlers;
 
+import org.apache.beehive.handler.HandlerTestService;
+
 import javax.jws.WebParam;
 import javax.jws.WebService;
-import javax.xml.rpc.holders.IntHolder;
+import javax.jws.WebMethod;
 import javax.xml.rpc.holders.StringHolder;
 
 /**
  * extremely simple handler web service -- service does not use handler's on the client does.  
  */
 @WebService()
-public class HandlerDocLitEndpoint {
-    static final long serialVersionUID = 1L;
-
-    /* set the value of an INOUT header */
-    public void modifyStringHeader(@WebParam(header = true, mode = WebParam.Mode.INOUT) StringHolder inputHeader) {
-        inputHeader.value = "Header Set By Service!";
-    }
-
-    /* set two OUT headers to setValue */
-    public void setHeaderStrings(@WebParam(header = true, mode = WebParam.Mode.OUT) StringHolder header1,
-                                 @WebParam(header = true, mode = WebParam.Mode.OUT) StringHolder header2,
-                                 String setValue) {
-        header1.value = setValue;
-        header2.value = setValue;
-    }
+public class HandlerDocLitEndpoint implements HandlerTestService {
 
-    public int echointHeader(@WebParam(header = true, mode = WebParam.Mode.INOUT) IntHolder inputHeader, int inputint) {
-        inputHeader.value = inputint;
-        return inputint;
+    @WebMethod()
+    public void echoStringHeader(@WebParam(header = true, mode = WebParam.Mode.INOUT) StringHolder inputHeader) {
+        inputHeader.value = inputHeader.value + "** Server **";
     }
 }

Modified: beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerRpcEncEndpoint.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerRpcEncEndpoint.java?rev=377404&r1=377403&r2=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerRpcEncEndpoint.java (original)
+++ beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerRpcEncEndpoint.java Mon Feb 13 08:10:14 2006
@@ -14,32 +14,20 @@
  */
 package handlers;
 
+import org.apache.beehive.handler.HandlerTestService;
+
+import javax.jws.WebMethod;
 import javax.jws.WebParam;
 import javax.jws.WebService;
 import javax.jws.soap.SOAPBinding;
-import javax.xml.rpc.holders.IntHolder;
 import javax.xml.rpc.holders.StringHolder;
 
 @WebService()
 @SOAPBinding(style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.ENCODED)
-public class HandlerRpcEncEndpoint {
-    static final long serialVersionUID = 1L;
-
-    /* set the value of an INOUT header */
-    public void modifyStringHeader(@WebParam(header = true, mode = WebParam.Mode.INOUT) StringHolder inputHeader) {
-        inputHeader.value = "Header Set By Service!";
-    }
-
-    /* set two OUT headers to setValue */
-    public void setHeaderStrings(@WebParam(header = true, mode = WebParam.Mode.OUT) StringHolder header1,
-                                 @WebParam(header = true, mode = WebParam.Mode.OUT) StringHolder header2,
-                                 String setValue) {
-        header1.value = setValue;
-        header2.value = setValue;
-    }
+public class HandlerRpcEncEndpoint implements HandlerTestService {
 
-    public int echointHeader(@WebParam(header = true, mode = WebParam.Mode.INOUT) IntHolder inputHeader, int inputint) {
-        inputHeader.value = inputint;
-        return inputint;
+    @WebMethod()
+    public void echoStringHeader(@WebParam(header = true, mode = WebParam.Mode.INOUT) StringHolder inputHeader) {
+        inputHeader.value = inputHeader.value + "** Server **";
     }
 }

Modified: beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerRpcLitEndpoint.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerRpcLitEndpoint.java?rev=377404&r1=377403&r2=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerRpcLitEndpoint.java (original)
+++ beehive/trunk/system-controls/test/webservice/webapp/src/handlers/HandlerRpcLitEndpoint.java Mon Feb 13 08:10:14 2006
@@ -14,39 +14,20 @@
  */
 package handlers;
 
+import org.apache.beehive.handler.HandlerTestService;
+
+import javax.jws.WebMethod;
 import javax.jws.WebParam;
 import javax.jws.WebService;
 import javax.jws.soap.SOAPBinding;
-import javax.xml.rpc.holders.IntHolder;
 import javax.xml.rpc.holders.StringHolder;
 
 @WebService()
 @SOAPBinding(style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.LITERAL)
-public class HandlerRpcLitEndpoint {
-
-    static final long serialVersionUID = 1L;
-
-    /* set the value of an INOUT header */
-    public void modifyStringHeader(@WebParam(header = true, mode = WebParam.Mode.INOUT) StringHolder inputHeader) {
-        inputHeader.value = "Header Set By Service!";
-    }
-
-    /* echo a string, set the the value of an INOUT header */
-    public String echoStringHeaderAndResult(@WebParam(header = true, mode = WebParam.Mode.INOUT) StringHolder inputHeader, String inputString) {
-        inputHeader.value = "Header Set By Service!";
-        return inputString;
-    }
-
-    /* set two OUT headers to setValue */
-    public void setHeaderStrings(@WebParam(header = true, mode = WebParam.Mode.OUT) StringHolder header1,
-                                 @WebParam(header = true, mode = WebParam.Mode.OUT) StringHolder header2,
-                                 String setValue) {
-        header1.value = setValue;
-        header2.value = setValue;
-    }
+public class HandlerRpcLitEndpoint implements HandlerTestService {
 
-    public int echointHeader(@WebParam(header = true, mode = WebParam.Mode.INOUT) IntHolder inputHeader, int inputint) {
-        inputHeader.value = inputint;
-        return inputint;
+    @WebMethod()
+    public void echoStringHeader(@WebParam(header = true, mode = WebParam.Mode.INOUT) StringHolder inputHeader) {
+        inputHeader.value = inputHeader.value + "** Server **";
     }
 }

Added: beehive/trunk/system-controls/test/webservice/webapp/src/org/apache/beehive/handler/HandlerTestService.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/test/webservice/webapp/src/org/apache/beehive/handler/HandlerTestService.java?rev=377404&view=auto
==============================================================================
--- beehive/trunk/system-controls/test/webservice/webapp/src/org/apache/beehive/handler/HandlerTestService.java (added)
+++ beehive/trunk/system-controls/test/webservice/webapp/src/org/apache/beehive/handler/HandlerTestService.java Mon Feb 13 08:10:14 2006
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2006 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.handler;
+
+import javax.xml.rpc.holders.StringHolder;
+
+/**
+ * Service interface for Handler tests.
+ */
+public interface HandlerTestService {
+
+    public void echoStringHeader(StringHolder inputHeader);
+}

Propchange: beehive/trunk/system-controls/test/webservice/webapp/src/org/apache/beehive/handler/HandlerTestService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/doclitwrapped/schematypes/HandlerDocLitEndpointTest.java (from r372277, beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/doclitbare/schematypes/HandlerDocLitEndpointTest.java)
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/doclitwrapped/schematypes/HandlerDocLitEndpointTest.java?p2=beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/doclitwrapped/schematypes/HandlerDocLitEndpointTest.java&p1=beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/doclitbare/schematypes/HandlerDocLitEndpointTest.java&r1=372277&r2=377404&rev=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/doclitbare/schematypes/HandlerDocLitEndpointTest.java (original)
+++ beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/doclitwrapped/schematypes/HandlerDocLitEndpointTest.java Mon Feb 13 08:10:14 2006
@@ -15,74 +15,43 @@
  *
  * $Header:$
  */
-package org.apache.beehive.controls.system.webservice.units.doclitbare.schematypes;
+package org.apache.beehive.controls.system.webservice.units.doclitwrapped.schematypes;
 
-import javax.xml.rpc.holders.IntHolder;
-import javax.xml.rpc.holders.StringHolder;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import org.apache.beehive.controls.api.bean.Control;
 import org.apache.beehive.controls.test.junit.ControlTestCase;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Node;
+
+import javax.xml.namespace.QName;
+import javax.xml.rpc.handler.HandlerInfo;
+import javax.xml.rpc.holders.StringHolder;
+import java.util.ArrayList;
 
 /**
  * Handler tests for doc/lit service.
  */
 public class HandlerDocLitEndpointTest
-    extends ControlTestCase {
+        extends ControlTestCase {
 
     @Control
     public schematypestest.HandlerDocLitEndpointService client;
 
-    public void testModifyStringHeader() throws Exception {
-
-        StringHolder sh = new StringHolder("foo");
-        client.modifyStringHeader(sh);
-
-        Element[] handlerHeaders = client.getInputHeaders();
-        NodeList nl = handlerHeaders[0].getChildNodes();
-        Node n = nl.item(0);
-        String nodeValue = n.getNodeValue();
-        assertEquals(1, handlerHeaders.length);
-        assertEquals("Header Set By Service!", nodeValue);
-
-    }
-
-    public void testSetHeaderStrings() throws Exception {
-        String headerValue = "foo/bar";
-        StringHolder h1 = new StringHolder("empty");
-        StringHolder h2 = new StringHolder("empty");
-
-        client.setHeaderStrings(headerValue, h1, h2);
-
-        Element[] handlerHeaders = client.getInputHeaders();
-        assertEquals(2, handlerHeaders.length);
-
-        NodeList nl = handlerHeaders[0].getChildNodes();
-        Node n = nl.item(0);
-        String nodeValue = n.getNodeValue();
-        assertEquals(headerValue, nodeValue);
-
-        nl = handlerHeaders[1].getChildNodes();
-        n = nl.item(0);
-        nodeValue = n.getNodeValue();
-        assertEquals(headerValue, nodeValue);
-    }
-
-    public void testEchointInHeader() throws Exception {
-        final int value = 1234;
-        IntHolder ih = new IntHolder(-1);
-        client.echointHeader(ih, value);
-
-        Element[] handlerHeaders = client.getInputHeaders();
-        assertEquals(1, handlerHeaders.length);
-
-        NodeList nl = handlerHeaders[0].getChildNodes();
-        Node n = nl.item(0);
-        String nodeValue = n.getNodeValue();
-        assertEquals(Integer.toString(value), nodeValue);
+    /**
+     * Test with an IN/OUT mode header which gets modified by the handler on request and response.
+     * @throws Exception
+     */
+    public void testEchoStringHeader() throws Exception {
+
+        QName[] headers = new QName[]{new QName("http://handlers", "inputHeader")};
+        HandlerInfo hinfo = new HandlerInfo(handler.TestHeaderHandler.class, null, headers);
+        ArrayList<HandlerInfo> chain = new ArrayList<HandlerInfo>();
+        chain.add(hinfo);
+        client.setHandlers(chain);
+
+        StringHolder sh = new StringHolder("** Client **");
+        client.echoStringHeader(sh);
+        assertNotNull(sh);
+        assertEquals("** Client **** RequestHandler **** Server **** ResponseHandler **", sh.value);
     }
 
     public static Test suite() {

Propchange: beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/doclitwrapped/schematypes/HandlerDocLitEndpointTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/rpcenc/schematypes/HandlerRpcEncEndpointTest.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/rpcenc/schematypes/HandlerRpcEncEndpointTest.java?rev=377404&r1=377403&r2=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/rpcenc/schematypes/HandlerRpcEncEndpointTest.java (original)
+++ beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/rpcenc/schematypes/HandlerRpcEncEndpointTest.java Mon Feb 13 08:10:14 2006
@@ -19,6 +19,8 @@
 
 import javax.xml.rpc.holders.StringHolder;
 import javax.xml.rpc.holders.IntHolder;
+import javax.xml.rpc.handler.HandlerInfo;
+import javax.xml.namespace.QName;
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
@@ -29,6 +31,8 @@
 import org.w3c.dom.NodeList;
 import org.w3c.dom.Node;
 
+import java.util.ArrayList;
+
 /**
  * Handler tests for rpc/enc services.
  */
@@ -38,55 +42,23 @@
     @Control
     public schematypestest.HandlerRpcEncEndpointService client;
 
-    public void testModifyStringHeader() throws Exception {
-
-        StringHolder sh = new StringHolder("foo");
-        client.modifyStringHeader(sh);
-
-        Element[] handlerHeaders = client.getInputHeaders();
-        NodeList nl = handlerHeaders[0].getChildNodes();
-        Node n = nl.item(0);
-        String nodeValue = n.getNodeValue();
-        assertEquals(1, handlerHeaders.length);
-        assertEquals("Header Set By Service!", nodeValue);
-
+    /**
+     * Test with an IN/OUT mode header which gets modified by the handler on request and response.
+     * @throws Exception
+     */
+    public void testEchoStringHeader() throws Exception {
+
+        QName[] headers = new QName[]{new QName("", "inputHeader")};
+        HandlerInfo hinfo = new HandlerInfo(handler.TestHeaderHandler.class, null, headers);
+        ArrayList<HandlerInfo> chain = new ArrayList<HandlerInfo>();
+        chain.add(hinfo);
+        client.setHandlers(chain);
+
+        StringHolder sh = new StringHolder("** Client **");
+        client.echoStringHeader(sh);
+        assertNotNull(sh);
+        assertEquals("** Client **** RequestHandler **** Server **** ResponseHandler **", sh.value);
     }
-
-    public void testSetHeaderStrings() throws Exception {
-        String headerValue = "foo/bar";
-        StringHolder h1 = new StringHolder("empty");
-        StringHolder h2 = new StringHolder("empty");
-
-        client.setHeaderStrings(headerValue, h1, h2);
-
-        Element[] handlerHeaders = client.getInputHeaders();
-        assertEquals(2, handlerHeaders.length);
-
-        NodeList nl = handlerHeaders[0].getChildNodes();
-        Node n = nl.item(0);
-        String nodeValue = n.getNodeValue();
-        assertEquals(headerValue, nodeValue);
-
-        nl = handlerHeaders[1].getChildNodes();
-        n = nl.item(0);
-        nodeValue = n.getNodeValue();
-        assertEquals(headerValue, nodeValue);
-    }
-
-// TODO: Fails - due to axis 1.2 bug -- need to verify
-//    public void testEchointInHeader() throws Exception {
-//        final int value = 1234;
-//        IntHolder ih = new IntHolder(-1);
-//        client.echointHeader(ih, value);
-//
-//        Element[] handlerHeaders = client.getInputHeaders();
-//        assertEquals(1, handlerHeaders.length);
-//
-//        NodeList nl = handlerHeaders[0].getChildNodes();
-//        Node n = nl.item(0);
-//        String nodeValue = n.getNodeValue();
-//        assertEquals(Integer.toString(value), nodeValue);
-//    }
 
     public static Test suite() {
         return new TestSuite(HandlerRpcEncEndpointTest.class);

Modified: beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/rpclit/schematypes/HandlerRpcLitEndpointTest.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/rpclit/schematypes/HandlerRpcLitEndpointTest.java?rev=377404&r1=377403&r2=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/rpclit/schematypes/HandlerRpcLitEndpointTest.java (original)
+++ beehive/trunk/system-controls/test/webservice/webapp/tests/org/apache/beehive/controls/system/webservice/units/rpclit/schematypes/HandlerRpcLitEndpointTest.java Mon Feb 13 08:10:14 2006
@@ -17,73 +17,41 @@
  */
 package org.apache.beehive.controls.system.webservice.units.rpclit.schematypes;
 
-import javax.xml.rpc.holders.IntHolder;
-import javax.xml.rpc.holders.StringHolder;
-
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import org.apache.beehive.controls.api.bean.Control;
 import org.apache.beehive.controls.test.junit.ControlTestCase;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Node;
+
+import javax.xml.namespace.QName;
+import javax.xml.rpc.handler.HandlerInfo;
+import javax.xml.rpc.holders.StringHolder;
+import java.util.ArrayList;
 
 /**
  * Handler tests for rpc/lit services.
  */
 public class HandlerRpcLitEndpointTest
-    extends ControlTestCase {
+        extends ControlTestCase {
 
     @Control
     public schematypestest.HandlerRpcLitEndpointService client;
 
-    public void testModifyStringHeader() throws Exception {
-
-        StringHolder sh = new StringHolder("foo");
-        client.modifyStringHeader(sh);
-
-        Element[] handlerHeaders = client.getInputHeaders();
-        NodeList nl = handlerHeaders[0].getChildNodes();
-        Node n = nl.item(0);
-        String nodeValue = n.getNodeValue();
-        assertEquals(1, handlerHeaders.length);
-        assertEquals("Header Set By Service!", nodeValue);
-
-    }
-
-    public void testSetHeaderStrings() throws Exception {
-        String headerValue = "foo/bar";
-        StringHolder h1 = new StringHolder("empty");
-        StringHolder h2 = new StringHolder("empty");
-
-        client.setHeaderStrings(headerValue, h1, h2);
-
-        Element[] handlerHeaders = client.getInputHeaders();
-        assertEquals(2, handlerHeaders.length);
-
-        NodeList nl = handlerHeaders[0].getChildNodes();
-        Node n = nl.item(0);
-        String nodeValue = n.getNodeValue();
-        assertEquals(headerValue, nodeValue);
-
-        nl = handlerHeaders[1].getChildNodes();
-        n = nl.item(0);
-        nodeValue = n.getNodeValue();
-        assertEquals(headerValue, nodeValue);
-    }
-
-    public void testEchointInHeader() throws Exception {
-        final int value = 1234;
-        IntHolder ih = new IntHolder(-1);
-        client.echointHeader(ih, value);
-
-        Element[] handlerHeaders = client.getInputHeaders();
-        assertEquals(1, handlerHeaders.length);
-
-        NodeList nl = handlerHeaders[0].getChildNodes();
-        Node n = nl.item(0);
-        String nodeValue = n.getNodeValue();
-        assertEquals(Integer.toString(value), nodeValue);
+    /**
+     * Test with an IN/OUT mode header which gets modified by the handler on request and response.
+     * @throws Exception
+     */
+    public void testEchoStringHeader() throws Exception {
+
+        QName[] headers = new QName[]{new QName("", "inputHeader")};
+        HandlerInfo hinfo = new HandlerInfo(handler.TestHeaderHandler.class, null, headers);
+        ArrayList<HandlerInfo> chain = new ArrayList<HandlerInfo>();
+        chain.add(hinfo);
+        client.setHandlers(chain);
+
+        StringHolder sh = new StringHolder("** Client **");
+        client.echoStringHeader(sh);
+        assertNotNull(sh);
+        assertEquals("** Client **** RequestHandler **** Server **** ResponseHandler **", sh.value);
     }
 
     public static Test suite() {

Copied: beehive/trunk/system-controls/test/webservice/webapp/typesrc/handler/TestHeaderHandler.java (from r372277, beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/jaxrpc/HeaderHandler.java)
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/test/webservice/webapp/typesrc/handler/TestHeaderHandler.java?p2=beehive/trunk/system-controls/test/webservice/webapp/typesrc/handler/TestHeaderHandler.java&p1=beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/jaxrpc/HeaderHandler.java&r1=372277&r2=377404&rev=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/src/webservice/control/org/apache/beehive/controls/system/webservice/jaxrpc/HeaderHandler.java (original)
+++ beehive/trunk/system-controls/test/webservice/webapp/typesrc/handler/TestHeaderHandler.java Mon Feb 13 08:10:14 2006
@@ -15,36 +15,32 @@
  *
  * $Header:$
  */
-package org.apache.beehive.controls.system.webservice.jaxrpc;
+package handler;
+
+import org.apache.axis.message.PrefixedQName;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
-import java.util.ArrayList;
-import java.util.Iterator;
 import javax.xml.namespace.QName;
-import javax.xml.rpc.handler.MessageContext;
+import javax.xml.rpc.JAXRPCException;
 import javax.xml.rpc.handler.GenericHandler;
 import javax.xml.rpc.handler.HandlerInfo;
+import javax.xml.rpc.handler.MessageContext;
 import javax.xml.rpc.handler.soap.SOAPMessageContext;
-import javax.xml.rpc.JAXRPCException;
 import javax.xml.soap.SOAPElement;
 import javax.xml.soap.SOAPEnvelope;
 import javax.xml.soap.SOAPException;
 import javax.xml.soap.SOAPHeader;
+import javax.xml.soap.SOAPHeaderElement;
 import javax.xml.soap.SOAPMessage;
 import javax.xml.soap.SOAPPart;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.w3c.dom.Element;
-
-/*
- * This class provides some minimal support for handlers from the service control.
- * Eventually it would be nice to add new annotations to the service control which
- * would allow a user to set their own handlers on the client, once that happens
- * this class should be removed from the source tree.
+/**
+ * This handler is used for testing the wsc's handler support.  It will modify a header on the request and
+ * reqponse of a message.
  */
-public class HeaderHandler extends GenericHandler
-{
-    private static Log LOGGER = LogFactory.getLog(HeaderHandler.class);
+public class TestHeaderHandler extends GenericHandler {
+    private static Log LOGGER = LogFactory.getLog(TestHeaderHandler.class);
 
     static final String OUTPUT_ELEMENTS_KEY = "handlerOutputElements";
     static final String INPUT_ELEMENTS_KEY = "handlerInputElements";
@@ -52,103 +48,76 @@
     private HandlerInfo _handlerInfo;
 
     /**
-     * Add the header values from the HandlerInfo.HandlerConfig Map to the outgoing message.
+     * Append the string "** RequestHandler **" to the specified header's value.
      *
      * @param mc MessageContext.
      * @return true if handler chain processing should continue.
      */
-    public boolean handleRequest(MessageContext mc)
-    {
-        final Element[] outHeaders = (Element[])_handlerInfo.getHandlerConfig().get(OUTPUT_ELEMENTS_KEY);
-        if(outHeaders == null || outHeaders.length == 0) {
-            return true;
-        }
-
-        LOGGER.debug("In HeaderHandler's handleRequest myOutHeaders: " + outHeaders);
-
+    public boolean handleRequest(MessageContext mc) {
+        LOGGER.debug("In TestHeaderHandler's handleRequest");
+        QName headerName = _handlerInfo.getHeaders()[0];
         try {
-            SOAPMessageContext smc = (SOAPMessageContext)mc;
+            SOAPMessageContext smc = (SOAPMessageContext) mc;
             SOAPMessage msg = smc.getMessage();
-            LOGGER.debug("Request message body: "
-                + msg.getSOAPBody().toString() + "\n header: "
-                + msg.getSOAPHeader().toString());
             SOAPPart part = msg.getSOAPPart();
             SOAPEnvelope envelope = part.getEnvelope();
             SOAPHeader header = envelope.getHeader();
+            String headerValue = ((SOAPElement) header.getChildElements(new PrefixedQName(headerName)).next()).getValue();
+            header.detachNode();
 
-            for(Element nxtElement : outHeaders ) {
-                header.addChildElement(new org.apache.axis.message.SOAPHeaderElement(nxtElement));
-            }
+            SOAPHeader h = envelope.addHeader();
+            SOAPHeaderElement he = h.addHeaderElement(new PrefixedQName(headerName));
+            he.setValue(headerValue + "** RequestHandler **");
+            return true;
 
-        } catch(SOAPException e) {
+        }
+        catch (SOAPException e) {
             e.printStackTrace();
-            LOGGER.error("Failed to add header.", e);
             throw new JAXRPCException(e);
         }
-
-        return true;
     }
 
     /**
-     * Build a list of SOAPHeaders found in the response.
+     * Append the string "***ResponseHandler***" to the specified header's value.
+     *
      * @param mc MessageContext.
      * @return true if the next handler in the chain should be invoked.
      */
-    public boolean handleResponse(MessageContext mc)
-    {
-        LOGGER.debug("In HeaderHandler's handleResponse");
-
+    public boolean handleResponse(MessageContext mc) {
+        LOGGER.debug("In TestHeaderHandler's handleResponse");
+        QName headerName = _handlerInfo.getHeaders()[0];
         try {
-            SOAPMessageContext smc = (SOAPMessageContext)mc;
+            SOAPMessageContext smc = (SOAPMessageContext) mc;
             SOAPMessage msg = smc.getMessage();
-            LOGGER.debug("Response message body: "
-                + msg.getSOAPBody().toString() + "\n header: "
-                + msg.getSOAPHeader().toString());
             SOAPPart part = msg.getSOAPPart();
             SOAPEnvelope envelope = part.getEnvelope();
             SOAPHeader header = envelope.getHeader();
-            if(header == null)
-                return true;
+            String headerValue = ((SOAPElement) header.getChildElements(new PrefixedQName(headerName)).next()).getValue();
+            header.detachNode();
+
+            SOAPHeader h = envelope.addHeader();
+            SOAPHeaderElement he = h.addHeaderElement(new PrefixedQName(headerName));
+            he.setValue(headerValue + "** ResponseHandler **");
+            return true;
 
-            Iterator it = header.extractAllHeaderElements();
-            ArrayList<Element> list = new ArrayList<Element>();
-            while(it.hasNext()) {
-                SOAPElement nxtSoapElement = (SOAPElement)it.next();
-                list.add((Element)nxtSoapElement.cloneNode(true));
-            }
-
-            Element[] inHeaders = list.toArray(new Element[list.size()]);
-
-            // TODO: This is a hack to enable support of the current service control API
-            // Once the service control API has been modified to allow users to set their
-            // own handlers this (HeaderHandler) should just go away.
-            _handlerInfo.getHandlerConfig().put(INPUT_ELEMENTS_KEY, inHeaders);
-            LOGGER.debug("myInHeaders: " + inHeaders);
         }
-        catch(SOAPException e) {
+        catch (SOAPException e) {
             e.printStackTrace();
-            LOGGER.error("Error extracting the header.", e);
             throw new JAXRPCException(e);
         }
-        return true;
     }
 
     /*
-     * (non-Javadoc)
-     *
      * @see javax.xml.rpc.handler.Handler#init(javax.xml.rpc.handler.HandlerInfo)
      */
-    public void init(HandlerInfo handlerInfo)
-    {
+    public void init(HandlerInfo handlerInfo) {
         _handlerInfo = handlerInfo;
     }
 
     /**
-     *
      * @return array of headers
      */
-    public QName[] getHeaders()
-    {
+    public QName[] getHeaders() {
         return null;
     }
 }

Propchange: beehive/trunk/system-controls/test/webservice/webapp/typesrc/handler/TestHeaderHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerDocLitEndpoint.wsdl
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerDocLitEndpoint.wsdl?rev=377404&r1=377403&r2=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerDocLitEndpoint.wsdl (original)
+++ beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerDocLitEndpoint.wsdl Mon Feb 13 08:10:14 2006
@@ -5,121 +5,43 @@
  <wsdl:types>
   <schema elementFormDefault="qualified" targetNamespace="http://handlers" xmlns="http://www.w3.org/2001/XMLSchema">
    <element name="inputHeader" type="xsd:string"/>
-   <element name="modifyStringHeader">
+   <element name="echoStringHeader">
     <complexType>
      <sequence/>
     </complexType>
    </element>
    <element name="inputHeader1" type="xsd:string"/>
-   <element name="modifyStringHeaderResponse">
+   <element name="echoStringHeaderResponse">
     <complexType>
      <sequence/>
     </complexType>
    </element>
-   <element name="setHeaderStrings">
-    <complexType>
-     <sequence>
-      <element name="setValue" type="xsd:string"/>
-     </sequence>
-    </complexType>
-   </element>
-   <element name="header1" type="xsd:string"/>
-   <element name="header2" type="xsd:string"/>
-   <element name="setHeaderStringsResponse">
-    <complexType>
-     <sequence/>
-    </complexType>
-   </element>
-   <element name="inputHeader2" type="xsd:int"/>
-   <element name="echointHeader">
-    <complexType>
-     <sequence>
-      <element name="inputint" type="xsd:int"/>
-     </sequence>
-    </complexType>
-   </element>
-   <element name="inputHeader3" type="xsd:int"/>
-   <element name="echointHeaderResponse">
-    <complexType>
-     <sequence>
-      <element name="return" type="xsd:int"/>
-     </sequence>
-    </complexType>
-   </element>
   </schema>
  </wsdl:types>
 
-   <wsdl:message name="setHeaderStringsRequest">
-
-      <wsdl:part element="impl:setHeaderStrings" name="parameters"/>
-
-   </wsdl:message>
-
-   <wsdl:message name="echointHeaderRequest">
-
-      <wsdl:part element="impl:inputHeader2" name="inputHeader"/>
-
-      <wsdl:part element="impl:echointHeader" name="parameters"/>
-
-   </wsdl:message>
-
-   <wsdl:message name="setHeaderStringsResponse">
-
-      <wsdl:part element="impl:header1" name="header1"/>
-
-      <wsdl:part element="impl:header2" name="header2"/>
-
-      <wsdl:part element="impl:setHeaderStringsResponse" name="parameters"/>
-
-   </wsdl:message>
-
-   <wsdl:message name="modifyStringHeaderRequest">
+   <wsdl:message name="echoStringHeaderRequest">
 
       <wsdl:part element="impl:inputHeader" name="inputHeader"/>
 
-      <wsdl:part element="impl:modifyStringHeader" name="parameters"/>
+      <wsdl:part element="impl:echoStringHeader" name="parameters"/>
 
    </wsdl:message>
 
-   <wsdl:message name="modifyStringHeaderResponse">
+   <wsdl:message name="echoStringHeaderResponse">
 
       <wsdl:part element="impl:inputHeader1" name="inputHeader"/>
 
-      <wsdl:part element="impl:modifyStringHeaderResponse" name="parameters"/>
-
-   </wsdl:message>
-
-   <wsdl:message name="echointHeaderResponse">
-
-      <wsdl:part element="impl:inputHeader3" name="inputHeader"/>
-
-      <wsdl:part element="impl:echointHeaderResponse" name="parameters"/>
+      <wsdl:part element="impl:echoStringHeaderResponse" name="parameters"/>
 
    </wsdl:message>
 
    <wsdl:portType name="HandlerDocLitEndpoint">
 
-      <wsdl:operation name="modifyStringHeader">
-
-         <wsdl:input message="impl:modifyStringHeaderRequest" name="modifyStringHeaderRequest"/>
-
-         <wsdl:output message="impl:modifyStringHeaderResponse" name="modifyStringHeaderResponse"/>
-
-      </wsdl:operation>
-
-      <wsdl:operation name="setHeaderStrings">
-
-         <wsdl:input message="impl:setHeaderStringsRequest" name="setHeaderStringsRequest"/>
-
-         <wsdl:output message="impl:setHeaderStringsResponse" name="setHeaderStringsResponse"/>
-
-      </wsdl:operation>
-
-      <wsdl:operation name="echointHeader">
+      <wsdl:operation name="echoStringHeader">
 
-         <wsdl:input message="impl:echointHeaderRequest" name="echointHeaderRequest"/>
+         <wsdl:input message="impl:echoStringHeaderRequest" name="echoStringHeaderRequest"/>
 
-         <wsdl:output message="impl:echointHeaderResponse" name="echointHeaderResponse"/>
+         <wsdl:output message="impl:echoStringHeaderResponse" name="echoStringHeaderResponse"/>
 
       </wsdl:operation>
 
@@ -129,77 +51,25 @@
 
       <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
 
-      <wsdl:operation name="modifyStringHeader">
-
-         <wsdlsoap:operation soapAction=""/>
-
-         <wsdl:input name="modifyStringHeaderRequest">
-
-            <wsdlsoap:body parts="parameters" use="literal"/>
-
-            <wsdlsoap:header message="impl:modifyStringHeaderRequest" namespace="http://handlers" part="inputHeader" use="literal">
-
-            </wsdlsoap:header>
-
-         </wsdl:input>
-
-         <wsdl:output name="modifyStringHeaderResponse">
-
-            <wsdlsoap:body parts="parameters" use="literal"/>
-
-            <wsdlsoap:header message="impl:modifyStringHeaderResponse" namespace="http://handlers" part="inputHeader" use="literal">
-
-            </wsdlsoap:header>
-
-         </wsdl:output>
-
-      </wsdl:operation>
-
-      <wsdl:operation name="setHeaderStrings">
-
-         <wsdlsoap:operation soapAction=""/>
-
-         <wsdl:input name="setHeaderStringsRequest">
-
-            <wsdlsoap:body use="literal"/>
-
-         </wsdl:input>
-
-         <wsdl:output name="setHeaderStringsResponse">
-
-            <wsdlsoap:body parts="parameters" use="literal"/>
-
-            <wsdlsoap:header message="impl:setHeaderStringsResponse" namespace="http://handlers" part="header1" use="literal">
-
-            </wsdlsoap:header>
-
-            <wsdlsoap:header message="impl:setHeaderStringsResponse" namespace="http://handlers" part="header2" use="literal">
-
-            </wsdlsoap:header>
-
-         </wsdl:output>
-
-      </wsdl:operation>
-
-      <wsdl:operation name="echointHeader">
+      <wsdl:operation name="echoStringHeader">
 
          <wsdlsoap:operation soapAction=""/>
 
-         <wsdl:input name="echointHeaderRequest">
+         <wsdl:input name="echoStringHeaderRequest">
 
             <wsdlsoap:body parts="parameters" use="literal"/>
 
-            <wsdlsoap:header message="impl:echointHeaderRequest" namespace="http://handlers" part="inputHeader" use="literal">
+            <wsdlsoap:header message="impl:echoStringHeaderRequest" namespace="http://handlers" part="inputHeader" use="literal">
 
             </wsdlsoap:header>
 
          </wsdl:input>
 
-         <wsdl:output name="echointHeaderResponse">
+         <wsdl:output name="echoStringHeaderResponse">
 
             <wsdlsoap:body parts="parameters" use="literal"/>
 
-            <wsdlsoap:header message="impl:echointHeaderResponse" namespace="http://handlers" part="inputHeader" use="literal">
+            <wsdlsoap:header message="impl:echoStringHeaderResponse" namespace="http://handlers" part="inputHeader" use="literal">
 
             </wsdlsoap:header>
 

Modified: beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerRpcEncEndpoint.wsdl
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerRpcEncEndpoint.wsdl?rev=377404&r1=377403&r2=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerRpcEncEndpoint.wsdl (original)
+++ beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerRpcEncEndpoint.wsdl Mon Feb 13 08:10:14 2006
@@ -3,71 +3,25 @@
 <!--WSDL created by Apache Axis version: 1.3
 Built on Oct 05, 2005 (05:23:37 EDT)-->
 
-   <wsdl:message name="setHeaderStringsRequest">
-
-      <wsdl:part name="setValue" type="soapenc:string"/>
-
-   </wsdl:message>
-
-   <wsdl:message name="echointHeaderRequest">
-
-      <wsdl:part name="inputHeader" type="xsd:int"/>
-
-      <wsdl:part name="inputint" type="xsd:int"/>
-
-   </wsdl:message>
-
-   <wsdl:message name="setHeaderStringsResponse">
-
-      <wsdl:part name="header1" type="soapenc:string"/>
-
-      <wsdl:part name="header2" type="soapenc:string"/>
-
-   </wsdl:message>
-
-   <wsdl:message name="modifyStringHeaderRequest">
+   <wsdl:message name="echoStringHeaderRequest">
 
       <wsdl:part name="inputHeader" type="soapenc:string"/>
 
    </wsdl:message>
 
-   <wsdl:message name="modifyStringHeaderResponse">
+   <wsdl:message name="echoStringHeaderResponse">
 
       <wsdl:part name="inputHeader" type="soapenc:string"/>
 
    </wsdl:message>
 
-   <wsdl:message name="echointHeaderResponse">
-
-      <wsdl:part name="inputHeader" type="xsd:int"/>
-
-      <wsdl:part name="return" type="xsd:int"/>
-
-   </wsdl:message>
-
    <wsdl:portType name="HandlerRpcEncEndpoint">
 
-      <wsdl:operation name="modifyStringHeader" parameterOrder="inputHeader">
-
-         <wsdl:input message="impl:modifyStringHeaderRequest" name="modifyStringHeaderRequest"/>
-
-         <wsdl:output message="impl:modifyStringHeaderResponse" name="modifyStringHeaderResponse"/>
-
-      </wsdl:operation>
-
-      <wsdl:operation name="setHeaderStrings" parameterOrder="header1 header2 setValue">
-
-         <wsdl:input message="impl:setHeaderStringsRequest" name="setHeaderStringsRequest"/>
+      <wsdl:operation name="echoStringHeader" parameterOrder="inputHeader">
 
-         <wsdl:output message="impl:setHeaderStringsResponse" name="setHeaderStringsResponse"/>
+         <wsdl:input message="impl:echoStringHeaderRequest" name="echoStringHeaderRequest"/>
 
-      </wsdl:operation>
-
-      <wsdl:operation name="echointHeader" parameterOrder="inputHeader inputint">
-
-         <wsdl:input message="impl:echointHeaderRequest" name="echointHeaderRequest"/>
-
-         <wsdl:output message="impl:echointHeaderResponse" name="echointHeaderResponse"/>
+         <wsdl:output message="impl:echoStringHeaderResponse" name="echoStringHeaderResponse"/>
 
       </wsdl:operation>
 
@@ -77,77 +31,25 @@
 
       <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
 
-      <wsdl:operation name="modifyStringHeader">
+      <wsdl:operation name="echoStringHeader">
 
          <wsdlsoap:operation soapAction=""/>
 
-         <wsdl:input name="modifyStringHeaderRequest">
+         <wsdl:input name="echoStringHeaderRequest">
 
             <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://handlers" parts="" use="encoded"/>
 
-            <wsdlsoap:header encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" message="impl:modifyStringHeaderRequest" namespace="http://handlers" part="inputHeader" use="encoded">
-
-            </wsdlsoap:header>
-
-         </wsdl:input>
-
-         <wsdl:output name="modifyStringHeaderResponse">
-
-            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://handlers" parts="null" use="encoded"/>
-
-            <wsdlsoap:header encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" message="impl:modifyStringHeaderResponse" namespace="http://handlers" part="inputHeader" use="encoded">
+            <wsdlsoap:header encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" message="impl:echoStringHeaderRequest" namespace="http://handlers" part="inputHeader" use="encoded">
 
             </wsdlsoap:header>
 
-         </wsdl:output>
-
-      </wsdl:operation>
-
-      <wsdl:operation name="setHeaderStrings">
-
-         <wsdlsoap:operation soapAction=""/>
-
-         <wsdl:input name="setHeaderStringsRequest">
-
-            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://handlers" use="encoded"/>
-
          </wsdl:input>
 
-         <wsdl:output name="setHeaderStringsResponse">
+         <wsdl:output name="echoStringHeaderResponse">
 
             <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://handlers" parts="null" use="encoded"/>
 
-            <wsdlsoap:header encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" message="impl:setHeaderStringsResponse" namespace="http://handlers" part="header1" use="encoded">
-
-            </wsdlsoap:header>
-
-            <wsdlsoap:header encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" message="impl:setHeaderStringsResponse" namespace="http://handlers" part="header2" use="encoded">
-
-            </wsdlsoap:header>
-
-         </wsdl:output>
-
-      </wsdl:operation>
-
-      <wsdl:operation name="echointHeader">
-
-         <wsdlsoap:operation soapAction=""/>
-
-         <wsdl:input name="echointHeaderRequest">
-
-            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://handlers" parts="inputint" use="encoded"/>
-
-            <wsdlsoap:header encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" message="impl:echointHeaderRequest" namespace="http://handlers" part="inputHeader" use="encoded">
-
-            </wsdlsoap:header>
-
-         </wsdl:input>
-
-         <wsdl:output name="echointHeaderResponse">
-
-            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://handlers" parts="return" use="encoded"/>
-
-            <wsdlsoap:header encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" message="impl:echointHeaderResponse" namespace="http://handlers" part="inputHeader" use="encoded">
+            <wsdlsoap:header encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" message="impl:echoStringHeaderResponse" namespace="http://handlers" part="inputHeader" use="encoded">
 
             </wsdlsoap:header>
 

Modified: beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerRpcLitEndpoint.wsdl
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerRpcLitEndpoint.wsdl?rev=377404&r1=377403&r2=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerRpcLitEndpoint.wsdl (original)
+++ beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HandlerRpcLitEndpoint.wsdl Mon Feb 13 08:10:14 2006
@@ -3,95 +3,25 @@
 <!--WSDL created by Apache Axis version: 1.3
 Built on Oct 05, 2005 (05:23:37 EDT)-->
 
-   <wsdl:message name="setHeaderStringsRequest">
-
-      <wsdl:part name="setValue" type="xsd:string"/>
-
-   </wsdl:message>
-
-   <wsdl:message name="echointHeaderRequest">
-
-      <wsdl:part name="inputHeader" type="xsd:int"/>
-
-      <wsdl:part name="inputint" type="xsd:int"/>
-
-   </wsdl:message>
-
-   <wsdl:message name="setHeaderStringsResponse">
-
-      <wsdl:part name="header1" type="xsd:string"/>
-
-      <wsdl:part name="header2" type="xsd:string"/>
-
-   </wsdl:message>
-
-   <wsdl:message name="echoStringHeaderAndResultResponse">
-
-      <wsdl:part name="inputHeader" type="xsd:string"/>
-
-      <wsdl:part name="return" type="xsd:string"/>
-
-   </wsdl:message>
-
-   <wsdl:message name="echoStringHeaderAndResultRequest">
-
-      <wsdl:part name="inputHeader" type="xsd:string"/>
-
-      <wsdl:part name="inputString" type="xsd:string"/>
-
-   </wsdl:message>
-
-   <wsdl:message name="modifyStringHeaderRequest">
+   <wsdl:message name="echoStringHeaderRequest">
 
       <wsdl:part name="inputHeader" type="xsd:string"/>
 
    </wsdl:message>
 
-   <wsdl:message name="modifyStringHeaderResponse">
+   <wsdl:message name="echoStringHeaderResponse">
 
       <wsdl:part name="inputHeader" type="xsd:string"/>
 
    </wsdl:message>
 
-   <wsdl:message name="echointHeaderResponse">
-
-      <wsdl:part name="inputHeader" type="xsd:int"/>
-
-      <wsdl:part name="return" type="xsd:int"/>
-
-   </wsdl:message>
-
    <wsdl:portType name="HandlerRpcLitEndpoint">
 
-      <wsdl:operation name="modifyStringHeader" parameterOrder="inputHeader">
+      <wsdl:operation name="echoStringHeader" parameterOrder="inputHeader">
 
-         <wsdl:input message="impl:modifyStringHeaderRequest" name="modifyStringHeaderRequest"/>
+         <wsdl:input message="impl:echoStringHeaderRequest" name="echoStringHeaderRequest"/>
 
-         <wsdl:output message="impl:modifyStringHeaderResponse" name="modifyStringHeaderResponse"/>
-
-      </wsdl:operation>
-
-      <wsdl:operation name="setHeaderStrings" parameterOrder="header1 header2 setValue">
-
-         <wsdl:input message="impl:setHeaderStringsRequest" name="setHeaderStringsRequest"/>
-
-         <wsdl:output message="impl:setHeaderStringsResponse" name="setHeaderStringsResponse"/>
-
-      </wsdl:operation>
-
-      <wsdl:operation name="echointHeader" parameterOrder="inputHeader inputint">
-
-         <wsdl:input message="impl:echointHeaderRequest" name="echointHeaderRequest"/>
-
-         <wsdl:output message="impl:echointHeaderResponse" name="echointHeaderResponse"/>
-
-      </wsdl:operation>
-
-      <wsdl:operation name="echoStringHeaderAndResult" parameterOrder="inputHeader inputString">
-
-         <wsdl:input message="impl:echoStringHeaderAndResultRequest" name="echoStringHeaderAndResultRequest"/>
-
-         <wsdl:output message="impl:echoStringHeaderAndResultResponse" name="echoStringHeaderAndResultResponse"/>
+         <wsdl:output message="impl:echoStringHeaderResponse" name="echoStringHeaderResponse"/>
 
       </wsdl:operation>
 
@@ -101,103 +31,25 @@
 
       <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
 
-      <wsdl:operation name="modifyStringHeader">
+      <wsdl:operation name="echoStringHeader">
 
          <wsdlsoap:operation soapAction=""/>
 
-         <wsdl:input name="modifyStringHeaderRequest">
+         <wsdl:input name="echoStringHeaderRequest">
 
             <wsdlsoap:body namespace="http://handlers" parts="" use="literal"/>
 
-            <wsdlsoap:header message="impl:modifyStringHeaderRequest" namespace="http://handlers" part="inputHeader" use="literal">
+            <wsdlsoap:header message="impl:echoStringHeaderRequest" namespace="http://handlers" part="inputHeader" use="literal">
 
             </wsdlsoap:header>
 
          </wsdl:input>
 
-         <wsdl:output name="modifyStringHeaderResponse">
+         <wsdl:output name="echoStringHeaderResponse">
 
             <wsdlsoap:body namespace="http://handlers" parts="null" use="literal"/>
 
-            <wsdlsoap:header message="impl:modifyStringHeaderResponse" namespace="http://handlers" part="inputHeader" use="literal">
-
-            </wsdlsoap:header>
-
-         </wsdl:output>
-
-      </wsdl:operation>
-
-      <wsdl:operation name="setHeaderStrings">
-
-         <wsdlsoap:operation soapAction=""/>
-
-         <wsdl:input name="setHeaderStringsRequest">
-
-            <wsdlsoap:body namespace="http://handlers" use="literal"/>
-
-         </wsdl:input>
-
-         <wsdl:output name="setHeaderStringsResponse">
-
-            <wsdlsoap:body namespace="http://handlers" parts="null" use="literal"/>
-
-            <wsdlsoap:header message="impl:setHeaderStringsResponse" namespace="http://handlers" part="header1" use="literal">
-
-            </wsdlsoap:header>
-
-            <wsdlsoap:header message="impl:setHeaderStringsResponse" namespace="http://handlers" part="header2" use="literal">
-
-            </wsdlsoap:header>
-
-         </wsdl:output>
-
-      </wsdl:operation>
-
-      <wsdl:operation name="echointHeader">
-
-         <wsdlsoap:operation soapAction=""/>
-
-         <wsdl:input name="echointHeaderRequest">
-
-            <wsdlsoap:body namespace="http://handlers" parts="inputint" use="literal"/>
-
-            <wsdlsoap:header message="impl:echointHeaderRequest" namespace="http://handlers" part="inputHeader" use="literal">
-
-            </wsdlsoap:header>
-
-         </wsdl:input>
-
-         <wsdl:output name="echointHeaderResponse">
-
-            <wsdlsoap:body namespace="http://handlers" parts="return" use="literal"/>
-
-            <wsdlsoap:header message="impl:echointHeaderResponse" namespace="http://handlers" part="inputHeader" use="literal">
-
-            </wsdlsoap:header>
-
-         </wsdl:output>
-
-      </wsdl:operation>
-
-      <wsdl:operation name="echoStringHeaderAndResult">
-
-         <wsdlsoap:operation soapAction=""/>
-
-         <wsdl:input name="echoStringHeaderAndResultRequest">
-
-            <wsdlsoap:body namespace="http://handlers" parts="inputString" use="literal"/>
-
-            <wsdlsoap:header message="impl:echoStringHeaderAndResultRequest" namespace="http://handlers" part="inputHeader" use="literal">
-
-            </wsdlsoap:header>
-
-         </wsdl:input>
-
-         <wsdl:output name="echoStringHeaderAndResultResponse">
-
-            <wsdlsoap:body namespace="http://handlers" parts="return" use="literal"/>
-
-            <wsdlsoap:header message="impl:echoStringHeaderAndResultResponse" namespace="http://handlers" part="inputHeader" use="literal">
+            <wsdlsoap:header message="impl:echoStringHeaderResponse" namespace="http://handlers" part="inputHeader" use="literal">
 
             </wsdlsoap:header>
 

Modified: beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HeaderDocLitEndpoint.wsdl
URL: http://svn.apache.org/viewcvs/beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HeaderDocLitEndpoint.wsdl?rev=377404&r1=377403&r2=377404&view=diff
==============================================================================
--- beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HeaderDocLitEndpoint.wsdl (original)
+++ beehive/trunk/system-controls/test/webservice/webapp/wsdl/schematypes/HeaderDocLitEndpoint.wsdl Mon Feb 13 08:10:14 2006
@@ -5,48 +5,31 @@
  <wsdl:types>
   <schema elementFormDefault="qualified" targetNamespace="http://header" xmlns="http://www.w3.org/2001/XMLSchema">
    <element name="inputHeader" type="xsd:string"/>
-   <element name="modifyStringHeader">
-    <complexType>
-     <sequence/>
-    </complexType>
-   </element>
-   <element name="inputHeader1" type="xsd:string"/>
-   <element name="modifyStringHeaderResponse">
+   <element name="echoReturnStringHeader">
     <complexType>
      <sequence/>
     </complexType>
    </element>
-   <element name="setHeaderStrings">
+   <element name="echoReturnStringHeaderResponse">
     <complexType>
      <sequence>
-      <element name="setValue" type="xsd:string"/>
+      <element name="return" type="xsd:string"/>
      </sequence>
     </complexType>
    </element>
-   <element name="header1" type="xsd:string"/>
-   <element name="header2" type="xsd:string"/>
-   <element name="setHeaderStringsResponse">
+   <element name="inputHeader1" type="xsd:string"/>
+   <element name="modifyStringHeader">
     <complexType>
      <sequence/>
     </complexType>
    </element>
-   <element name="inputHeader2" type="xsd:int"/>
-   <element name="echointHeader">
-    <complexType>
-     <sequence>
-      <element name="inputint" type="xsd:int"/>
-     </sequence>
-    </complexType>
-   </element>
-   <element name="inputHeader3" type="xsd:int"/>
-   <element name="echointHeaderResponse">
+   <element name="inputHeader2" type="xsd:string"/>
+   <element name="modifyStringHeaderResponse">
     <complexType>
-     <sequence>
-      <element name="return" type="xsd:int"/>
-     </sequence>
+     <sequence/>
     </complexType>
    </element>
-   <element name="inputHeader4" type="xsd:string"/>
+   <element name="inputHeader3" type="xsd:string"/>
    <element name="echoStringHeaderAndResult">
     <complexType>
      <sequence>
@@ -54,7 +37,7 @@
      </sequence>
     </complexType>
    </element>
-   <element name="inputHeader5" type="xsd:string"/>
+   <element name="inputHeader4" type="xsd:string"/>
    <element name="echoStringHeaderAndResultResponse">
     <complexType>
      <sequence>
@@ -62,57 +45,66 @@
      </sequence>
     </complexType>
    </element>
-   <element name="inputHeader6" type="xsd:string"/>
-   <element name="echoReturnStringHeader">
+   <element name="header1" type="xsd:string"/>
+   <element name="header2" type="xsd:string"/>
+   <element name="swapHeaderStrings">
     <complexType>
      <sequence/>
     </complexType>
    </element>
-   <element name="echoReturnStringHeaderResponse">
-    <complexType>
-     <sequence>
-      <element name="return" type="xsd:string"/>
-     </sequence>
-    </complexType>
-   </element>
    <element name="header3" type="xsd:string"/>
    <element name="header4" type="xsd:string"/>
-   <element name="swapHeaderStrings">
+   <element name="swapHeaderStringsResponse">
     <complexType>
      <sequence/>
     </complexType>
    </element>
+   <element name="setHeaderStrings">
+    <complexType>
+     <sequence>
+      <element name="setValue" type="xsd:string"/>
+     </sequence>
+    </complexType>
+   </element>
    <element name="header5" type="xsd:string"/>
    <element name="header6" type="xsd:string"/>
-   <element name="swapHeaderStringsResponse">
+   <element name="setHeaderStringsResponse">
     <complexType>
      <sequence/>
     </complexType>
    </element>
+   <element name="inputHeader5" type="xsd:int"/>
+   <element name="echointHeader">
+    <complexType>
+     <sequence>
+      <element name="inputint" type="xsd:int"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="inputHeader6" type="xsd:int"/>
+   <element name="echointHeaderResponse">
+    <complexType>
+     <sequence>
+      <element name="return" type="xsd:int"/>
+     </sequence>
+    </complexType>
+   </element>
   </schema>
  </wsdl:types>
 
    <wsdl:message name="swapHeaderStringsRequest">
 
-      <wsdl:part element="impl:header3" name="header1"/>
+      <wsdl:part element="impl:header1" name="header1"/>
 
-      <wsdl:part element="impl:header4" name="header2"/>
+      <wsdl:part element="impl:header2" name="header2"/>
 
       <wsdl:part element="impl:swapHeaderStrings" name="parameters"/>
 
    </wsdl:message>
 
-   <wsdl:message name="echoReturnStringHeaderRequest">
-
-      <wsdl:part element="impl:inputHeader6" name="inputHeader"/>
-
-      <wsdl:part element="impl:echoReturnStringHeader" name="parameters"/>
-
-   </wsdl:message>
-
    <wsdl:message name="echointHeaderRequest">
 
-      <wsdl:part element="impl:inputHeader2" name="inputHeader"/>
+      <wsdl:part element="impl:inputHeader5" name="inputHeader"/>
 
       <wsdl:part element="impl:echointHeader" name="parameters"/>
 
@@ -120,44 +112,52 @@
 
    <wsdl:message name="setHeaderStringsResponse">
 
-      <wsdl:part element="impl:header1" name="header1"/>
+      <wsdl:part element="impl:header5" name="header1"/>
 
-      <wsdl:part element="impl:header2" name="header2"/>
+      <wsdl:part element="impl:header6" name="header2"/>
 
       <wsdl:part element="impl:setHeaderStringsResponse" name="parameters"/>
 
    </wsdl:message>
 
-   <wsdl:message name="echoStringHeaderAndResultResponse">
+   <wsdl:message name="echoReturnStringHeaderRequest">
 
-      <wsdl:part element="impl:inputHeader5" name="inputHeader"/>
+      <wsdl:part element="impl:inputHeader" name="inputHeader"/>
 
-      <wsdl:part element="impl:echoStringHeaderAndResultResponse" name="parameters"/>
+      <wsdl:part element="impl:echoReturnStringHeader" name="parameters"/>
 
    </wsdl:message>
 
    <wsdl:message name="echointHeaderResponse">
 
-      <wsdl:part element="impl:inputHeader3" name="inputHeader"/>
+      <wsdl:part element="impl:inputHeader6" name="inputHeader"/>
 
       <wsdl:part element="impl:echointHeaderResponse" name="parameters"/>
 
    </wsdl:message>
 
-   <wsdl:message name="echoReturnStringHeaderResponse">
+   <wsdl:message name="echoStringHeaderAndResultResponse">
 
-      <wsdl:part element="impl:echoReturnStringHeaderResponse" name="parameters"/>
+      <wsdl:part element="impl:inputHeader4" name="inputHeader"/>
+
+      <wsdl:part element="impl:echoStringHeaderAndResultResponse" name="parameters"/>
 
    </wsdl:message>
 
    <wsdl:message name="modifyStringHeaderRequest">
 
-      <wsdl:part element="impl:inputHeader" name="inputHeader"/>
+      <wsdl:part element="impl:inputHeader1" name="inputHeader"/>
 
       <wsdl:part element="impl:modifyStringHeader" name="parameters"/>
 
    </wsdl:message>
 
+   <wsdl:message name="echoReturnStringHeaderResponse">
+
+      <wsdl:part element="impl:echoReturnStringHeaderResponse" name="parameters"/>
+
+   </wsdl:message>
+
    <wsdl:message name="setHeaderStringsRequest">
 
       <wsdl:part element="impl:setHeaderStrings" name="parameters"/>
@@ -166,9 +166,9 @@
 
    <wsdl:message name="swapHeaderStringsResponse">
 
-      <wsdl:part element="impl:header5" name="header1"/>
+      <wsdl:part element="impl:header3" name="header1"/>
 
-      <wsdl:part element="impl:header6" name="header2"/>
+      <wsdl:part element="impl:header4" name="header2"/>
 
       <wsdl:part element="impl:swapHeaderStringsResponse" name="parameters"/>
 
@@ -176,7 +176,7 @@
 
    <wsdl:message name="echoStringHeaderAndResultRequest">
 
-      <wsdl:part element="impl:inputHeader4" name="inputHeader"/>
+      <wsdl:part element="impl:inputHeader3" name="inputHeader"/>
 
       <wsdl:part element="impl:echoStringHeaderAndResult" name="parameters"/>
 
@@ -184,7 +184,7 @@
 
    <wsdl:message name="modifyStringHeaderResponse">
 
-      <wsdl:part element="impl:inputHeader1" name="inputHeader"/>
+      <wsdl:part element="impl:inputHeader2" name="inputHeader"/>
 
       <wsdl:part element="impl:modifyStringHeaderResponse" name="parameters"/>
 
@@ -192,51 +192,51 @@
 
    <wsdl:portType name="HeaderDocLitEndpoint">
 
-      <wsdl:operation name="modifyStringHeader">
+      <wsdl:operation name="echoReturnStringHeader">
 
-         <wsdl:input message="impl:modifyStringHeaderRequest" name="modifyStringHeaderRequest"/>
+         <wsdl:input message="impl:echoReturnStringHeaderRequest" name="echoReturnStringHeaderRequest"/>
 
-         <wsdl:output message="impl:modifyStringHeaderResponse" name="modifyStringHeaderResponse"/>
+         <wsdl:output message="impl:echoReturnStringHeaderResponse" name="echoReturnStringHeaderResponse"/>
 
       </wsdl:operation>
 
-      <wsdl:operation name="setHeaderStrings">
+      <wsdl:operation name="modifyStringHeader">
 
-         <wsdl:input message="impl:setHeaderStringsRequest" name="setHeaderStringsRequest"/>
+         <wsdl:input message="impl:modifyStringHeaderRequest" name="modifyStringHeaderRequest"/>
 
-         <wsdl:output message="impl:setHeaderStringsResponse" name="setHeaderStringsResponse"/>
+         <wsdl:output message="impl:modifyStringHeaderResponse" name="modifyStringHeaderResponse"/>
 
       </wsdl:operation>
 
-      <wsdl:operation name="echointHeader">
+      <wsdl:operation name="echoStringHeaderAndResult">
 
-         <wsdl:input message="impl:echointHeaderRequest" name="echointHeaderRequest"/>
+         <wsdl:input message="impl:echoStringHeaderAndResultRequest" name="echoStringHeaderAndResultRequest"/>
 
-         <wsdl:output message="impl:echointHeaderResponse" name="echointHeaderResponse"/>
+         <wsdl:output message="impl:echoStringHeaderAndResultResponse" name="echoStringHeaderAndResultResponse"/>
 
       </wsdl:operation>
 
-      <wsdl:operation name="echoStringHeaderAndResult">
+      <wsdl:operation name="swapHeaderStrings">
 
-         <wsdl:input message="impl:echoStringHeaderAndResultRequest" name="echoStringHeaderAndResultRequest"/>
+         <wsdl:input message="impl:swapHeaderStringsRequest" name="swapHeaderStringsRequest"/>
 
-         <wsdl:output message="impl:echoStringHeaderAndResultResponse" name="echoStringHeaderAndResultResponse"/>
+         <wsdl:output message="impl:swapHeaderStringsResponse" name="swapHeaderStringsResponse"/>
 
       </wsdl:operation>
 
-      <wsdl:operation name="echoReturnStringHeader">
+      <wsdl:operation name="setHeaderStrings">
 
-         <wsdl:input message="impl:echoReturnStringHeaderRequest" name="echoReturnStringHeaderRequest"/>
+         <wsdl:input message="impl:setHeaderStringsRequest" name="setHeaderStringsRequest"/>
 
-         <wsdl:output message="impl:echoReturnStringHeaderResponse" name="echoReturnStringHeaderResponse"/>
+         <wsdl:output message="impl:setHeaderStringsResponse" name="setHeaderStringsResponse"/>
 
       </wsdl:operation>
 
-      <wsdl:operation name="swapHeaderStrings">
+      <wsdl:operation name="echointHeader">
 
-         <wsdl:input message="impl:swapHeaderStringsRequest" name="swapHeaderStringsRequest"/>
+         <wsdl:input message="impl:echointHeaderRequest" name="echointHeaderRequest"/>
 
-         <wsdl:output message="impl:swapHeaderStringsResponse" name="swapHeaderStringsResponse"/>
+         <wsdl:output message="impl:echointHeaderResponse" name="echointHeaderResponse"/>
 
       </wsdl:operation>
 
@@ -246,51 +246,47 @@
 
       <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
 
-      <wsdl:operation name="modifyStringHeader">
+      <wsdl:operation name="echoReturnStringHeader">
 
          <wsdlsoap:operation soapAction=""/>
 
-         <wsdl:input name="modifyStringHeaderRequest">
+         <wsdl:input name="echoReturnStringHeaderRequest">
 
             <wsdlsoap:body parts="parameters" use="literal"/>
 
-            <wsdlsoap:header message="impl:modifyStringHeaderRequest" namespace="http://header" part="inputHeader" use="literal">
+            <wsdlsoap:header message="impl:echoReturnStringHeaderRequest" namespace="http://header" part="inputHeader" use="literal">
 
             </wsdlsoap:header>
 
          </wsdl:input>
 
-         <wsdl:output name="modifyStringHeaderResponse">
-
-            <wsdlsoap:body parts="parameters" use="literal"/>
-
-            <wsdlsoap:header message="impl:modifyStringHeaderResponse" namespace="http://header" part="inputHeader" use="literal">
+         <wsdl:output name="echoReturnStringHeaderResponse">
 
-            </wsdlsoap:header>
+            <wsdlsoap:body use="literal"/>
 
          </wsdl:output>
 
       </wsdl:operation>
 
-      <wsdl:operation name="setHeaderStrings">
+      <wsdl:operation name="modifyStringHeader">
 
          <wsdlsoap:operation soapAction=""/>
 
-         <wsdl:input name="setHeaderStringsRequest">
+         <wsdl:input name="modifyStringHeaderRequest">
 
-            <wsdlsoap:body use="literal"/>
+            <wsdlsoap:body parts="parameters" use="literal"/>
 
-         </wsdl:input>
+            <wsdlsoap:header message="impl:modifyStringHeaderRequest" namespace="http://header" part="inputHeader" use="literal">
 
-         <wsdl:output name="setHeaderStringsResponse">
+            </wsdlsoap:header>
 
-            <wsdlsoap:body parts="parameters" use="literal"/>
+         </wsdl:input>
 
-            <wsdlsoap:header message="impl:setHeaderStringsResponse" namespace="http://header" part="header1" use="literal">
+         <wsdl:output name="modifyStringHeaderResponse">
 
-            </wsdlsoap:header>
+            <wsdlsoap:body parts="parameters" use="literal"/>
 
-            <wsdlsoap:header message="impl:setHeaderStringsResponse" namespace="http://header" part="header2" use="literal">
+            <wsdlsoap:header message="impl:modifyStringHeaderResponse" namespace="http://header" part="inputHeader" use="literal">
 
             </wsdlsoap:header>
 
@@ -298,25 +294,25 @@
 
       </wsdl:operation>
 
-      <wsdl:operation name="echointHeader">
+      <wsdl:operation name="echoStringHeaderAndResult">
 
          <wsdlsoap:operation soapAction=""/>
 
-         <wsdl:input name="echointHeaderRequest">
+         <wsdl:input name="echoStringHeaderAndResultRequest">
 
             <wsdlsoap:body parts="parameters" use="literal"/>
 
-            <wsdlsoap:header message="impl:echointHeaderRequest" namespace="http://header" part="inputHeader" use="literal">
+            <wsdlsoap:header message="impl:echoStringHeaderAndResultRequest" namespace="http://header" part="inputHeader" use="literal">
 
             </wsdlsoap:header>
 
          </wsdl:input>
 
-         <wsdl:output name="echointHeaderResponse">
+         <wsdl:output name="echoStringHeaderAndResultResponse">
 
             <wsdlsoap:body parts="parameters" use="literal"/>
 
-            <wsdlsoap:header message="impl:echointHeaderResponse" namespace="http://header" part="inputHeader" use="literal">
+            <wsdlsoap:header message="impl:echoStringHeaderAndResultResponse" namespace="http://header" part="inputHeader" use="literal">
 
             </wsdlsoap:header>
 
@@ -324,25 +320,33 @@
 
       </wsdl:operation>
 
-      <wsdl:operation name="echoStringHeaderAndResult">
+      <wsdl:operation name="swapHeaderStrings">
 
          <wsdlsoap:operation soapAction=""/>
 
-         <wsdl:input name="echoStringHeaderAndResultRequest">
+         <wsdl:input name="swapHeaderStringsRequest">
 
             <wsdlsoap:body parts="parameters" use="literal"/>
 
-            <wsdlsoap:header message="impl:echoStringHeaderAndResultRequest" namespace="http://header" part="inputHeader" use="literal">
+            <wsdlsoap:header message="impl:swapHeaderStringsRequest" namespace="http://header" part="header1" use="literal">
+
+            </wsdlsoap:header>
+
+            <wsdlsoap:header message="impl:swapHeaderStringsRequest" namespace="http://header" part="header2" use="literal">
 
             </wsdlsoap:header>
 
          </wsdl:input>
 
-         <wsdl:output name="echoStringHeaderAndResultResponse">
+         <wsdl:output name="swapHeaderStringsResponse">
 
             <wsdlsoap:body parts="parameters" use="literal"/>
 
-            <wsdlsoap:header message="impl:echoStringHeaderAndResultResponse" namespace="http://header" part="inputHeader" use="literal">
+            <wsdlsoap:header message="impl:swapHeaderStringsResponse" namespace="http://header" part="header1" use="literal">
+
+            </wsdlsoap:header>
+
+            <wsdlsoap:header message="impl:swapHeaderStringsResponse" namespace="http://header" part="header2" use="literal">
 
             </wsdlsoap:header>
 
@@ -350,55 +354,51 @@
 
       </wsdl:operation>
 
-      <wsdl:operation name="echoReturnStringHeader">
+      <wsdl:operation name="setHeaderStrings">
 
          <wsdlsoap:operation soapAction=""/>
 
-         <wsdl:input name="echoReturnStringHeaderRequest">
+         <wsdl:input name="setHeaderStringsRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="setHeaderStringsResponse">
 
             <wsdlsoap:body parts="parameters" use="literal"/>
 
-            <wsdlsoap:header message="impl:echoReturnStringHeaderRequest" namespace="http://header" part="inputHeader" use="literal">
+            <wsdlsoap:header message="impl:setHeaderStringsResponse" namespace="http://header" part="header1" use="literal">
 
             </wsdlsoap:header>
 
-         </wsdl:input>
-
-         <wsdl:output name="echoReturnStringHeaderResponse">
+            <wsdlsoap:header message="impl:setHeaderStringsResponse" namespace="http://header" part="header2" use="literal">
 
-            <wsdlsoap:body use="literal"/>
+            </wsdlsoap:header>
 
          </wsdl:output>
 
       </wsdl:operation>
 
-      <wsdl:operation name="swapHeaderStrings">
+      <wsdl:operation name="echointHeader">
 
          <wsdlsoap:operation soapAction=""/>
 
-         <wsdl:input name="swapHeaderStringsRequest">
+         <wsdl:input name="echointHeaderRequest">
 
             <wsdlsoap:body parts="parameters" use="literal"/>
 
-            <wsdlsoap:header message="impl:swapHeaderStringsRequest" namespace="http://header" part="header1" use="literal">
-
-            </wsdlsoap:header>
-
-            <wsdlsoap:header message="impl:swapHeaderStringsRequest" namespace="http://header" part="header2" use="literal">
+            <wsdlsoap:header message="impl:echointHeaderRequest" namespace="http://header" part="inputHeader" use="literal">
 
             </wsdlsoap:header>
 
          </wsdl:input>
 
-         <wsdl:output name="swapHeaderStringsResponse">
+         <wsdl:output name="echointHeaderResponse">
 
             <wsdlsoap:body parts="parameters" use="literal"/>
 
-            <wsdlsoap:header message="impl:swapHeaderStringsResponse" namespace="http://header" part="header1" use="literal">
-
-            </wsdlsoap:header>
-
-            <wsdlsoap:header message="impl:swapHeaderStringsResponse" namespace="http://header" part="header2" use="literal">
+            <wsdlsoap:header message="impl:echointHeaderResponse" namespace="http://header" part="inputHeader" use="literal">
 
             </wsdlsoap:header>