[xgws-dev] CVS Update: codes/xsul/java/tests/xsul/async_msg

Aleksander Andrzej Slominski xgws-dev_at_extreme.indiana.edu
Tue Oct 3 16:23:01 2006


aslom       06/10/03 16:22:32

  Modified:    xsul/java/modules/common/xsul XsulVersion.java
               xsul/java/modules/lead/xsul/lead lead-context.xsd
               xsul/java/modules/monitoring/xsul/monitoring
                        XsulMonitoringStats.java XsulMonitoringUtil.java
                        xsul-monitoring.wsdl
               xsul/java/modules/xservo_soap_http/xsul/xservo_soap_http
                        HttpBasedServices.java
               xsul/java/tests/xsul/async_msg EchoAsyncService.java
  Log:
  added service-description? and service-wsdl*
  
  Revision  Changes    Path
  1.93      +3 -8      codes/xsul/java/modules/common/xsul/XsulVersion.java
  
  Index: XsulVersion.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/modules/common/xsul/XsulVersion.java,v
  retrieving revision 1.92
  retrieving revision 1.93
  diff -u -b -t -w -r1.92 -r1.93
  --- XsulVersion.java	3 Oct 2006 15:43:35 -0000	1.92
  +++ XsulVersion.java	3 Oct 2006 20:22:31 -0000	1.93
  @@ -1,17 +1,17 @@
   /* -*- mode: Java; c-basic-offset: 4; indent-tabs-mode: nil; -*-  //------100-columns-wide------>|*/
   /* Copyright (c) 2002-2006 Extreme! Lab, Indiana University. All rights reserved.
    * This software is open source. See the bottom of this file for the licence.
  - * $Id: XsulVersion.java,v 1.92 2006/10/03 15:43:35 aslom Exp $ */
  + * $Id: XsulVersion.java,v 1.93 2006/10/03 20:22:31 aslom Exp $ */
   package xsul;
   
   /**
    * One place to put version number.
    *
  - * @version $Revision: 1.92 $
  + * @version $Revision: 1.93 $
    * @author <a href="http://www.extreme.indiana.edu/~aslom/">Aleksander Slominski</a>
    */
   public class XsulVersion {
  -    public final static String SPEC_VERSION = "2.7.7";
  +    public final static String SPEC_VERSION = "2.7.8";
       private final static String BUILD = ""; //"_dev"; //"_f2"; //"_SPECIAL_EDITION";//"_b4";
   
       private final static String PROJECT_NAME = "XSUL";
  @@ -230,8 +230,3 @@
    * SOFTWARE.
    */
   
  -        
  -
  -
  -
  -
  
  
  
  1.6       +1 -1      codes/xsul/java/modules/lead/xsul/lead/lead-context.xsd
  
  Index: lead-context.xsd
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/modules/lead/xsul/lead/lead-context.xsd,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -b -t -w -r1.5 -r1.6
  --- lead-context.xsd	3 Oct 2006 15:43:36 -0000	1.5
  +++ lead-context.xsd	3 Oct 2006 20:22:31 -0000	1.6
  @@ -98,7 +98,7 @@
             <!-- for description see: http://www.xfront.com/ExtensibleContentModels.html -->
             <!-- and http://www.xml.com/lpt/a/2002/07/03/schema_design.html -->
             <element minOccurs="1" maxOccurs="1" ref="lead:user-dn"/>
  -          <any namespace="##any" minOccurs="0"/>
  +          <any namespace="##any" minOccurs="0" maxOccurs="unbounded" />
   <!--          <any namespace="##targetNamespace" processContents="strict"
                minOccurs="0" maxOccurs="unbounded" />
             <any namespace="##other" processContents="lax" minOccurs="0"
  
  
  
  1.8       +52 -8     codes/xsul/java/modules/monitoring/xsul/monitoring/XsulMonitoringStats.java
  
  Index: XsulMonitoringStats.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/modules/monitoring/xsul/monitoring/XsulMonitoringStats.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -b -t -w -r1.7 -r1.8
  --- XsulMonitoringStats.java	3 Oct 2006 17:40:44 -0000	1.7
  +++ XsulMonitoringStats.java	3 Oct 2006 20:22:32 -0000	1.8
  @@ -4,10 +4,11 @@
    *
    * This software is open source. See the bottom of this file for the licence.
    *
  - * $Id: XsulMonitoringStats.java,v 1.7 2006/10/03 17:40:44 aslom Exp $
  + * $Id: XsulMonitoringStats.java,v 1.8 2006/10/03 20:22:32 aslom Exp $
    */
   package xsul.monitoring;
   
  +import java.net.URI;
   import org.xmlpull.v1.builder.XmlElement;
   import org.xmlpull.v1.builder.XmlInfosetBuilder;
   import org.xmlpull.v1.builder.XmlNamespace;
  @@ -23,12 +24,15 @@
       private final static MLogger logger = MLogger.getLogger();
       private final static XmlInfosetBuilder builder = XmlConstants.BUILDER;
       public final static XmlNamespace MONITORING_NS = builder.newNamespace(
  -        "m", "http://www.extreme.indiana.edu/xgws/xsul/monitoring/2005");
  +        "m", "http://www.extreme.indiana.edu/xgws/xsul/monitoring/2006/");
       public final static String PING_REQUEST = "Ping";
       public final static String PING_RESPONSE = "PingResponse";
       
       public final static String SERVICE_STATS = "service-stats";
       public final static String SERVICE_NAME = "service-name";
  +    public final static String SERVICE_DESCRIPTION = "service-description";
  +    public final static String SERVICE_WSDL = "service-wsdl";
  +    public final static String SERVICE_WSDL_NAME = "name";
       public final static String TOOLKIT_NAME = "toolkit-name";
       public final static String STARTTIME_SECONDS = "starttime-seconds";
       public final static String XML_REQUESTS_COUNT = "xml-requests-count";
  @@ -41,17 +45,40 @@
       private String serviceName;
       private long startTimeMs;
       private long requestXmlMsgsCount;
  +    private URI[] serviceWsdls;
  +    private String[] serviceWsdlNames;
       
  -    protected XsulMonitoringStats(String serviceName, long startTimeInMs,
  -                                  long requestXmlMsgCount, long numberOfConnections) {
  +    protected XsulMonitoringStats(String serviceName,
  +                                  String serviceDescription,
  +                                  String[] serviceWsdlNames,
  +                                  URI[] serviceWsdls,
  +                                  long startTimeInMs,
  +                                  long requestXmlMsgCount,
  +                                  long numberOfConnections) {
           super(builder.newFragment(MONITORING_NS, SERVICE_STATS));
           this.serviceName = serviceName;
  +        this.serviceWsdls = serviceWsdls;
  +        this.serviceWsdlNames = serviceWsdlNames;
           this.startTimeMs = startTimeInMs;
           this.requestXmlMsgsCount = requestXmlMsgCount;
           {
               XmlElement serviceNameEl = addElement(MONITORING_NS, SERVICE_NAME);
               serviceNameEl.addChild(serviceName);
           }
  +        if(serviceDescription != null) {
  +            XmlElement serviceDescEl = addElement(MONITORING_NS, SERVICE_DESCRIPTION);
  +            serviceDescEl.addChild(serviceDescription);
  +        }
  +        if(serviceWsdls != null) {
  +            for (int i = 0; i < serviceWsdls.length; i++)
  +            {
  +                XmlElement serviceWsdlEl = addElement(MONITORING_NS, SERVICE_WSDL);
  +                serviceWsdlEl.addChild(serviceWsdls[i].toASCIIString());
  +                if(serviceWsdlNames != null) {
  +                    serviceWsdlEl.addAttribute(null, SERVICE_WSDL_NAME, serviceWsdlNames[i]);
  +                }
  +            }
  +        }
           {
               XmlElement toolkitNameEl = addElement(MONITORING_NS, TOOLKIT_NAME);
               toolkitNameEl.addChild(defaultToolkitName);
  @@ -61,13 +88,30 @@
               starttimeEl.addChild(""+startTimeInMs/1000.0);
           }
           {
  +            XmlElement numberOfConnectionsEl = addElement(MONITORING_NS, CONNECTIONS_COUNT);
  +            numberOfConnectionsEl.addChild(""+numberOfConnections);
  +        }
  +        {
               XmlElement requestsXmlCountEl = addElement(MONITORING_NS, XML_REQUESTS_COUNT);
               requestsXmlCountEl.addChild(""+requestsXmlCountEl);
           }
  -        {
  -            XmlElement numberOfConnectionsEl = addElement(MONITORING_NS, CONNECTIONS_COUNT);
  -            numberOfConnectionsEl.addChild(""+numberOfConnections);
           }
  +    
  +    public void setServiceWsdlNames(String[] serviceWsdlNames) {
  +        this.serviceWsdlNames = serviceWsdlNames;
  +    }
  +    
  +    public String[] getServiceWsdlNames() {
  +        return serviceWsdlNames;
  +    }
  +    
  +    
  +//    public void setServiceWsdls(URI[] serviceWsdls) {
  +//      this.serviceWsdls = serviceWsdls;
  +//    }
  +    
  +    public URI[] getServiceWsdls() {
  +        return serviceWsdls;
       }
       
       /**
  
  
  
  1.12      +41 -8     codes/xsul/java/modules/monitoring/xsul/monitoring/XsulMonitoringUtil.java
  
  Index: XsulMonitoringUtil.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/modules/monitoring/xsul/monitoring/XsulMonitoringUtil.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -b -t -w -r1.11 -r1.12
  --- XsulMonitoringUtil.java	3 Oct 2006 17:40:44 -0000	1.11
  +++ XsulMonitoringUtil.java	3 Oct 2006 20:22:32 -0000	1.12
  @@ -4,21 +4,22 @@
    *
    * This software is open source. See the bottom of this file for the licence.
    *
  - * $Id: XsulMonitoringUtil.java,v 1.11 2006/10/03 17:40:44 aslom Exp $
  + * $Id: XsulMonitoringUtil.java,v 1.12 2006/10/03 20:22:32 aslom Exp $
    */
   package xsul.monitoring;
   
   import java.io.ByteArrayOutputStream;
   import java.io.IOException;
   import java.io.InputStream;
  +import java.net.URI;
   import java.util.Date;
  +import java.util.Iterator;
   import org.xmlpull.v1.builder.XmlDocument;
   import org.xmlpull.v1.builder.XmlElement;
   import org.xmlpull.v1.builder.XmlInfosetBuilder;
   import org.xmlpull.v1.builder.XmlNamespace;
   import xsul.MLogger;
   import xsul.XmlConstants;
  -import xsul.XsulVersion;
   import xsul.soap.SoapUtil;
   
   /**
  @@ -62,11 +63,21 @@
       }
       
       //<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  -    public static XsulMonitoringStats createStats(String serverName, long startTime,
  +    public static XsulMonitoringStats createStats(String serviceName, long startTime,
                                                     long requestXmlMsgCount, long numberOfConnections) {
  -        return new XsulMonitoringStats(serverName, startTime, requestXmlMsgCount, numberOfConnections);
  +        return new XsulMonitoringStats(serviceName, null, null, null, startTime, requestXmlMsgCount, numberOfConnections);
       }
       
  +    public static XsulMonitoringStats createStats(String serviceName,
  +                                                  String serviceDescription,
  +                                                  String[] serviceWsdlNames,
  +                                                  URI[] serviceWsdls,
  +                                                  long startTime,
  +                                                  long requestXmlMsgCount,
  +                                                  long numberOfConnections) {
  +        return new XsulMonitoringStats(serviceName, serviceDescription, serviceWsdlNames, serviceWsdls,
  +                                       startTime, requestXmlMsgCount, numberOfConnections);
  +    }
       
       public static XmlDocument createXhtmlStatsDoc(XsulMonitoringStats s, String encoding) {
           XmlDocument outgoingDoc = builder.newDocument("1.0", Boolean.TRUE, encoding);
  @@ -134,7 +145,8 @@
               p.addChild("Start time: ");
               XmlElement spanStartTime = p.addElement(H, "span");
               //spanStartTime.addChild(""+stats.getStarTimeInMs());
  -            spanStartTime.addChild(""+stats.getStarTimeInMs()/1000.0);
  +            long startTimeInSeconds = stats.getStarTimeInMs()/1000;
  +            spanStartTime.addChild(""+ startTimeInSeconds);
               spanStartTime.addAttribute(null, "class", XsulMonitoringStats.STARTTIME_SECONDS);
               //p.addChild(" [milliseconds] since UNIX epoch.");
               p.addChild(" [seconds] since UNIX epoch.");
  @@ -155,7 +167,28 @@
               //spanVersion.addChild("" + XsulVersion.getUserAgent());
               spanToolkit.addChild("" + stats.getDefaultToolkitName());
           }
  -        
  +        if(stats.getServiceWsdls() != null) {
  +            XmlElement p = div.addElement(H, "p");
  +            p.addChild("Service WSDL(s): ");
  +            // add list of services
  +            URI[] wsdls = stats.getServiceWsdls();
  +            String[] wsdlNames = stats.getServiceWsdlNames();
  +            for (int i = 0; i < wsdls.length; i++)
  +            {
  +                XmlElement spanListOfWsdls = p.addElement(H, "span");
  +                spanListOfWsdls.addAttribute(null, "class", XsulMonitoringStats.SERVICE_WSDL);
  +                XmlElement a = spanListOfWsdls.addElement("a");
  +                String serviceWsdl = wsdls[i].toASCIIString();
  +                String serviceName = "Service WSDL";
  +                if(wsdlNames != null) {
  +                    serviceName = wsdlNames[i];
  +                }
  +                a.addAttribute("href", serviceWsdl);
  +                a.addChild(serviceName);
  +                //a.addChild(" WSDL");
  +                p.addChild(" ");
  +            }
  +        }
           return html;
       }
   
  
  
  
  1.5       +40 -9     codes/xsul/java/modules/monitoring/xsul/monitoring/xsul-monitoring.wsdl
  
  Index: xsul-monitoring.wsdl
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/modules/monitoring/xsul/monitoring/xsul-monitoring.wsdl,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -b -t -w -r1.4 -r1.5
  --- xsul-monitoring.wsdl	3 Oct 2006 17:40:44 -0000	1.4
  +++ xsul-monitoring.wsdl	3 Oct 2006 20:22:32 -0000	1.5
  @@ -34,11 +34,42 @@
   
         <element name="service-name" type="xsd:string">
          <annotation><documentation xml:lang="en">
  -        The name of service (add "/" version to indicate version major.minor[.revision])
  -        For example: "EchoService/2.7.7", "My Service"
  +        The name of service and it is recommnded to follow generic conventions listed at
  +        http://en.wikipedia.org/wiki/User_agent
  +        (add "/" version to indicate version major.minor[.revision])
  +        For example: "EchoService/2.7.7", "My-Service"
          </documentation></annotation>
  +      </element>
   
  -      <element name="toolkit-name" type="xsd:string minOccurs="0">
  +      <element name="service-description" type="xsd:string" minOccurs="0">
  +       <annotation><documentation xml:lang="en">
  +         Description of the service (optional).
  +       </documentation></annotation>
  +      </element>
  +
  +<!--
  +      <element name="service-wsdl" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded">
  +       <annotation><documentation xml:lang="en">
  +         URL to a service WSDL (optional).
  +       </documentation></annotation>
  +      </element>
  +-->
  +
  +      <element name="service-wsdl" minOccurs="0" maxOccurs="unbounded">
  +       <annotation><documentation xml:lang="en">
  +         Optional URL to a service WSDL with optional name
  +         (useful when service has more than one WSDL).
  +       </documentation></annotation>
  +       <xsd:complexType>
  +        <xsd:simpleContent>
  +         <xsd:extension base="xsd:anyURI">
  +           <xsd:attribute name="name" type="xsd:string" use="optional"/>
  +         </xsd:extension>
  +        </xsd:simpleContent>
  +       </xsd:complexType>
  +      </element>
  +
  +      <element name="toolkit-name" type="xsd:string" minOccurs="0">
          <annotation><documentation xml:lang="en">
           Optional name (/ version) of underlying toolkit/platform/middleware technology
           (such as AXIS, XSUL, BPEL, ...) used to implement the service.
  @@ -52,6 +83,12 @@
          </documentation></annotation>
         </element>
   
  +      <element name="connections-count" type="xsd:long" minOccurs="0">
  +       <annotation><documentation xml:lang="en">
  +        How many connections service accepted (SOAP or not SOAP) including monitoring requests.
  +       </documentation></annotation>
  +      </element>
  +
   <!--
         <element name="xml-requests-per-second" type="xsd:float" minOccurs="0">
          <annotation><documentation xml:lang="en">
  @@ -68,12 +105,6 @@
          </documentation></annotation>
         </element>
   
  -      <element name="connections-count" type="xsd:long">
  -       <annotation><documentation xml:lang="en">
  -        How many connections service accepted (SOAP or not SOAP) including monitoring requests.
  -       </documentation></annotation>
  -      </element>
  -
         <!-- allow extensions to add any number of monitoring XML elements -->
         <any namespace="##any" minOccurs="0" maxOccurs="unbounded" />
   
  
  
  
  1.22      +56 -20    codes/xsul/java/modules/xservo_soap_http/xsul/xservo_soap_http/HttpBasedServices.java
  
  Index: HttpBasedServices.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/modules/xservo_soap_http/xsul/xservo_soap_http/HttpBasedServices.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -b -t -w -r1.21 -r1.22
  --- HttpBasedServices.java	29 Aug 2006 18:25:58 -0000	1.21
  +++ HttpBasedServices.java	3 Oct 2006 20:22:32 -0000	1.22
  @@ -4,7 +4,7 @@
    *
    * This software is open source. See the bottom of this file for the licence.
    *
  - * $Id: HttpBasedServices.java,v 1.21 2006/08/29 18:25:58 aslom Exp $
  + * $Id: HttpBasedServices.java,v 1.22 2006/10/03 20:22:32 aslom Exp $
    */
   package xsul.xservo_soap_http;
   
  @@ -13,7 +13,10 @@
   import java.io.OutputStream;
   import java.io.Reader;
   import java.io.Writer;
  +import java.net.URI;
   import java.util.Iterator;
  +import java.util.LinkedList;
  +import java.util.List;
   import java.util.Map;
   import java.util.TreeMap;
   import org.xmlpull.v1.XmlPullParser;
  @@ -68,7 +71,7 @@
       private long startTime = System.currentTimeMillis() - 1; //defensive programming ot avoid divide-per-zero
       private long requestXmlMsgCount;
       private long numberOfConnections;
  -    private String serverName = XsulVersion.getUserAgent();
  +    private String serverName; // = XsulVersion.getUserAgent();
       
       private Map services = new TreeMap();
       
  @@ -110,6 +113,23 @@
           return serverName;
       }
       
  +    public String getDefaultServicesName() {
  +        StringBuffer defaultServiceName = new StringBuffer(64);
  +        for(Iterator i = services.keySet().iterator(); i.hasNext(); ) {
  +            String name = (String) i.next();
  +            defaultServiceName.append(name);
  +            if(i.hasNext()) {
  +                defaultServiceName.append("-");
  +            }
  +        }
  +        if(defaultServiceName.length() == 0) {
  +            defaultServiceName.append("XSUL");
  +        }
  +        defaultServiceName.append("/");
  +        defaultServiceName.append(XsulVersion.getImplementationVersion());
  +        return defaultServiceName.toString();
  +    }
  +    
       //    public void addGlobalHandler(XHandler handler) {
       //        //globalHandlers.add(handler);
       //    }
  @@ -245,26 +265,42 @@
               } else {
                   
                   // print some monitoring statistics
  -                // alive, uptime, #msgs, average ($msgs/second)
  -                XsulMonitoringStats s = XsulMonitoringUtil.createStats(
  -                    serverName, startTime, requestXmlMsgCount, numberOfConnections);
  -              
  -
  -                XmlDocument xhtmlDoc =  XsulMonitoringUtil.createXhtmlStatsDoc(s, UTF8);
  -                XmlElement htmlBody = xhtmlDoc.getDocumentElement().requiredElement(null, "body");
  -                XmlNamespace htmlNs = htmlBody.getNamespace();
  -                XmlElement p = htmlBody.addElement(htmlNs, "p");
  -                p.addChild("Services WSDL: ");
  -                // add list of services
  +                // alive, uptime, #msgs, average (#msgs/second)
  +                String serverName = getServerName(); // get listo of service name
  +                if(serverName == null) {
  +                    serverName = getDefaultServicesName();
  +                }
  +                List listOfWsdls = new LinkedList();
  +                List listOfWsdlNames = new LinkedList();
                   for(Iterator i = services.keySet().iterator(); i.hasNext(); ) {
                       String serviceName = (String) i.next();
                       String serviceWsdl = getServiceWsdl(serviceName);
  -                    XmlElement a = p.addElement("a");
  -                    a.addAttribute("href", serviceWsdl);
  -                    a.addChild(serviceName);
  -                    //a.addChild(" WSDL");
  -                    p.addChild(" ");
  -                }
  +                    URI serviceWsdlUri = URI.create(serviceWsdl);
  +                    listOfWsdlNames.add(serviceName);
  +                    listOfWsdls.add(serviceWsdlUri);
  +                }
  +                URI[] wsdls = new URI[listOfWsdls.size()];
  +                listOfWsdls.toArray(wsdls);
  +                String[] wsdlNames = new String[listOfWsdlNames.size()];
  +                listOfWsdlNames.toArray(wsdlNames);
  +                XsulMonitoringStats s = XsulMonitoringUtil.createStats(
  +                    serverName, null, wsdlNames, wsdls, startTime, requestXmlMsgCount, numberOfConnections);
  +                
  +                XmlDocument xhtmlDoc =  XsulMonitoringUtil.createXhtmlStatsDoc(s, UTF8);
  +//                XmlElement htmlBody = xhtmlDoc.getDocumentElement().requiredElement(null, "body");
  +//                XmlNamespace htmlNs = htmlBody.getNamespace();
  +//                XmlElement p = htmlBody.addElement(htmlNs, "p");
  +//                p.addChild("Service WSDLs: ");
  +//                // add list of services
  +//                for(Iterator i = services.keySet().iterator(); i.hasNext(); ) {
  +//                    String serviceName = (String) i.next();
  +//                    String serviceWsdl = getServiceWsdl(serviceName);
  +//                    XmlElement a = p.addElement("a");
  +//                    a.addAttribute("href", serviceWsdl);
  +//                    a.addChild(serviceName);
  +//                    //a.addChild(" WSDL");
  +//                    p.addChild(" ");
  +//                }
                           
                   //                XmlDocument outgoingDoc = builder.newDocument("1.0", Boolean.TRUE, UTF8);
                   //                XmlElement xhtml = XsulMonitoringUtil.createXhtmlStats(s);
  
  
  
  1.6       +2 -2      codes/xsul/java/tests/xsul/async_msg/EchoAsyncService.java
  
  Index: EchoAsyncService.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/tests/xsul/async_msg/EchoAsyncService.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -b -t -w -r1.5 -r1.6
  --- EchoAsyncService.java	6 Jun 2006 20:17:24 -0000	1.5
  +++ EchoAsyncService.java	3 Oct 2006 20:22:32 -0000	1.6
  @@ -43,11 +43,11 @@
       
       private void run(String[] args) {
           XsulVersion.exitIfRequiredVersionMissing(XsulVersion.SPEC_VERSION); //sanity check
  -        XsulVersion.exitIfRequiredVersionMissing("2.1.3");
  +        XsulVersion.exitIfRequiredVersionMissing("2.7.7");
           if(args.length > 2) usage("");
           int tcpPort = args.length > 0 ? Integer.parseInt(args[0]) : 0;
           httpServices = new HttpBasedServices(tcpPort);
  -        httpServices.setServerName("XSUL-EchoAsync/"+XsulVersion.getImplementationVersion());
  +        //httpServices.setServiceName("EchoAsync");
           
           System.out.println("Server started on "+httpServices.getServerPort());