You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by gd...@apache.org on 2004/05/25 22:44:33 UTC

cvs commit: ws-axis/java/docs reference.html

gdaniels    2004/05/25 13:44:32

  Modified:    java/docs reference.html
  Log:
  Update docs.
  
  Revision  Changes    Path
  1.37      +173 -148  ws-axis/java/docs/reference.html
  
  Index: reference.html
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/docs/reference.html,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- reference.html	10 May 2004 17:25:43 -0000	1.36
  +++ reference.html	25 May 2004 20:44:32 -0000	1.37
  @@ -479,188 +479,219 @@
     Additional classpath elements</p>
   <p>&nbsp;</p>
   <h2><a name="Deployment"></a>Deployment (WSDD) Reference</h2>
  -Note : all the elements referred to in this section are in the WSDD
  -namespace, namely "http://xml.apache.org/axis/wsdd/".
  +Note : all the elements referred to in this section are in the WSDD namespace, 
  +namely "http://xml.apache.org/axis/wsdd/". 
   <dl>
     <dt><b><font face="Courier New, Courier, mono">&lt;deployment&gt;</font></b></dt>
  -  <dd>The root element of the deployment document which tells the Axis
  -engine that this is a deployment. A deployment document may represent
  -EITHER a complete engine configuration OR a set of components to deploy
  -into an active engine.</dd>
  +  <dd>The root element of the deployment document which tells the Axis engine 
  +    that this is a deployment. A deployment document may represent EITHER a complete 
  +    engine configuration OR a set of components to deploy into an active engine.</dd>
  +  <dt><br>
  +    <b><font face="Courier New, Courier, mono">&lt;GlobalConfiguration&gt;</font></b></dt>
  +  <dd>This element is used to control the engine-wide configuration of Axis. It 
  +    may contain several subelements: 
  +    <ul>
  +      <li><b>&lt;parameter&gt;</b> : This is used to set options on the Axis engine 
  +        - see the <a href="#global_configuration">Global Axis Configuration</a> 
  +        section below for more details. Any number of <strong>&lt;parameter&gt;</strong> 
  +        elements may appear.</li>
  +      <li><strong>&lt;role&gt;</strong> : 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 
  +        <strong>&lt;role&gt;</strong> elements may appear.</li>
  +      <li><strong>&lt;requestFlow&gt;</strong> : 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 <strong>&lt;handler&gt;</strong> or 
  +        <strong>&lt;chain&gt;</strong> elements (see below) inside the <strong>&lt;requestFlow&gt;</strong>, 
  +        but there may only be one <strong>&lt;requestFlow&gt;</strong>.</li>
  +    </ul>
  +  </dd>
  +  <dd> 
  +    <ul>
  +      <li><strong>&lt;responseFlow&gt;</strong> : 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 <strong>&lt;handler&gt;</strong> or 
  +        <strong>&lt;chain&gt;</strong> elements (see below) inside the <strong>&lt;responseFlow&gt;</strong>, 
  +        but there may only be one <strong>&lt;responseFlow&gt;</strong>.</li>
  +    </ul>
  +  </dd>
     <dt>&nbsp;</dt>
     <dt><b><font face="Courier New, Courier, mono">&lt;undeployment&gt;</font></b></dt>
  -  <dd>The root element of the deployment document which tells Axis that
  -this is an undeployment. Undeployments are only useful as </dd>
  +  <dd>The root element of the deployment document which tells Axis that this is 
  +    an undeployment. Undeployments are only useful as </dd>
     <dt>&nbsp;</dt>
     <dt><b><font face="Courier New, Courier, mono">&lt;handler [name="</font></b><font
    face="Courier New, Courier, mono"><i>name</i></font><b><font
    face="Courier New, Courier, mono">"] type="</font></b><font
    face="Courier New, Courier, mono"><i>type</i></font><b><font
    face="Courier New, Courier, mono">"/&gt;</font></b></dt>
  -  <dd>Belongs at the top level inside a <b>&lt;deployment&gt;</b> or <b>&lt;undeployment&gt;</b>,
  -or inside a <b>&lt;chain&gt;</b>, <b>&lt;requestFlow&gt;</b>, or <b>&lt;responseFlow&gt;</b>.
  -Defines a Handler, and indicates the type of the handler. "Type" is
  -either the name of another previously defined Handler, or a QName of
  -the form "<b>java:<i>class.name</i></b>". The optional "name" attribute
  -allows you to refer to this Handler definition in other parts of the
  -deployment. May contain an arbitrary number of <b><font
  +  <dd>Belongs at the top level inside a <b>&lt;deployment&gt;</b> or <b>&lt;undeployment&gt;</b>, 
  +    or inside a <b>&lt;chain&gt;</b>, <b>&lt;requestFlow&gt;</b>, or <b>&lt;responseFlow&gt;</b>. 
  +    Defines a Handler, and indicates the type of the handler. "Type" is either 
  +    the name of another previously defined Handler, or a QName of the form "<b>java:<i>class.name</i></b>". 
  +    The optional "name" attribute allows you to refer to this Handler definition 
  +    in other parts of the deployment. May contain an arbitrary number of <b><font
    face="Courier New, Courier, mono">&lt;parameter name="</font></b><font
    face="Courier New, Courier, mono"><i>name</i></font><b><font
    face="Courier New, Courier, mono">" value="</font></b><font
    face="Courier New, Courier, mono"><i>value</i></font><b><font
  - face="Courier New, Courier, mono">"&gt;</font></b> elements, each of
  -which will supply a parameter to the deployed Handler.</dd>
  + face="Courier New, Courier, mono">"&gt;</font></b> elements, each of which will 
  +    supply a parameter to the deployed Handler.</dd>
     <dt>&nbsp;</dt>
     <dt><b><font face="Courier New, Courier, mono">&lt;service name="</font></b><font
    face="Courier New, Courier, mono"><i>name</i></font><b><font
    face="Courier New, Courier, mono">" provider="</font></b><font
    face="Courier New, Courier, mono"><i>provider</i></font><b><font
    face="Courier New, Courier, mono">" &gt;</font></b></dt>
  -  <dd>Deploys/undeploys an Axis Service. This is the most complex WSDD
  -tag, so we're going to spend a little time on it.<br>
  +  <dd>Deploys/undeploys an Axis Service. This is the most complex WSDD tag, so 
  +    we're going to spend a little time on it.<br>
       <br>
  -    <b>Options</b> may be specified as follows : <code><b>&lt;parameter
  -name="</b>name<b>" value="</b>value<b>"/&gt;</b></code>, and common
  -ones include:<br>
  +    <b>Options</b> may be specified as follows : <code><b>&lt;parameter name="</b>name<b>" 
  +    value="</b>value<b>"/&gt;</b></code>, and common ones include:<br>
       <br>
       <ul>
         <li><b>className</b> : the backend implementation class<br>
         </li>
  -      <li><b>allowedMethods</b> : Each provider can determine which
  -methods are allowed to be exposed as web services. <br>
  -To summaries for Axis supplied providers:<br>
  -        <p><u>Java RPC Provider</u> (provider="java:RPC") by default
  -all public methods specified by the class in the className option,
  -including any inherited methods are available as web services.<br>
  -For more details regarding the Java Provider please see <b>WHERE???</b>.
  +      <li><b>allowedMethods</b> : Each provider can determine which methods are 
  +        allowed to be exposed as web services. <br>
  +        To summaries for Axis supplied providers:<br>
  +        <p><u>Java RPC Provider</u> (provider="java:RPC") by default all public 
  +          methods specified by the class in the className option, including any 
  +          inherited methods are available as web services.<br>
  +          For more details regarding the Java Provider please see <b>WHERE???</b>. 
           </p>
  -        <p><u>Java MsgProvder</u> (provider="java:MSG")<!-- Glen to provide details --> </p>
  -        <p>In order to further restrict the above methods, the <b>allowedMethods</b>
  -option may be used to specify in a space delimited list the names of
  -only those methods which are allowed as web services. It is also
  -possible to specify for this option the value <b>"*"</b> which is
  -functionally equivalent to not specify the option at all. Also, it is
  -worth mentioning that the <b>operation</b> element is used to further
  -define the methods being offered, but it does not affect which methods
  -are made available. </p>
  -        <p><i>Note, while this is true for Axis supplied providers, it
  -is implementation dependent on each individual provider. Please review
  -your providers documentation on how or if it supports this option.</i> </p>
  -        <p> <b><u>Note, Exposing any web service has security
  -implications.</u><br>
  -        </b>As a best practices guide it is <u>highly</u> recommend
  -when offering a web service in un secure environment to restrict
  -allowed methods to only those required for the service being offered.
  -And, for those that are made available, to <b>fully</b> understand
  -their function and how they may access and expose your systems's
  -resources. </p>
  +        <p><u>Java MsgProvder</u> (provider="java:MSG") 
  +          <!-- Glen to provide details -->
  +        </p>
  +        <p>In order to further restrict the above methods, the <b>allowedMethods</b> 
  +          option may be used to specify in a space delimited list the names of 
  +          only those methods which are allowed as web services. It is also possible 
  +          to specify for this option the value <b>"*"</b> which is functionally 
  +          equivalent to not specify the option at all. Also, it is worth mentioning 
  +          that the <b>operation</b> element is used to further define the methods 
  +          being offered, but it does not affect which methods are made available. 
  +        </p>
  +        <p><i>Note, while this is true for Axis supplied providers, it is implementation 
  +          dependent on each individual provider. Please review your providers 
  +          documentation on how or if it supports this option.</i> </p>
  +        <p> <b><u>Note, Exposing any web service has security implications.</u><br>
  +          </b>As a best practices guide it is <u>highly</u> recommend when offering 
  +          a web service in un secure environment to restrict allowed methods to 
  +          only those required for the service being offered. And, for those that 
  +          are made available, to <b>fully</b> understand their function and how 
  +          they may access and expose your systems's resources. </p>
           <p> </p>
         </li>
  -      <li><b>allowedRoles</b> : comma-separated list of roles allowed
  -to access this service<br>
  -      </li>
  +      <li><b>allowedRoles</b> : comma-separated list of roles 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.)</li>
       </ul>
  +    <p> If you wish to define handlers which should be invoked either before or 
  +      after the service's provider, you may do so with the <b>&lt;requestFlow&gt;</b> 
  +      and the <b>&lt;responseFlow&gt;</b> subelements. Either of those elements 
  +      may be specified inside the <b>&lt;service&gt;</b> element, and their semantics 
  +      are identical to the <b>&lt;chain&gt;</b> element described below - in other 
  +      words, they may contain <b>&lt;handler&gt;</b> and <b>&lt;chain</b>&gt; 
  +      elements which will be invoked in the order they are specified.</p>
  +    <p>To control the <a href="http://www.w3.org/TR/2003/REC-soap12-part1-20030624/#soaproles">roles</a> 
  +      that should be recognized by your service Handlers, you can specify any 
  +      number of <b>&lt;role&gt;</b> elements inside the service declaration.</p>
  +    Example:<br>
  +    <pre>
  +&lt;service name="test"&gt;
  +  &lt;parameter name="className" value="test.Implementation"/&gt;
  +  &lt;parameter name="allowedMethods" value="*"/&gt;
  +  &lt;namespace&gt;http://testservice/&lt;/namespace&gt;
  +  &lt;role&gt;http://testservice/MyRole&lt;/role&gt;
  +  &lt;requestFlow&gt; &lt;!-- Run these before processing the request --&gt;
  +    &lt;handler type="java:MyHandlerClass"/&gt;\
  +    &lt;handler type="somethingIDefinedPreviously"/&gt;
  +  &lt;/requestFlow&gt;
  +&lt;/service&gt;
  +</pre>
  +    Metadata may be specified about particular operations in your service by using 
  +    the &lt;operation&gt; tag inside a service. This enables you to map the java 
  +    parameter names of a method to particular XML names, to specify the parameter 
  +    modes for your parameters, and to map particular XML names to particular operations.<br>
       <br>
  -If you wish to define handlers which should be invoked either before or
  -after the service's provider, you may do so with the <b>&lt;requestFlow&gt;</b>
  -and the <b>&lt;responseFlow&gt;</b> subelements. Either of those
  -elements may be specified inside the <b>&lt;service&gt;</b> element,
  -and their semantics are identical to the <b>&lt;chain&gt;</b> element
  -described below - in other words, they may contain <b>&lt;handler&gt;</b>
  -and <b>&lt;chain</b>&gt; elements which will be invoked in the order
  -they are specified.<br>
  -    <br>
  -Example:<br>
  -    <pre>&lt;service name="test"&gt;<br>  &lt;parameter name="className" value="test.Implementation"/&gt;<br>  &lt;parameter name="allowedMethods" value="*"/&gt;<br>  &lt;namespace&gt;http://testservice/&lt;/namespace&gt;<br>  &lt;requestFlow&gt; &lt;!-- Run these before processing the request --&gt;<br>    &lt;handler type="java:MyHandlerClass"/&gt;<br>    &lt;handler type="somethingIDefinedPreviously"/&gt;<br>  &lt;/requestFlow&gt;<br>&lt;/service&gt;</pre>
  -    <b>Metadata</b> may be specified about particular operations in
  -your service by using the &lt;operation&gt; tag inside a service. This
  -enables you to map the java parameter names of a method to particular
  -XML names, to specify the parameter modes for your parameters, and to
  -map particular XML names to particular operations.<br>
  -    <br>
  -&lt;operation name="method"&gt;<br>
  -&lt;/operation&gt; <br>
  +    &lt;operation name="method"&gt;<br>
  +    &lt;/operation&gt; <br>
     </dd>
     <dt>&nbsp;</dt>
     <dt><b><font face="Courier New, Courier, mono">&lt;chain name="</font></b><font
    face="Courier New, Courier, mono"><i>name</i></font><b><font
    face="Courier New, Courier, mono">"</font></b><b><font
    face="Courier New, Courier, mono">&gt;<br>
  -&lt;<i>subelement</i>/&gt;...<br>
  -&lt;/chain&gt; </font></b></dt>
  -  <dd>Defines a chain. Each <i>handler</i> (i.e. deployed handler
  -name) in the list will be invoked() in turn when the chain is invoked.
  -This enables you to build up "modules" of commonly used functionality.
  -The subelements inside chains may be &lt;<b>handler</b>&gt;s or &lt;<b>chain</b>&gt;s.
  -&lt;handler&gt;s inside a &lt;chain&gt; may either be defined in terms
  -of their Java class:<br>
  +    &lt;<i>subelement</i>/&gt;...<br>
  +    &lt;/chain&gt; </font></b></dt>
  +  <dd>Defines a chain. Each <i>handler</i> (i.e. deployed handler name) in the 
  +    list will be invoked() in turn when the chain is invoked. This enables you 
  +    to build up "modules" of commonly used functionality. The subelements inside 
  +    chains may be &lt;<b>handler</b>&gt;s or &lt;<b>chain</b>&gt;s. &lt;handler&gt;s 
  +    inside a &lt;chain&gt; may either be defined in terms of their Java class:<br>
       <pre>&lt;chain name="myChain"&gt;<br>  &lt;handler type="java:org.apache.axis.handlers.LogHandler"/&gt;<br>&lt;/chain&gt;</pre>
  -or may refer to previously defined &lt;handlers&gt;, with the "type" of
  -the handler referring to the name of the other handler definition:<br>
  +    or may refer to previously defined &lt;handlers&gt;, with the "type" of the 
  +    handler referring to the name of the other handler definition:<br>
       <pre>&lt;handler name="logger" type="java:org.apache.axis.handlers.LogHandler"/&gt;<br>&lt;chain name="myChain"/&gt;<br>   &lt;handler type="logger"/&gt;<br>&lt;/chain&gt;</pre>
     </dd>
     <dt>&nbsp;</dt>
     <dt><b><font face="Courier New, Courier, mono">&lt;transport name="</font></b><font
    face="Courier New, Courier, mono"><i>name</i></font><b><font
    face="Courier New, Courier, mono">"&gt;</font></b></dt>
  -  <dd>Defines a transport on the server side. Server transports are
  -invoked when an incoming request arrives. A server transport may define
  -    <b>&lt;requestFlow&gt;</b> and/or <b>&lt;responseFlow&gt;</b>
  -elements to specify handlers/chains which should be invoked during the
  -request (i.e. incoming message) or response (i.e. outgoing message)
  -portion of processing (this function works just like the <b>&lt;service&gt;</b>
  -element above). Typically handlers in the transport request/response
  -flows implement transport-specific functionality, such as parsing
  -protocol headers, etc.</dd>
  +  <dd>Defines a transport on the server side. Server transports are invoked when 
  +    an incoming request arrives. A server transport may define <b>&lt;requestFlow&gt;</b> 
  +    and/or <b>&lt;responseFlow&gt;</b> elements to specify handlers/chains which 
  +    should be invoked during the request (i.e. incoming message) or response (i.e. 
  +    outgoing message) portion of processing (this function works just like the 
  +    <b>&lt;service&gt;</b> element above). Typically handlers in the transport 
  +    request/response flows implement transport-specific functionality, such as 
  +    parsing protocol headers, etc.</dd>
     <br>
     <br>
  -  <dd>For any kind of transport (though usually this relates to HTTP
  -transports), users may allow Axis servlets to perform arbitrary actions
  -(by means of a "plug-in") when specific query strings are passed to the
  -servlet (see the section <a
  - href="developers-guide.html#Axis%20Servlet%20Query%20String%20Plug-ins">Axis
  -Servlet Query String Plug-ins</a> in the <a
  - href="developers-guide.html">Axis Developer's Guide</a> for more
  -information on what this means and how to create a plug-in). When the
  -name of a query string handler class is known, users can enable it by
  -adding an appropriate <b>&lt;parameter&gt;</b> element in the Axis
  -server configuration's <b>&lt;transport&gt;</b> element. An example
  -configuration might look like the following:<br>
  +  <dd>For any kind of transport (though usually this relates to HTTP transports), 
  +    users may allow Axis servlets to perform arbitrary actions (by means of a 
  +    "plug-in") when specific query strings are passed to the servlet (see the 
  +    section <a
  + href="developers-guide.html#Axis%20Servlet%20Query%20String%20Plug-ins">Axis 
  +    Servlet Query String Plug-ins</a> in the <a
  + href="developers-guide.html">Axis Developer's Guide</a> for more information 
  +    on what this means and how to create a plug-in). When the name of a query 
  +    string handler class is known, users can enable it by adding an appropriate 
  +    <b>&lt;parameter&gt;</b> element in the Axis server configuration's <b>&lt;transport&gt;</b> 
  +    element. An example configuration might look like the following:<br>
       <br>
       <code> &lt;transport name="http"&gt;<br>
  -&nbsp;&nbsp;&lt;parameter name="useDefaultQueryStrings" value="false"
  -/&gt;<br>
  -&nbsp;&nbsp;&lt;parameter name="qs.name" value="class.name" /&gt;<br>
  -&lt;/transport&gt;<br>
  +    &nbsp;&nbsp;&lt;parameter name="useDefaultQueryStrings" value="false" /&gt;<br>
  +    &nbsp;&nbsp;&lt;parameter name="qs.name" value="class.name" /&gt;<br>
  +    &lt;/transport&gt;<br>
       </code><br>
  -In this example, the query string that the Axis servlet should respond
  -to is <i>?name</i> and the class that it should invoke when this query
  -string is encountered is named <code>class.name</code>. The <code>name</code>
  -attribute of the <b>&lt;parameter&gt;</b> element must start with the
  -string "qs." to indicate that this <b>&lt;parameter&gt;</b> element
  -defines a query string handler. The <code>value</code> attribute must
  -point to the name of a class implementing the <code>org.apache.axis.transport.http.QSHandler</code>
  -interface. By default, Axis provides for three Axis servlet query
  -string handlers (<i>?list</i>, <i>?method</i>, and <i>?wsdl</i>). See
  -the Axis server configuration file for their definitions. If the user
  -wishes not to use these default query string handlers (as in the
  -example), a <b>&lt;parameter&gt;</b> element with a <code>name</code>
  -attribute equal to "useDefaultQueryStrings" should have its <code>value</code>
  -attribute set to <code>false</code>. By default it is set to <code>true</code>
  -and the element is not necessary if the user wishes to have this
  -default behavior. </dd>
  +    In this example, the query string that the Axis servlet should respond to 
  +    is <i>?name</i> and the class that it should invoke when this query string 
  +    is encountered is named <code>class.name</code>. The <code>name</code> attribute 
  +    of the <b>&lt;parameter&gt;</b> element must start with the string "qs." to 
  +    indicate that this <b>&lt;parameter&gt;</b> element defines a query string 
  +    handler. The <code>value</code> attribute must point to the name of a class 
  +    implementing the <code>org.apache.axis.transport.http.QSHandler</code> interface. 
  +    By default, Axis provides for three Axis servlet query string handlers (<i>?list</i>, 
  +    <i>?method</i>, and <i>?wsdl</i>). See the Axis server configuration file 
  +    for their definitions. If the user wishes not to use these default query string 
  +    handlers (as in the example), a <b>&lt;parameter&gt;</b> element with a <code>name</code> 
  +    attribute equal to "useDefaultQueryStrings" should have its <code>value</code> 
  +    attribute set to <code>false</code>. By default it is set to <code>true</code> 
  +    and the element is not necessary if the user wishes to have this default behavior. 
  +  </dd>
     <dt>&nbsp;</dt>
     <dt><b><font face="Courier New, Courier, mono">&lt;transport name="</font></b><font
    face="Courier New, Courier, mono"><i>name</i></font><b><font
    face="Courier New, Courier, mono">" pivot="</font></b><font
    face="Courier New, Courier, mono"><i>handler type</i><b>"</b></font><b><font
    face="Courier New, Courier, mono"> &gt;</font></b></dt>
  -  <dd>Defines a transport on the client side, which is invoked when
  -sending a SOAP message. The "pivot" attribute specifies a Handler to be
  -used as the actual sender for this transport (for example, the
  -HTTPSender). Request and response flows may be specified as in
  -server-side transports to do processing on the request (i.e. outgoing
  -message) or response (i.e. incoming message).</dd>
  +  <dd>Defines a transport on the client side, which is invoked when sending a 
  +    SOAP message. The "pivot" attribute specifies a Handler to be used as the 
  +    actual sender for this transport (for example, the HTTPSender). Request and 
  +    response flows may be specified as in server-side transports to do processing 
  +    on the request (i.e. outgoing message) or response (i.e. incoming message).</dd>
     <dt>&nbsp;</dt>
     <dt><b><font face="Courier New, Courier, mono">&lt;typeMapping qname="</font></b><font
    face="Courier New, Courier, mono"><i>ns:localName</i></font><b><font
  @@ -671,8 +702,8 @@
    face="Courier New, Courier, mono">" deserializer="</font></b><font
    face="Courier New, Courier, mono"><i>classname</i></font><b><font
    face="Courier New, Courier, mono">"/&gt;</font></b></dt>
  -  <dd>Each typeMapping maps an XML qualified name to/from a Java class,
  -using a specified Serializer and Deserializer. </dd>
  +  <dd>Each typeMapping maps an XML qualified name to/from a Java class, using 
  +    a specified Serializer and Deserializer. </dd>
     <dt>&nbsp;</dt>
     <dt><b><font face="Courier New, Courier, mono">&lt;beanMapping qname="</font></b><font
    face="Courier New, Courier, mono"><i>ns:localName</i></font><b><font
  @@ -680,28 +711,22 @@
    face="Courier New, Courier, mono"><i>classname</i></font><b><font
    face="Courier New, Courier, mono">"</font></b><b><font
    face="Courier New, Courier, mono">&gt;</font></b></dt>
  -  <dd><b></b>A simplified type mapping, which uses pre-defined
  -serializers/deserializers to encode/decode JavaBeans. The class named
  -by "classname" must follow the JavaBean standard pattern of get/set
  -accessors.</dd>
  +  <dd><b></b>A simplified type mapping, which uses pre-defined serializers/deserializers 
  +    to encode/decode JavaBeans. The class named by "classname" must follow the 
  +    JavaBean standard pattern of get/set accessors.</dd>
     <dt>&nbsp;</dt>
     <dt><b><font face="Courier New, Courier, mono">&lt;documentation&gt;</font></b></dt>
  -  <dd>Can be used inside a <b>&lt;service&gt;</b>, an <b>&lt;operation&gt;</b>
  -or an
  -operation <b>&lt;parameter&gt;</b>. The content of the element is
  -arbitrary
  -text which will be put in the generated wsdl inside a wsdl:document
  -element.<br>
  +  <dd>Can be used inside a <b>&lt;service&gt;</b>, an <b>&lt;operation&gt;</b> 
  +    or an operation <b>&lt;parameter&gt;</b>. The content of the element is arbitrary 
  +    text which will be put in the generated wsdl inside a wsdl:document element.<br>
       <br>
  -Example:<br>
  +    Example:<br>
       <code>&lt;operation name="echoString" &gt;<br>
  -&nbsp;&nbsp;&lt;documentation&gt;This operation echoes a
  -string&lt;/documentation&gt;<br>
  -&nbsp;&nbsp;&lt;parameter name="param"&gt;<br>
  -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;documentation&gt;a
  -string&lt;/documentation&gt;<br>
  -&nbsp;&nbsp;&lt;/parameter&gt;<br>
  -&lt;/operation&gt; </code> </dd>
  +    &nbsp;&nbsp;&lt;documentation&gt;This operation echoes a string&lt;/documentation&gt;<br>
  +    &nbsp;&nbsp;&lt;parameter name="param"&gt;<br>
  +    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;documentation&gt;a string&lt;/documentation&gt;<br>
  +    &nbsp;&nbsp;&lt;/parameter&gt;<br>
  +    &lt;/operation&gt; </code> </dd>
   </dl>
   <p> </p>
   <h2><a name="global_configuration">Global Axis Configuration</a></h2>