<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.4.2_08) on Sat Apr 22 18:56:45 PDT 2006 -->
<TITLE>
JavaServiceDesc (Axis API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.axis.description.JavaServiceDesc class">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="JavaServiceDesc (Axis API)";
}
</SCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JavaServiceDesc.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/axis/description/FieldDesc.html" title="class in org.apache.axis.description"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/axis/description/OperationDesc.html" title="class in org.apache.axis.description"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="JavaServiceDesc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>

</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.axis.description</FONT>
<BR>
Class JavaServiceDesc</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>org.apache.axis.description.JavaServiceDesc</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, <A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></DD>
</DL>
<HR>
<DL>
<DT>public class <B>JavaServiceDesc</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></DL>

<P>
A ServiceDesc is an abstract description of a service.

 ServiceDescs contain OperationDescs, which are descriptions of operations.
 The information about a service's operations comes from one of two places:
 1) deployment, or 2) introspection.
<P>

<P>
<DL>
<DT><B>Author:</B></DT>
  <DD>Glen Daniels (gdaniels@apache.org)</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.axis.description.JavaServiceDesc">Serialized Form</A></DL>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->


<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;org.apache.commons.logging.Log</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#log">log</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#JavaServiceDesc()">JavaServiceDesc</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default constructor</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#addOperationDesc(org.apache.axis.description.OperationDesc)">addOperationDesc</A></B>(<A HREF="../../../../org/apache/axis/description/OperationDesc.html" title="class in org.apache.axis.description">OperationDesc</A>&nbsp;operation)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getAllowedMethods()">getAllowedMethods</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getDefaultNamespace()">getDefaultNamespace</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getDisallowedMethods()">getDisallowedMethods</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getDocumentation()">getDocumentation</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the documentation for the service</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getEndpointURL()">getEndpointURL</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getImplClass()">getImplClass</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getName()">getName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the name of the service</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/axis/description/OperationDesc.html" title="class in org.apache.axis.description">OperationDesc</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getOperationByElementQName(javax.xml.namespace.QName)">getOperationByElementQName</A></B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;qname)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map an XML QName to an operation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/axis/description/OperationDesc.html" title="class in org.apache.axis.description">OperationDesc</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getOperationByName(java.lang.String)">getOperationByName</A></B>(java.lang.String&nbsp;methodName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return an operation matching the given method name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.ArrayList</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getOperations()">getOperations</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get all the operations as a list of OperationDescs.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/axis/description/OperationDesc.html" title="class in org.apache.axis.description">OperationDesc</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getOperationsByName(java.lang.String)">getOperationsByName</A></B>(java.lang.String&nbsp;methodName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get all overloaded operations by name</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/axis/description/OperationDesc.html" title="class in org.apache.axis.description">OperationDesc</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getOperationsByQName(javax.xml.namespace.QName)">getOperationsByQName</A></B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;qname)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return all operations which match this QName (i.e.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getProperty(java.lang.String)">getProperty</A></B>(java.lang.String&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.ArrayList</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getStopClasses()">getStopClasses</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/axis/constants/Style.html" title="class in org.apache.axis.constants">Style</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getStyle()">getStyle</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;What kind of service is this?</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/axis/encoding/TypeMapping.html" title="interface in org.apache.axis.encoding">TypeMapping</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getTypeMapping()">getTypeMapping</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/axis/encoding/TypeMappingRegistry.html" title="interface in org.apache.axis.encoding">TypeMappingRegistry</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getTypeMappingRegistry()">getTypeMappingRegistry</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/axis/constants/Use.html" title="class in org.apache.axis.constants">Use</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getUse()">getUse</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;What kind of use is this?</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#getWSDLFile()">getWSDLFile</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the wsdl file of the service.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#isInitialized()">isInitialized</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#isWrapped()">isWrapped</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine whether or not this is a "wrapped" invocation, i.e.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#loadServiceDescByIntrospection()">loadServiceDescByIntrospection</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fill in a service description by introspecting the implementation
 class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#loadServiceDescByIntrospection(java.lang.Class)">loadServiceDescByIntrospection</A></B>(java.lang.Class&nbsp;implClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fill in a service description by introspecting the implementation
 class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#loadServiceDescByIntrospection(java.lang.Class, org.apache.axis.encoding.TypeMapping)">loadServiceDescByIntrospection</A></B>(java.lang.Class&nbsp;cls,
                               <A HREF="../../../../org/apache/axis/encoding/TypeMapping.html" title="interface in org.apache.axis.encoding">TypeMapping</A>&nbsp;tm)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fill in a service description by introspecting the implementation
 class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#removeOperationDesc(org.apache.axis.description.OperationDesc)">removeOperationDesc</A></B>(<A HREF="../../../../org/apache/axis/description/OperationDesc.html" title="class in org.apache.axis.description">OperationDesc</A>&nbsp;operation)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setAllowedMethods(java.util.List)">setAllowedMethods</A></B>(java.util.List&nbsp;allowedMethods)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setDefaultNamespace(java.lang.String)">setDefaultNamespace</A></B>(java.lang.String&nbsp;namespace)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setDisallowedMethods(java.util.List)">setDisallowedMethods</A></B>(java.util.List&nbsp;disallowedMethods)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setDocumentation(java.lang.String)">setDocumentation</A></B>(java.lang.String&nbsp;documentation)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the documentation for the service</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setEndpointURL(java.lang.String)">setEndpointURL</A></B>(java.lang.String&nbsp;endpointURL)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setImplClass(java.lang.Class)">setImplClass</A></B>(java.lang.Class&nbsp;implClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the implementation class
 </TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setName(java.lang.String)">setName</A></B>(java.lang.String&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the name of the service</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setNamespaceMappings(java.util.List)">setNamespaceMappings</A></B>(java.util.List&nbsp;namespaces)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setProperty(java.lang.String, java.lang.Object)">setProperty</A></B>(java.lang.String&nbsp;name,
            java.lang.Object&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setStopClasses(java.util.ArrayList)">setStopClasses</A></B>(java.util.ArrayList&nbsp;stopClasses)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setStyle(org.apache.axis.constants.Style)">setStyle</A></B>(<A HREF="../../../../org/apache/axis/constants/Style.html" title="class in org.apache.axis.constants">Style</A>&nbsp;style)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setTypeMapping(org.apache.axis.encoding.TypeMapping)">setTypeMapping</A></B>(<A HREF="../../../../org/apache/axis/encoding/TypeMapping.html" title="interface in org.apache.axis.encoding">TypeMapping</A>&nbsp;tm)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setTypeMappingRegistry(org.apache.axis.encoding.TypeMappingRegistry)">setTypeMappingRegistry</A></B>(<A HREF="../../../../org/apache/axis/encoding/TypeMappingRegistry.html" title="interface in org.apache.axis.encoding">TypeMappingRegistry</A>&nbsp;tmr)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setUse(org.apache.axis.constants.Use)">setUse</A></B>(<A HREF="../../../../org/apache/axis/constants/Use.html" title="class in org.apache.axis.constants">Use</A>&nbsp;use)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/description/JavaServiceDesc.html#setWSDLFile(java.lang.String)">setWSDLFile</A></B>(java.lang.String&nbsp;wsdlFileName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the wsdl file of the service; this causes the named
 file to be returned on a ?wsdl, probe, not introspection
 generated wsdl.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="log"><!-- --></A><H3>
log</H3>
<PRE>
protected static org.apache.commons.logging.Log <B>log</B></PRE>
<DL>
<DL>
</DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="JavaServiceDesc()"><!-- --></A><H3>
JavaServiceDesc</H3>
<PRE>
public <B>JavaServiceDesc</B>()</PRE>
<DL>
<DD>Default constructor
<P>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="getStyle()"><!-- --></A><H3>
getStyle</H3>
<PRE>
public <A HREF="../../../../org/apache/axis/constants/Style.html" title="class in org.apache.axis.constants">Style</A> <B>getStyle</B>()</PRE>
<DL>
<DD>What kind of service is this?
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getStyle()">getStyle</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="setStyle(org.apache.axis.constants.Style)"><!-- --></A><H3>
setStyle</H3>
<PRE>
public void <B>setStyle</B>(<A HREF="../../../../org/apache/axis/constants/Style.html" title="class in org.apache.axis.constants">Style</A>&nbsp;style)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#setStyle(org.apache.axis.constants.Style)">setStyle</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUse()"><!-- --></A><H3>
getUse</H3>
<PRE>
public <A HREF="../../../../org/apache/axis/constants/Use.html" title="class in org.apache.axis.constants">Use</A> <B>getUse</B>()</PRE>
<DL>
<DD>What kind of use is this?
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getUse()">getUse</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="setUse(org.apache.axis.constants.Use)"><!-- --></A><H3>
setUse</H3>
<PRE>
public void <B>setUse</B>(<A HREF="../../../../org/apache/axis/constants/Use.html" title="class in org.apache.axis.constants">Use</A>&nbsp;use)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#setUse(org.apache.axis.constants.Use)">setUse</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isWrapped()"><!-- --></A><H3>
isWrapped</H3>
<PRE>
public boolean <B>isWrapped</B>()</PRE>
<DL>
<DD>Determine whether or not this is a "wrapped" invocation, i.e. whether
 the outermost XML element of the "main" body element represents a
 method call, with the immediate children of that element representing
 arguments to the method.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#isWrapped()">isWrapped</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if this is wrapped (i.e. RPC or WRAPPED style),
         false otherwise</DL>
</DD>
</DL>
<HR>

<A NAME="getWSDLFile()"><!-- --></A><H3>
getWSDLFile</H3>
<PRE>
public java.lang.String <B>getWSDLFile</B>()</PRE>
<DL>
<DD>the wsdl file of the service.
 When null, it means that the wsdl should be autogenerated
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getWSDLFile()">getWSDLFile</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>filename or null</DL>
</DD>
</DL>
<HR>

<A NAME="setWSDLFile(java.lang.String)"><!-- --></A><H3>
setWSDLFile</H3>
<PRE>
public void <B>setWSDLFile</B>(java.lang.String&nbsp;wsdlFileName)</PRE>
<DL>
<DD>set the wsdl file of the service; this causes the named
 file to be returned on a ?wsdl, probe, not introspection
 generated wsdl.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#setWSDLFile(java.lang.String)">setWSDLFile</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>wsdlFileName</CODE> - filename or null to re-enable introspection</DL>
</DD>
</DL>
<HR>

<A NAME="getAllowedMethods()"><!-- --></A><H3>
getAllowedMethods</H3>
<PRE>
public java.util.List <B>getAllowedMethods</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getAllowedMethods()">getAllowedMethods</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setAllowedMethods(java.util.List)"><!-- --></A><H3>
setAllowedMethods</H3>
<PRE>
public void <B>setAllowedMethods</B>(java.util.List&nbsp;allowedMethods)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#setAllowedMethods(java.util.List)">setAllowedMethods</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getImplClass()"><!-- --></A><H3>
getImplClass</H3>
<PRE>
public java.lang.Class <B>getImplClass</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setImplClass(java.lang.Class)"><!-- --></A><H3>
setImplClass</H3>
<PRE>
public void <B>setImplClass</B>(java.lang.Class&nbsp;implClass)</PRE>
<DL>
<DD>set the implementation class
 <p>
 Warning: You cannot call getInitializedServiceDesc() after setting this
 as it uses this to indicate its work has already been done.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>implClass</CODE> - 
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the implementation class is already
         set</DL>
</DD>
</DL>
<HR>

<A NAME="getTypeMapping()"><!-- --></A><H3>
getTypeMapping</H3>
<PRE>
public <A HREF="../../../../org/apache/axis/encoding/TypeMapping.html" title="interface in org.apache.axis.encoding">TypeMapping</A> <B>getTypeMapping</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getTypeMapping()">getTypeMapping</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setTypeMapping(org.apache.axis.encoding.TypeMapping)"><!-- --></A><H3>
setTypeMapping</H3>
<PRE>
public void <B>setTypeMapping</B>(<A HREF="../../../../org/apache/axis/encoding/TypeMapping.html" title="interface in org.apache.axis.encoding">TypeMapping</A>&nbsp;tm)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#setTypeMapping(org.apache.axis.encoding.TypeMapping)">setTypeMapping</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getName()"><!-- --></A><H3>
getName</H3>
<PRE>
public java.lang.String <B>getName</B>()</PRE>
<DL>
<DD>the name of the service
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setName(java.lang.String)"><!-- --></A><H3>
setName</H3>
<PRE>
public void <B>setName</B>(java.lang.String&nbsp;name)</PRE>
<DL>
<DD>the name of the service
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#setName(java.lang.String)">setName</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getDocumentation()"><!-- --></A><H3>
getDocumentation</H3>
<PRE>
public java.lang.String <B>getDocumentation</B>()</PRE>
<DL>
<DD>get the documentation for the service
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getDocumentation()">getDocumentation</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setDocumentation(java.lang.String)"><!-- --></A><H3>
setDocumentation</H3>
<PRE>
public void <B>setDocumentation</B>(java.lang.String&nbsp;documentation)</PRE>
<DL>
<DD>set the documentation for the service
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#setDocumentation(java.lang.String)">setDocumentation</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getStopClasses()"><!-- --></A><H3>
getStopClasses</H3>
<PRE>
public java.util.ArrayList <B>getStopClasses</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setStopClasses(java.util.ArrayList)"><!-- --></A><H3>
setStopClasses</H3>
<PRE>
public void <B>setStopClasses</B>(java.util.ArrayList&nbsp;stopClasses)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getDisallowedMethods()"><!-- --></A><H3>
getDisallowedMethods</H3>
<PRE>
public java.util.List <B>getDisallowedMethods</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getDisallowedMethods()">getDisallowedMethods</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setDisallowedMethods(java.util.List)"><!-- --></A><H3>
setDisallowedMethods</H3>
<PRE>
public void <B>setDisallowedMethods</B>(java.util.List&nbsp;disallowedMethods)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#setDisallowedMethods(java.util.List)">setDisallowedMethods</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="removeOperationDesc(org.apache.axis.description.OperationDesc)"><!-- --></A><H3>
removeOperationDesc</H3>
<PRE>
public void <B>removeOperationDesc</B>(<A HREF="../../../../org/apache/axis/description/OperationDesc.html" title="class in org.apache.axis.description">OperationDesc</A>&nbsp;operation)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#removeOperationDesc(org.apache.axis.description.OperationDesc)">removeOperationDesc</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addOperationDesc(org.apache.axis.description.OperationDesc)"><!-- --></A><H3>
addOperationDesc</H3>
<PRE>
public void <B>addOperationDesc</B>(<A HREF="../../../../org/apache/axis/description/OperationDesc.html" title="class in org.apache.axis.description">OperationDesc</A>&nbsp;operation)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#addOperationDesc(org.apache.axis.description.OperationDesc)">addOperationDesc</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getOperations()"><!-- --></A><H3>
getOperations</H3>
<PRE>
public java.util.ArrayList <B>getOperations</B>()</PRE>
<DL>
<DD>get all the operations as a list of OperationDescs.
 this method triggers an evaluation of the valid operations by
 introspection, so use sparingly
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getOperations()">getOperations</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>reference to the operations array. This is not a copy</DL>
</DD>
</DL>
<HR>

<A NAME="getOperationsByName(java.lang.String)"><!-- --></A><H3>
getOperationsByName</H3>
<PRE>
public <A HREF="../../../../org/apache/axis/description/OperationDesc.html" title="class in org.apache.axis.description">OperationDesc</A>[] <B>getOperationsByName</B>(java.lang.String&nbsp;methodName)</PRE>
<DL>
<DD>get all overloaded operations by name
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getOperationsByName(java.lang.String)">getOperationsByName</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>methodName</CODE> - 
<DT><B>Returns:</B><DD>null for no match, or an array of OperationDesc objects</DL>
</DD>
</DL>
<HR>

<A NAME="getOperationByName(java.lang.String)"><!-- --></A><H3>
getOperationByName</H3>
<PRE>
public <A HREF="../../../../org/apache/axis/description/OperationDesc.html" title="class in org.apache.axis.description">OperationDesc</A> <B>getOperationByName</B>(java.lang.String&nbsp;methodName)</PRE>
<DL>
<DD>Return an operation matching the given method name.  Note that if we
 have multiple overloads for this method, we will return the first one.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getOperationByName(java.lang.String)">getOperationByName</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>null for no match</DL>
</DD>
</DL>
<HR>

<A NAME="getOperationByElementQName(javax.xml.namespace.QName)"><!-- --></A><H3>
getOperationByElementQName</H3>
<PRE>
public <A HREF="../../../../org/apache/axis/description/OperationDesc.html" title="class in org.apache.axis.description">OperationDesc</A> <B>getOperationByElementQName</B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;qname)</PRE>
<DL>
<DD>Map an XML QName to an operation.  Returns the first one it finds
 in the case of mulitple matches.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getOperationByElementQName(javax.xml.namespace.QName)">getOperationByElementQName</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>null for no match</DL>
</DD>
</DL>
<HR>

<A NAME="getOperationsByQName(javax.xml.namespace.QName)"><!-- --></A><H3>
getOperationsByQName</H3>
<PRE>
public <A HREF="../../../../org/apache/axis/description/OperationDesc.html" title="class in org.apache.axis.description">OperationDesc</A>[] <B>getOperationsByQName</B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;qname)</PRE>
<DL>
<DD>Return all operations which match this QName (i.e. get all the
 overloads)
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getOperationsByQName(javax.xml.namespace.QName)">getOperationsByQName</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>null for no match</DL>
</DD>
</DL>
<HR>

<A NAME="loadServiceDescByIntrospection()"><!-- --></A><H3>
loadServiceDescByIntrospection</H3>
<PRE>
public void <B>loadServiceDescByIntrospection</B>()</PRE>
<DL>
<DD>Fill in a service description by introspecting the implementation
 class.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="loadServiceDescByIntrospection(java.lang.Class)"><!-- --></A><H3>
loadServiceDescByIntrospection</H3>
<PRE>
public void <B>loadServiceDescByIntrospection</B>(java.lang.Class&nbsp;implClass)</PRE>
<DL>
<DD>Fill in a service description by introspecting the implementation
 class.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="loadServiceDescByIntrospection(java.lang.Class, org.apache.axis.encoding.TypeMapping)"><!-- --></A><H3>
loadServiceDescByIntrospection</H3>
<PRE>
public void <B>loadServiceDescByIntrospection</B>(java.lang.Class&nbsp;cls,
                                           <A HREF="../../../../org/apache/axis/encoding/TypeMapping.html" title="interface in org.apache.axis.encoding">TypeMapping</A>&nbsp;tm)</PRE>
<DL>
<DD>Fill in a service description by introspecting the implementation
 class.  This version takes the implementation class and the in-scope
 TypeMapping.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setNamespaceMappings(java.util.List)"><!-- --></A><H3>
setNamespaceMappings</H3>
<PRE>
public void <B>setNamespaceMappings</B>(java.util.List&nbsp;namespaces)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#setNamespaceMappings(java.util.List)">setNamespaceMappings</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getDefaultNamespace()"><!-- --></A><H3>
getDefaultNamespace</H3>
<PRE>
public java.lang.String <B>getDefaultNamespace</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getDefaultNamespace()">getDefaultNamespace</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setDefaultNamespace(java.lang.String)"><!-- --></A><H3>
setDefaultNamespace</H3>
<PRE>
public void <B>setDefaultNamespace</B>(java.lang.String&nbsp;namespace)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#setDefaultNamespace(java.lang.String)">setDefaultNamespace</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setProperty(java.lang.String, java.lang.Object)"><!-- --></A><H3>
setProperty</H3>
<PRE>
public void <B>setProperty</B>(java.lang.String&nbsp;name,
                        java.lang.Object&nbsp;value)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#setProperty(java.lang.String, java.lang.Object)">setProperty</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getProperty(java.lang.String)"><!-- --></A><H3>
getProperty</H3>
<PRE>
public java.lang.Object <B>getProperty</B>(java.lang.String&nbsp;name)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getProperty(java.lang.String)">getProperty</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getEndpointURL()"><!-- --></A><H3>
getEndpointURL</H3>
<PRE>
public java.lang.String <B>getEndpointURL</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getEndpointURL()">getEndpointURL</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setEndpointURL(java.lang.String)"><!-- --></A><H3>
setEndpointURL</H3>
<PRE>
public void <B>setEndpointURL</B>(java.lang.String&nbsp;endpointURL)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#setEndpointURL(java.lang.String)">setEndpointURL</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getTypeMappingRegistry()"><!-- --></A><H3>
getTypeMappingRegistry</H3>
<PRE>
public <A HREF="../../../../org/apache/axis/encoding/TypeMappingRegistry.html" title="interface in org.apache.axis.encoding">TypeMappingRegistry</A> <B>getTypeMappingRegistry</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#getTypeMappingRegistry()">getTypeMappingRegistry</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setTypeMappingRegistry(org.apache.axis.encoding.TypeMappingRegistry)"><!-- --></A><H3>
setTypeMappingRegistry</H3>
<PRE>
public void <B>setTypeMappingRegistry</B>(<A HREF="../../../../org/apache/axis/encoding/TypeMappingRegistry.html" title="interface in org.apache.axis.encoding">TypeMappingRegistry</A>&nbsp;tmr)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#setTypeMappingRegistry(org.apache.axis.encoding.TypeMappingRegistry)">setTypeMappingRegistry</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isInitialized()"><!-- --></A><H3>
isInitialized</H3>
<PRE>
public boolean <B>isInitialized</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html#isInitialized()">isInitialized</A></CODE> in interface <CODE><A HREF="../../../../org/apache/axis/description/ServiceDesc.html" title="interface in org.apache.axis.description">ServiceDesc</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JavaServiceDesc.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/axis/description/FieldDesc.html" title="class in org.apache.axis.description"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/axis/description/OperationDesc.html" title="class in org.apache.axis.description"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="JavaServiceDesc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>

</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright © 2005 Apache Web Services Project. All Rights Reserved.
</BODY>
</HTML>
