Return-Path: Delivered-To: apmail-ws-axis-cvs-archive@www.apache.org Received: (qmail 12109 invoked from network); 22 Oct 2004 10:49:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 22 Oct 2004 10:49:23 -0000 Received: (qmail 50171 invoked by uid 500); 22 Oct 2004 10:49:20 -0000 Delivered-To: apmail-ws-axis-cvs-archive@ws.apache.org Received: (qmail 50010 invoked by uid 500); 22 Oct 2004 10:49:18 -0000 Mailing-List: contact axis-cvs-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-cvs@ws.apache.org Received: (qmail 49996 invoked by uid 99); 22 Oct 2004 10:49:18 -0000 X-ASF-Spam-Status: No, hits=-10.0 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME,WEIRD_PORT X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Fri, 22 Oct 2004 03:49:17 -0700 Received: (qmail 12059 invoked by uid 1700); 22 Oct 2004 10:49:15 -0000 Date: 22 Oct 2004 10:49:15 -0000 Message-ID: <20041022104915.12058.qmail@minotaur.apache.org> From: toshi@apache.org To: ws-axis-cvs@apache.org Subject: cvs commit: ws-axis/site/src/documentation/content/xdocs/java architecture-guide.ihtml building-axis.ihtml index.ihtml integration-guide.ihtml reference.ihtml developers-guide.ihtml install.ihtml user-guide.ihtml X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N toshi 2004/10/22 03:49:15 Modified: site/src/documentation/content/xdocs/java architecture-guide.ihtml building-axis.ihtml index.ihtml integration-guide.ihtml reference.ihtml developers-guide.ihtml install.ihtml user-guide.ihtml Log: Fixing 'ws-axis/java/docs' issues; Revision Changes Path 1.3 +22 -29 ws-axis/site/src/documentation/content/xdocs/java/architecture-guide.ihtml Index: architecture-guide.ihtml =================================================================== RCS file: /home/cvs/ws-axis/site/src/documentation/content/xdocs/java/architecture-guide.ihtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- architecture-guide.ihtml 16 Oct 2003 21:44:08 -0000 1.2 +++ architecture-guide.ihtml 22 Oct 2004 10:49:15 -0000 1.3 @@ -19,7 +19,7 @@

Axis Architecture Guide


- 1.1 Version
+ 1.2 Version
Feedback: axis-dev@ws.apache.org

@@ -410,16 +410,12 @@

Deserialization

-

The class mainly responsible for XML parsing, i.e. - deserialization, is DeserializationContextImpl ('DCI') which - inherits most of its methods from the DeserializationContext - interface. DCI manages the construction of the parse tree and - maintains a stack of SAX handlers, a reference to the - MessageElement that is currently being deserialized, a stack of - namespace mappings, a mapping from IDs to elements, a set of type - mappings for deserialization (see Encoding Subsystem) and a SAX event - recorder.

+

The class mainly responsible for XML parsing, i.e. deserialization, is DeserializationContext + ('DC'). DC manages the construction of the parse tree and maintains a stack of + SAX handlers, a reference to the MessageElement that is currently being deserialized, + a stack of namespace mappings, a mapping from IDs to elements, a set of type mappings + for deserialization (see Encoding Subsystem) + and a SAX event recorder.

Elements that we scan over, or ones for which we don't have a particular deserializer, are recorded - in other words, the SAX @@ -445,24 +441,21 @@ constructed with a reference to an EnvelopeBuilder, which is the SAX handler responsible for parsing the SOAP envelope.

-

During parsing, DCI receives the events from the SAX parser - and notifies either the SAX handler on the top of its handler - stack, the SAX event recorder, or both.

- -

On the start of an element, DCI calls the SAX handler on the - top of its handler stack for onStartChild. This method returns a - SAX handler to be used to parse the child, which DCI pushes on - its SAX handler stack and calls for startElement. startElement, - amongst other things, typically creates a new MessageElement of - the appropriate class and calls DCI for pushNewElement. The - latter action creates the parent-child relationships of the parse - tree.

- -

On the end of an element, DCI pops the top SAX handler from - its handler stack and calls it for endElement. It then drives SAX - handler which is now on the top of the handler stack for - onEndChild. Finally, it sets the MessageElement that is currently - being deserialized to the parent of the current one.

+

During parsing, DC receives the events from the SAX parser and notifies either + the SAX handler on the top of its handler stack, the SAX event recorder, or + both.

+ +

On the start of an element, DC calls the SAX handler on the top of its handler + stack for onStartChild. This method returns a SAX handler to be used to parse + the child, which DC pushes on its SAX handler stack and calls for startElement. + startElement, amongst other things, typically creates a new MessageElement of + the appropriate class and calls DC for pushNewElement. The latter action creates + the parent-child relationships of the parse tree.

+ +

On the end of an element, DC pops the top SAX handler from its handler stack + and calls it for endElement. It then drives SAX handler which is now on the + top of the handler stack for onEndChild. Finally, it sets the MessageElement + that is currently being deserialized to the parent of the current one.

Elements which are not defined by SOAP are treated using a SOAPHandler as a SAX event handler and a MessageElement as a node 1.3 +1 -1 ws-axis/site/src/documentation/content/xdocs/java/building-axis.ihtml Index: building-axis.ihtml =================================================================== RCS file: /home/cvs/ws-axis/site/src/documentation/content/xdocs/java/building-axis.ihtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- building-axis.ihtml 16 Oct 2003 21:44:08 -0000 1.2 +++ building-axis.ihtml 22 Oct 2004 10:49:15 -0000 1.3 @@ -18,7 +18,7 @@

Guide to building Axis

-

1.1 Version
+

1.2 Version
Feedback: axis-dev@ws.apache.org

1.4 +1 -1 ws-axis/site/src/documentation/content/xdocs/java/index.ihtml Index: index.ihtml =================================================================== RCS file: /home/cvs/ws-axis/site/src/documentation/content/xdocs/java/index.ihtml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- index.ihtml 21 Feb 2004 23:14:18 -0000 1.3 +++ index.ihtml 22 Oct 2004 10:49:15 -0000 1.4 @@ -20,7 +20,7 @@

Documentation

This is the documentation for Apache Axis 1.1 If the version + "http://ws.apache.org/axis/">Apache Axis 1.2 If the version of Axis you are using is older or newer than this version, then this is the wrong documentation to be using. Read the version that came with your copy of Axis.

1.5 +1 -1 ws-axis/site/src/documentation/content/xdocs/java/integration-guide.ihtml Index: integration-guide.ihtml =================================================================== RCS file: /home/cvs/ws-axis/site/src/documentation/content/xdocs/java/integration-guide.ihtml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- integration-guide.ihtml 17 Jun 2004 09:49:39 -0000 1.4 +++ integration-guide.ihtml 22 Oct 2004 10:49:15 -0000 1.5 @@ -18,7 +18,7 @@

Axis System Integration Guide

-

1.1 Version
+

1.2 Version
Feedback: axis-dev@ws.apache.org

1.8 +106 -16 ws-axis/site/src/documentation/content/xdocs/java/reference.ihtml Index: reference.ihtml =================================================================== RCS file: /home/cvs/ws-axis/site/src/documentation/content/xdocs/java/reference.ihtml,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- reference.ihtml 17 Jun 2004 09:49:39 -0000 1.7 +++ reference.ihtml 22 Oct 2004 10:49:15 -0000 1.8 @@ -12,12 +12,13 @@ -

+
+

+

Axis Reference Guide

-

1.1 Version
+

1.2 Version
Feedback: axis-dev@ws.apache.org

@@ -99,8 +100,7 @@ <argument>
       override all namespace to package mappings, use this package
-      - name instead
+       name instead
     -o, --output <argument>
       @@ -118,16 +118,26 @@      -T, --typeMappingVersion
       - indicate 1.1 or 1.2. The default is 1.1 (SOAP 1.1 JAX-RPC - compliant. + indicate 1.1 or 1.2. The default is 1.1 (SOAP 1.1 JAX-RPC compliant.
       1.2 indicates SOAP 1.1 encoded.)
     -F, --factory <argument>
       - name of a custom class that implements GeneratorFactory interface + name of a custom class that implements GeneratorFactory interface
       (for extending Java generation functions)
+      -i, --nsInclude <namespace>
+        + namescape to specifically include in the generated code (defaults to
+        all namespaces unless specifically excluded with the -x option)
+      -x, --nsExclude <namespace>
+        + namespace to specifically exclude from the generated code (defaults to
+        none excluded until first namespace included with -i option)
+      -p, --property <name>=<value>
+        + name and value of a property for use by the custom GeneratorFactory
     -H, --helperGen
       emits separate Helper classes for meta data
@@ -139,7 +149,9 @@ <argument>
       password to access the WSDL-URI
-   +      -c, --implementationClassName <argument>
+        + use this as the implementation class

@@ -369,8 +381,17 @@

-P, --password <argument>

This password is used in resolving the WSDL-URI provided as - the input to WSDL2Java. If the URI contains a password, this - will override the command line switch.

+ the input to WSDL2Java. If the URI contains a password, this + will override the command line switch.
+ +

-c, --implementationClassName <argument>

+ +

Set the name of the implementation class.Especially useful when + exporting an existing class as a web service using java2wsdl + followed by wsdl2java. If you are using the skeleton deploy option you must make sure, after generation, + that your implementation class implements the port type name interface generated + by wsdl2java. You should also make sure that all your exported methods throws + java.lang.RemoteException.

Java2WSDL Reference

@@ -440,6 +461,11 @@ -e, --extraClasses <argument> A space or comma separated list of class names to be added to the type section. + -C, --importSchema + A file or URL to an XML Schema that should be physically + imported into the generated WSDL + -X, --classpath + additional classpath elements Details: portType element name= <--portTypeName value> OR <class-of-portType name> binding element name= <--bindingName value> OR <--servicePortName value>Soap @@ -448,9 +474,7 @@ Service port element name= <--servicePortName value> address location = <--location value> - - - +

-h , --help
Prints the help message.

@@ -585,6 +609,13 @@ --extraClasses option can be specified duplicate times. Each specification results in the additional classes being added to the list.

+ +

-C, --importSchema
+ A file or URL to an XML Schema that should be physically imported into the generated WSDL

+


+ -X, --classpath
+ Additional classpath elements

+

 

Deployment (WSDD) Reference

@@ -601,6 +632,37 @@ may represent EITHER a complete engine configuration OR a set of components to deploy into an active engine. +

+ <GlobalConfiguration>
+ +
This element is used to control the engine-wide configuration of Axis. It + may contain several subelements: +
    +
  • <parameter> : This is used to set options on the Axis engine + - see the Global Axis Configuration + section below for more details. Any number of <parameter> + elements may appear.
  • +
  • <role> : This is used to set a SOAP actor/role + URI which the engine will recognize. This allows SOAP headers targeted + at that role to be successfully processed by the engine. Any number of + <role> elements may appear.
  • +
  • <requestFlow> : This is used to configure global + request Handlers, which will be invoked before the actual service on every + request. You may put any number of <handler> or + <chain> elements (see below) inside the <requestFlow>, + but there may only be one <requestFlow>.
  • +
+
+
+
    +
  • <responseFlow> : This is used to configure global + response Handlers, which will be invoked after the actual service on every + request. You may put any number of <handler> or + <chain> elements (see below) inside the <responseFlow>, + but there may only be one <responseFlow>.
  • +
+
+
  • allowedRoles : comma-separated list of roles - allowed to access this service
  • + allowed to access this service (Note that these are security roles, + as opposed to SOAP roles. Security roles control access, SOAP roles + control which SOAP headers are processed.)

    If you wish to define handlers which should be invoked either before or after the service's provider, you may do so with @@ -713,6 +777,9 @@ words, they may contain <handler> and <chain> elements which will be invoked in the order they are specified.
    +

    To control the roles + that should be recognized by your service Handlers, you can specify any + number of <role> elements inside the service declaration.


    Example:
      @@ -720,6 +787,7 @@
         <parameter name="className" value="test.Implementation"/>
         <parameter name="allowedMethods" value="*"/>
         <namespace>http://testservice/</namespace>
      +  <role>http://testservice/MyRole</role>
         <requestFlow> <!-- Run these before processing the request -->
        <handler type="java:MyHandlerClass"/>
        <handler type="somethingIDefinedPreviously"/>
      @@ -878,10 +946,23 @@
        serializers/deserializers to encode/decode JavaBeans. The class
        named by "classname" must follow the JavaBean standard pattern
        of get/set accessors.
      +
      + 
     
    +
    <documentation>
    +
    Can be used inside a <service>, an <operation> + or an operation <parameter>. The content of the element is arbitrary + text which will be put in the generated wsdl inside a wsdl:document element.
    +
    + Example:
    + <operation name="echoString" >
    +   <documentation>This operation echoes a string</documentation>
    +   <parameter name="param">
    +      <documentation>a string</documentation>
    +   </parameter>
    + </operation>

    -

    Global Axis Configuration

    The server is configured (by default) by values in the @@ -911,6 +992,7 @@

    + @@ -941,6 +1023,13 @@ one does not want widely avaialable. + + + + + @@ -1036,6 +1125,7 @@ +
    adminPassword
    axis.disableServiceListFlag to disable the list of services feature. Set to false by + default, which enables the list of services by the AxisServlet when a GET + request is performed on the servlet root.
    axis.CompilerSet this flag to hand authentication off to the servlet container.

    1.6 +9 -9 ws-axis/site/src/documentation/content/xdocs/java/developers-guide.ihtml Index: developers-guide.ihtml =================================================================== RCS file: /home/cvs/ws-axis/site/src/documentation/content/xdocs/java/developers-guide.ihtml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- developers-guide.ihtml 17 Jun 2004 09:49:40 -0000 1.5 +++ developers-guide.ihtml 22 Oct 2004 10:49:15 -0000 1.6 @@ -18,7 +18,7 @@

    Axis Developer's Guide

    -

    1.1 Version
    +

    1.2 Version
    Feedback:
    axis-dev@ws.apache.org

    @@ -118,14 +118,14 @@
      -D:\\xerces\\xerces-1_4_2\\xerces.jar
      -G:\\junit3.7\\junit.jar
      -G:\\xml-axis\\java\\build\\lib\\commons-discovery.jar
      -G:\\xml-axis\\java\\build\\lib\\commons-logging.jar
      -G:\\xml-axis\\java\\build\\lib\\wsdl4j.jar
      -G:\\xml-axis\\java\\build\\lib\\axis.jar
      -G:\\xml-axis\\java\\build\\lib\\log4j-1.2.8.jar
      -G:\\xml-axis\\java\\build\\classes
      +G:\xerces\xerces-1_4_2\xerces.jar
      +G:\junit3.7\junit.jar
      +G:\xml-axis\java\build\lib\commons-discovery.jar
      +G:\xml-axis\java\build\lib\commons-logging.jar
      +G:\xml-axis\java\build\lib\wsdl4j.jar
      +G:\xml-axis\java\build\lib\axis.jar
      +G:\xml-axis\java\build\lib\log4j-1.2.8.jar
      +G:\xml-axis\java\build\classes
       
    1.6 +156 -51 ws-axis/site/src/documentation/content/xdocs/java/install.ihtml Index: install.ihtml =================================================================== RCS file: /home/cvs/ws-axis/site/src/documentation/content/xdocs/java/install.ihtml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- install.ihtml 17 Jun 2004 09:49:40 -0000 1.5 +++ install.ihtml 22 Oct 2004 10:49:15 -0000 1.6 @@ -4,29 +4,21 @@ + Axis installation instructions - - - - - - -
    - - -

    Installing and deploying web applications using - xml-axis

    -
    +
    +

    +
    +

    Axis installation instructions

    -
    -

    Contents

    +

    Contents

    @@ -124,7 +119,10 @@ you have enough of a foundation to be able to work with Axis. It is also useful to have written a simple web application, as this will give you some knowledge of how HTTP works, and how Java - application servers integrate with HTTP.

    + application servers integrate with HTTP. You may find the course notes from + + Mastering the World Wide Web useful in this regard, even though Axis + is only introduced in lecture 28.

    Be aware that there is a lot more needed to be learned in order to use Axis and SOAP effectively than the listing above. @@ -202,7 +200,9 @@ form the basis for the URL by which clients will access your service. The rest of this document assumes that the default webapp name, "axis" has been used; rename these references if - appropriate.

    + appropriate.

    + +

    Step 2: Setting up the libraries

    @@ -239,7 +239,9 @@ javax packages, so they may not get picked up. If happyaxis.jsp (see below) cannot find the relevant packages, copy them from axis/WEB-INF/lib to CATALINA_HOME/common/lib and restart Tomcat. -

    +

    + +

    Step 3: starting the web server

    @@ -305,8 +307,8 @@ testing. First let's retrieve the version of Axis from the version endpoint, calling the getVersion method:

    - http://localhost:8080/axis/services/Version?method=getVersion
    + + http://localhost:8080/axis/services/Version?method=getVersion

    This should return something like:

    @@ -344,8 +346,8 @@ directory).

    Point your browser at http://localhost:8080/axis/EchoHeaders.jws?method=list - .

    + "http://localhost:8080/axis/EchoHeaders.jws?method=list"> + http://localhost:8080/axis/EchoHeaders.jws?method=list.

    This should return an XML listing of your application headers, such as

    @@ -375,7 +377,9 @@

    Again, the exact return values will be different, and you may need to change URLs to correct any host, port and webapp - specifics.

    + specifics.

    + +

    Step 5: Installing new Web Services

    @@ -436,7 +440,9 @@ here we are going to use one from the Axis samples: the stock quote service.

    -

    Classpath setup

    +

    + +

    Classpath setup

    In order for these examples to work, java must be able to find axis.jar, commons-discovery.jar, commons-logging.jar, jaxrpc.jar, @@ -527,18 +533,16 @@ "java.io.FileNotFoundException: deploy.wsdd (The system cannot find the file specified)" exception.

    -
    + + +
    On Windows
    -
    java -cp %AXISCLASSPATH%
      - org.apache.axis.client.AdminClient
      - -lhttp://localhost:8080/axis/services/AdminService
      - deploy.wsdd

    - On UNIX

    -
    java -cp $AXISCLASSPATH
      - org.apache.axis.client.AdminClient
    - -lhttp://localhost:8080/axis/services/AdminService - deploy.wsdd
    - +
    java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient
      +     -lhttp://localhost:8080/axis/services/AdminService deploy.wsdd

    + On UNIX
    +
    java -cp $AXISCLASSPATH org.apache.axis.client.AdminClient
      +     -lhttp://localhost:8080/axis/services/AdminService deploy.wsdd
    +

    If you get some java client error (like ClassNotFoundException), then you haven't set up your @@ -579,18 +583,20 @@

  • Change directory to the distribution directory for xml-axis and execute the following command (or its Unix equivalent): -
    - On Windows

    - java -cp .;%AXISCLASSPATH% samples.stock.GetQuote - -lhttp://localhost:8080/axis/servlet/AxisServlet -uuser1 - -wpass1 XXX

    -
    - On UNIX
    -
    java -cp $AXISCLASSPATH
      -  samples.stock.GetQuote
      -  -lhttp://localhost:8080/axis/servlet/AxisServlet -uuser1
      -  -wpass1 XXX
    -

    + + +
    + On Windows
    +
    java -cp .;%AXISCLASSPATH% samples.stock.GetQuote
      +     -lhttp://localhost:8080/axis/servlet/AxisServlet
      +     -uuser1 -wpass1 XXX
      +  
    + On UNIX
    +
    java -cp $AXISCLASSPATH samples.stock.GetQuote
      +     -lhttp://localhost:8080/axis/servlet/AxisServlet
      +     -uuser1 -wpass1 XXX
      +  
    +
  • You should get back "55.25" as a result.
  • @@ -629,8 +635,8 @@

    The process is also covered in Chapter 15 of Java Development with Ant, which can be downloaded as a PDF file. -

    + "http://www.manning.com/hatcher/chap15.pdf">PDF file.

    +

    What if it doesn't work?

    @@ -746,9 +752,9 @@ for people new to server side Java development, and that you will need to be somewhat self sufficient in this regard. It is not a silver bullet. However, knowing how to make effective use of the - list will help you develop better with Axis.

    + list will help you develop better with Axis.

    +

    Summary

    Axis is simply an implementation of SOAP which can be added to @@ -758,6 +764,105 @@ process, including testing along the way, using happyaxis and the bundled test services, you will find it easier to get started with Axis.

    + +

    +

    Appendix: Enabling the SOAP Monitor

    +

    + SOAP Monitor allows for the monitoring of SOAP requests and responses via + a web browser with Java plug-in 1.3 or higher. For a more comprehensive + explanation of its usage, read Using the + SOAP Monitor in the User's Guide. +

    +

    + By default, the SOAP Monitor is not enabled. The basic steps for enabling + it are compiling the SOAP Monitor java applet, deploying the SOAP Monitor + web service and adding request and response flow definitions for each monitored + web service. In more detail: +

      +
    1. Go to $AXIS_HOME/webapps/axis (or %AXIS_HOME%\webapps\axis) + and compile SOAPMonitorApplet.java.
      + + + +
      + On Windows
      + + javac -classpath %AXIS_HOME%\lib\axis.jar SOAPMonitorApplet.java
      +
      + On Unix
      + + javac -classpath $AXIS_HOME/lib/axis.jar SOAPMonitorApplet.java
      +
      + +

      Copy all resulting class files (i.e. SOAPMonitorApplet*.class) to the root + directory of the web application using the SOAP Monitor + (e.g. .../tomcat/webapps/axis)

      +
    2. +
    3. Deploy the SOAPMonitorService web service with the admin client and the + deploy-monitor.wsdd file (shown below).
      +
        +    Go to the directory deploy-monitor.wsdd is located and execute 
        +    the command below. The command assume that /axis is the intended 
        +    web application and it is available on port 8080.
      + + + + +
      + On Windows
      +
      java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient 
        +   -lhttp://localhost:8080/axis/services/AdminService deploy-monitor.wsdd

      + On UNIX
      +
      java -cp $AXISCLASSPATH org.apache.axis.client.AdminClient 
      + -lhttp://localhost:8080/axis/services/AdminService deploy-monitor.wsdd
      +
      + + SOAPMonitorService Deployment Descriptor (deploy-monitor.wsdd) +
      <deployment xmlns="http://xml.apache.org/axis/wsdd/" 
        +       xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> 
        +     <handler name="soapmonitor" 
        +         type="java:org.apache.axis.handlers.SOAPMonitorHandler"> 
        +       <parameter name="wsdlURL" 
        +         value="/axis/SOAPMonitorService-impl.wsdl"/> 
        +       <parameter name="namespace" 
        +         value="http://tempuri.org/wsdl/2001/12/SOAPMonitorService-impl.wsdl"/> 
        +       <parameter name="serviceName" value="SOAPMonitorService"/> 
        +       <parameter name="portName" value="Demo"/> 
        +     </handler> 
        +     <service name="SOAPMonitorService" provider="java:RPC"> 
        +       <parameter name="allowedMethods" value="publishMessage"/> 
        +       <parameter name="className" 
        +         value="org.apache.axis.monitor.SOAPMonitorService"/> 
        +       <parameter name="scope" value="Application"/> 
        +     </service> 
        +   </deployment> 
        +   
      +
    4. +
    5. For each service that is to be monitored, add request and response flow definitions + to the service's deployment descriptor and deploy (or redeploy) the service. The + requestFlow and + responseFlow definitions follow the start tag of the + <service> element. If a service is already deployed, undeploy it and deploy + it with the modified deployment descriptor. An example is shown below: +
      ... 
        +   <service name="xmltoday-delayed-quotes" provider="java:RPC"> 
        +       <requestFlow> 
        +         <handler type="soapmonitor"/> 
        +       </requestFlow> 
        +       <responseFlow> 
        +         <handler type="soapmonitor"/> 
        +       </responseFlow> 
        +       ...
      +
    6. +
    7. With a web browser, go to http[s]://host[:port][/webapp]/SOAPMonitor + (e.g. http://localhost:8080/axis/SOAPMonitor) substituting the correct values + for your web application. This will show the SOAP Monitor applet for viewing service + requests and responses. Any requests to services that have been configured + and deployed correctly should show up in the applet. +
    8. +
        +

        +