<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia at May 28, 2013
 | Rendered using Apache Maven Fluido Skin 1.3.0
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20130528" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Axis - 
    SOAPMonitor User's Guide</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />

      
    <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script>

    
            </head>
        <body class="topBarDisabled">
          
                
                    
    
        <div class="container-fluid">
          <div id="banner">
        <div class="pull-left">
                                <div id="bannerLeft">
                <h2>Axis</h2>
                </div>
                      </div>
        <div class="pull-right">                                <a href="./" id="bannerRight">
                                                                                                <img src="images/axis-small.png"  alt="Apache Axis"/>
                </a>
      </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
                
                    
                              <li class="">
                    <a href="http://www.apache.org/" class="externalLink" title="Apache">
        Apache</a>
        </li>
      <li class="divider ">/</li>
            <li class="">
                    <a href="../../" title="Axis">
        Axis</a>
        </li>
      <li class="divider ">/</li>
            <li class="">
                    <a href="../" title="Axis 1.x">
        Axis 1.x</a>
        </li>
      <li class="divider ">/</li>
            <li class="">
                    <a href="./" title="Java">
        Java</a>
        </li>
      <li class="divider ">/</li>
        <li class="">
    SOAPMonitor User's Guide</li>
        
                
                    
                  <li id="publishDate" class="pull-right">Last Published: 2013-05-28</li> <li class="divider pull-right">|</li>
              <li id="projectVersion" class="pull-right">Version: 1.4.1-SNAPSHOT</li>
            
                            </ul>
      </div>

            
      <div class="row-fluid">
        <div id="leftColumn" class="span3">
          <div class="well sidebar-nav">
                
                    
                <ul class="nav nav-list">
                    <li class="nav-header">About</li>
                                
      <li>
    
                          <a href="index.html" title="Introduction">
          <i class="none"></i>
        Introduction</a>
            </li>
                  
      <li>
    
                          <a href="issue-tracking.html" title="Issue Tracking">
          <i class="none"></i>
        Issue Tracking</a>
            </li>
                  
      <li>
    
                          <a href="mail-lists.html" title="Mailing Lists">
          <i class="none"></i>
        Mailing Lists</a>
            </li>
                  
      <li>
    
                          <a href="source-repository.html" title="Source Repository">
          <i class="none"></i>
        Source Repository</a>
            </li>
                  
      <li>
    
                          <a href="artifacts.html" title="Artifacts & Dependencies">
          <i class="none"></i>
        Artifacts & Dependencies</a>
            </li>
                  
      <li>
    
                          <a href="apiDocs/index.html" title="Javadocs">
          <i class="none"></i>
        Javadocs</a>
            </li>
                              <li class="nav-header">Downloads</li>
                                
      <li>
    
                          <a href="releases.html" title="Releases">
          <i class="none"></i>
        Releases</a>
            </li>
                                                                                                                                            
      <li>
    
                          <a href="changelog.html" title="Changelogs">
          <i class="icon-chevron-right"></i>
        Changelogs</a>
                  </li>
                  
      <li>
    
                          <a href="snapshots.html" title="Snapshots">
          <i class="none"></i>
        Snapshots</a>
            </li>
                              <li class="nav-header">Documentation</li>
                                
      <li>
    
                          <a href="overview.html" title="Overview">
          <i class="none"></i>
        Overview</a>
            </li>
                  
      <li>
    
                          <a href="install.html" title="Installation">
          <i class="none"></i>
        Installation</a>
            </li>
                  
      <li>
    
                          <a href="user-guide.html" title="User's Guide">
          <i class="none"></i>
        User's Guide</a>
            </li>
                  
      <li>
    
                          <a href="developers-guide.html" title="Developer's Guide">
          <i class="none"></i>
        Developer's Guide</a>
            </li>
                  
      <li>
    
                          <a href="integration-guide.html" title="Integration Guide">
          <i class="none"></i>
        Integration Guide</a>
            </li>
                  
      <li>
    
                          <a href="architecture-guide.html" title="Architecture Guide">
          <i class="none"></i>
        Architecture Guide</a>
            </li>
                  
      <li>
    
                          <a href="reference.html" title="Reference Guide">
          <i class="none"></i>
        Reference Guide</a>
            </li>
                  
      <li>
    
                          <a href="reading.html" title="Reading Guide">
          <i class="none"></i>
        Reading Guide</a>
            </li>
                              <li class="nav-header">More...</li>
                                
      <li>
    
                          <a href="ant/ant.html" title="Ant Tasks">
          <i class="none"></i>
        Ant Tasks</a>
            </li>
                  
      <li>
    
                          <a href="maven/index.html" title="Maven Plugins">
          <i class="none"></i>
        Maven Plugins</a>
            </li>
                  
      <li>
    
                          <a href="castor/index.html" title="Castor Databinding">
          <i class="none"></i>
        Castor Databinding</a>
            </li>
                  
      <li>
    
                          <a href="xmlbeans/index.html" title="XmlBeans Databinding">
          <i class="none"></i>
        XmlBeans Databinding</a>
            </li>
                  
      <li>
    
                          <a href="transports/jms/index.html" title="JMS Transport">
          <i class="none"></i>
        JMS Transport</a>
            </li>
                  
      <li>
    
                          <a href="transports/http-hc3/index.html" title="HttpClient 3 Transport">
          <i class="none"></i>
        HttpClient 3 Transport</a>
            </li>
                  
      <li>
    
                          <a href="transports/http-javanet/index.html" title="java.net HTTP Transport">
          <i class="none"></i>
        java.net HTTP Transport</a>
            </li>
                  
      <li>
    
                          <a href="standalone-server/index.html" title="Stand-alone Server">
          <i class="none"></i>
        Stand-alone Server</a>
            </li>
                              <li class="nav-header">Apache</li>
                                
      <li>
    
                          <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="License">
          <i class="none"></i>
        License</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">
          <i class="none"></i>
        Sponsorship</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">
          <i class="none"></i>
        Thanks</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/security/" class="externalLink" title="Security">
          <i class="none"></i>
        Security</a>
            </li>
            </ul>
                
                    
                            <form id="search-form" action="http://www.google.com/search" method="get" >
    
  <input value="ws.apache.org/axis/java" name="sitesearch" type="hidden"/>
  <input class="search-query" name="q" id="query" type="text" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=search-form"></script>
          
          <hr class="divider" />

           <div id="poweredBy">
                            <div class="clear"></div>
                            <div class="clear"></div>
                            <div class="clear"></div>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
                  </div>
          </div>
        </div>
        
                
        <div id="bodyColumn"  class="span9" >
                                  
            <!-- ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements. See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership. The ASF licenses this file
  ~ to you 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. -->
  

<div class="section"><h2>Table of Contents<a name="Table_of_Contents"></a></h2>

<ul><li><a href="#Table_of_Contents">Table of Contents</a></li><li><a href="#Introduction">Introduction</a><ul><li><a href="#What_is_SOAPMonitor_">What is SOAPMonitor ?</a></li><li><a href="#When_should_I_use_it_">When should I use it ?</a></li></ul></li><li><a href="#Usage">Usage</a><ul><li><a href="#Preparation">Preparation</a></li><li><a href="#How_to_use_it_">How to use it ?</a></li></ul></li><li><a href="#Appendixes">Appendixes</a><ul><li><a href="#Version_comparison_chart">Version comparison chart</a></li><li><a href="#Error_Messages">Error Messages</a></li></ul></li></ul>

</div>

<div class="section"><h2>Introduction<a name="Introduction"></a></h2>

<p>Web service developers often have the need to see the SOAP messages being used to invoke web services along with the results of those messages. The goal of the SOAP Monitor utility is to provide a way for these developers to monitor the SOAP messages being used without requiring any special configuration or restarting of the server.</p>

<div class="section"><h3>What is SOAPMonitor ?<a name="What_is_SOAPMonitor_"></a></h3>

<p>It's a utility what can be found in the org.apache.axis.utils package. It provides the monitoring capability described above to Web service developers.</p>

</div>

<div class="section"><h3>When should I use it ?<a name="When_should_I_use_it_"></a></h3>
<p>It's a good opportunity for using this utility that you hope to monitor the SOAP messages for debugging. You can see all SOAP messages of what you want to monitor without any additional developments, special configurations or restarting of the application server.</p>
<p><b>Please note that it doesn't display any protocol specific data such as HTTP protocol headers. If you need to do this, you should use the TCP Monitor (tcpmon). Please see the <a href="user-guide.html">Axis User's Guide</a> for details on tcpmon</b>.</p>

</div>

</div>

<div class="section"><h2>Usage<a name="Usage"></a></h2>

<div class="section"><h3>Preparation<a name="Preparation"></a></h3>

<ul>
  <li><b>step 1:</b> Create an account for the administrator
    <p>Open and edit the &quot;webapps/axis/WEB-INF/users.lst&quot;.<br />
      The default account for administrator is &quot;admin&quot;, set a password to anything you want.</p>
    <p>ex.) Like as follows; -  i.e. &quot;admin password&quot;.</p>
    <div class="source"><pre class="prettyprint">user1 pass1
user2
user3 pass3
admin password</pre></div>
  </li>

  <li><b>step 2:</b> Setting CLASSPATH
    <p>Before running this utility, you'll need to make sure that your CLASSPATH includes:</p>
    <ul>
      <li>axis.jar</li>
      <li>jaxrpc.jar</li>
      <li>saaj.jar</li>
      <li>commons-logging.jar</li>
      <li>commons-discovery.jar</li>
      <li>activation.jar</li>
      <li>mail.jar</li>
      <li>A JAXP-1.1 compliant XML parser such as Xerces or Crimson</li>
    </ul>
  </li>
  
  <li><b>That's all.</b></li>
</ul>

</div>

<div class="section"><h3>How to use it ?<a name="How_to_use_it_"></a></h3>

<ul>
  <li><b>step 0:</b> Make sure you have completed <a href="#prepare">the preparation phase.</a></li>

  <li><b>step 1:</b> Start the SOAPMonitor application.
    <p><tt>% java org.apache.axis.utils.SOAPMonitor [-u admin] [-w password] [-l axisURL]</tt></p>
    <p>or</p>
    <p><tt>% javaw org.apache.axis.utils.SOAPMonitor [-u admin] [-w password] [-l axisURL]</tt></p>
  </li>

  <li><b>step 2:</b> Login
    <p>Try login with the account which you specified as an administrator.</p>
    <p><img src="images/LoginDialog.jpg" alt="" /></p>
  </li>

  <li><b>step 3:</b> Please wait for a while.
    <p><img src="images/DataLoading.jpg" width="400" alt="" /></p>
  </li>

  <li><b>step 4:</b> Administration screen will be displayed
    <p><img src="images/InitialScreen.jpg" alt="" /></p>
  </li>

  <li><b>step 5-a:</b> To enable monitoring
    <p>Click services to enable monitoring, then push &quot;Turn On&quot; button.</p>
    <p><img src="images/ToEnableMonitoring.jpg" alt="" /></p>
    <p>The following screen should be displayed.</p>
    <p><img src="images/AfterTurnOn.jpg" alt="" /></p>
  </li>

  <li><b>step 5-b:</b> To disable monitoring
    <p>Click services to disable monitoring, then push &quot;Turn Off&quot; button.</p>
    <p><img src="images/ToDisableMonitoring.jpg" alt="" /></p>
    <p>The following screen should be displayed.</p>
    <p><img src="images/AfterTurnOff.jpg" alt="" /></p>
  </li>

  <li><b>step 6:</b> Save changes
    <p>Push &quot;Save changes&quot; button to save the current state.</p>
    <p>The following screen should be displayed.</p>
    <p><img src="images/DeployStatus.jpg" alt="" /></p>
  </li>

  <li><b>step 7:</b> Monitoring
    <p>Push &quot;Monitoring&quot; tab to start monitoring with the current settings.</p>
    <p>The following screen should be displayed.</p>
    <p><img src="images/MonitoringScreen.jpg" alt="" /></p>
  </li>
</ul>

</div>

</div>

<div class="section"><h2>Appendixes<a name="Appendixes"></a></h2>

<div class="section"><h3>Version comparison chart<a name="Version_comparison_chart"></a></h3>

<table border="0" class="table table-striped">
  <tr class="a">
    <th>Item</th>
    <th>SOAPMonitorApplet(Old version)</th>
    <th>SOAPMonitor(<a class="externalLink" href="http://cvs.apache.org/viewcvs.cgi/ws-axis/java/src/org/apache/axis/utils/SOAPMonitor.java?view=markup">This version</a>)</th>
  </tr>
  <tr class="b">
    <td>App Type</td>
    <td>Applet</td>
    <td>Swing application</td>
  </tr>
  <tr class="a">
    <td>Security</td>
    <td>N/A (No authentication)</td>
    <td>OK (Authentication added)</td>
  </tr>
  <tr class="b">
    <td>Install &amp; Use</td>
    <td>
      <ol style="list-style-type: decimal">
        <li>Compile the component, at first</li>
        <li>Deploy the soapmonitor handler to &quot;server-config.wsdd&quot;</li>
        <li>Deploy a service which to be monitored with the soapmonitor handler</li>
        <li>Have an access to &quot;http://localhost:8080/axis/SOAPMonitor&quot;</li>
        <li>Redeploy the service with no soapmonitor to disable monitoring</li>
      </ol>
      <ul>
        <li>More detail is <a class="externalLink" href="http://www.sosnoski.com/presents/java-xml/axis/axis-monitor.html">here</a>.</li>
        <li>All of steps are the non-GUI based operations and these process are complicated for users</li>
      </ul>
    </td>
    <td>Just do &quot;java org.apache.axis.utils.SOAPMonitor&quot; (within the axis.jar)
       <ul>
         <li>All of steps are the GUI based operations</li>
       </ul>
    </td>
  </tr>
</table>

</div>

<div class="section"><h3>Error Messages<a name="Error_Messages"></a></h3>

<p>You may meet the following screens, if you have an access denied.</p>

<ul>
  <li><b>In case of &quot;Unknown host&quot;:</b>
    <p><img src="images/UnknownHost.jpg" alt="" /></p>
  </li>
  <li><b>In case of &quot;Port mismatch&quot;:</b>
    <p><img src="images/ConnectionRefused.jpg" alt="" /></p>
  </li>
  <li><b>In case of &quot;Authorization failure&quot;:</b>
    <p><img src="images/Unauthorized.jpg" alt="" /></p>
  </li>
</ul>

</div>

</div>

  

                  </div>
            </div>
          </div>

    <hr/>

    <footer>
            <div class="container-fluid">
              <div class="row span12">Copyright &copy;                    2000-2013
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All Rights Reserved.      
                    
      </div>

        
        
                </div>
    </footer>
  </body>
</html>