<!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:48 PDT 2006 -->
<TITLE>
ServletEndpointContextImpl (Axis API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.axis.transport.http.ServletEndpointContextImpl class">

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

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="ServletEndpointContextImpl (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/ServletEndpointContextImpl.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/transport/http/QSWSDLHandler.html" title="class in org.apache.axis.transport.http"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/axis/transport/http/SimpleAxisServer.html" title="class in org.apache.axis.transport.http"><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="ServletEndpointContextImpl.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;FIELD&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;FIELD&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.transport.http</FONT>
<BR>
Class ServletEndpointContextImpl</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by"><B>org.apache.axis.transport.http.ServletEndpointContextImpl</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html" title="interface in javax.xml.rpc.server">ServletEndpointContext</A></DD>
</DL>
<HR>
<DL>
<DT>public class <B>ServletEndpointContextImpl</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html" title="interface in javax.xml.rpc.server">ServletEndpointContext</A></DL>

<P>
<HR>

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


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


<!-- ======== 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/transport/http/ServletEndpointContextImpl.html#ServletEndpointContextImpl()">ServletEndpointContextImpl</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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;javax.servlet.http.HttpSession</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/transport/http/ServletEndpointContextImpl.html#getHttpSession()">getHttpSession</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>getHttpSession</code> method returns the current
 HTTP session (as a <code>javax.servlet.http.HTTPSession</code>).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../javax/xml/rpc/handler/MessageContext.html" title="interface in javax.xml.rpc.handler">MessageContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/transport/http/ServletEndpointContextImpl.html#getMessageContext()">getMessageContext</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The method <code>getMessageContext</code> returns the
 <code>MessageContext</code> targeted for this endpoint instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;javax.servlet.ServletContext</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/transport/http/ServletEndpointContextImpl.html#getServletContext()">getServletContext</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The method <code>getServletContext</code> returns the
 <code>ServletContex</code>t associated with the web
 application that contain this endpoint.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.security.Principal</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/transport/http/ServletEndpointContextImpl.html#getUserPrincipal()">getUserPrincipal</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>java.security.Principal</code> instance that
 contains the name of the authenticated user for the current
 method invocation on the endpoint instance.</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/transport/http/ServletEndpointContextImpl.html#isUserInRole(java.lang.String)">isUserInRole</A></B>(java.lang.String&nbsp;role)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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 =========== -->


<!-- ========= 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="ServletEndpointContextImpl()"><!-- --></A><H3>
ServletEndpointContextImpl</H3>
<PRE>
public <B>ServletEndpointContextImpl</B>()</PRE>
<DL>
</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="getHttpSession()"><!-- --></A><H3>
getHttpSession</H3>
<PRE>
public javax.servlet.http.HttpSession <B>getHttpSession</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html" title="interface in javax.xml.rpc.server">ServletEndpointContext</A></CODE></B></DD>
<DD>The <code>getHttpSession</code> method returns the current
 HTTP session (as a <code>javax.servlet.http.HTTPSession</code>).
 When invoked by the service endpoint within a remote method
 implementation, the <code>getHttpSession</code> returns the
 HTTP session associated currently with this method invocation.
 This method returns <code>null</code> if there is no HTTP
 session currently active and associated with this service
 endpoint. An endpoint class should not rely on an active
 HTTP session being always there; the underlying JAX-RPC
 runtime system is responsible for managing whether or not
 there is an active HTTP session.
 <p>
 The getHttpSession method throws <code>JAXRPCException</code>
 if invoked by an non HTTP bound endpoint.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html#getHttpSession()">getHttpSession</A></CODE> in interface <CODE><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html" title="interface in javax.xml.rpc.server">ServletEndpointContext</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The HTTP session associated with the current
 invocation or <code>null</code> if there is no active session.</DL>
</DD>
</DL>
<HR>

<A NAME="getMessageContext()"><!-- --></A><H3>
getMessageContext</H3>
<PRE>
public <A HREF="../../../../../javax/xml/rpc/handler/MessageContext.html" title="interface in javax.xml.rpc.handler">MessageContext</A> <B>getMessageContext</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html" title="interface in javax.xml.rpc.server">ServletEndpointContext</A></CODE></B></DD>
<DD>The method <code>getMessageContext</code> returns the
 <code>MessageContext</code> targeted for this endpoint instance.
 This enables the service endpoint instance to acccess the
 <code>MessageContext</code> propagated by request
 <code>HandlerChain</code> (and its contained <code>Handler</code>
 instances) to the target endpoint instance and to share any
 SOAP message processing related context. The endpoint instance
 can access and manipulate the <code>MessageContext</code>
 and share the SOAP message processing related context with
 the response <code>HandlerChain</code>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html#getMessageContext()">getMessageContext</A></CODE> in interface <CODE><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html" title="interface in javax.xml.rpc.server">ServletEndpointContext</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>MessageContext; If there is no associated
     <code>MessageContext</code>, this method returns
     <code>null</code>.</DL>
</DD>
</DL>
<HR>

<A NAME="getServletContext()"><!-- --></A><H3>
getServletContext</H3>
<PRE>
public javax.servlet.ServletContext <B>getServletContext</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html" title="interface in javax.xml.rpc.server">ServletEndpointContext</A></CODE></B></DD>
<DD>The method <code>getServletContext</code> returns the
 <code>ServletContex</code>t associated with the web
 application that contain this endpoint. According to
 the Servlet specification, There is one context per web
 application (installed as a WAR) per JVM . A servlet
 based service endpoint is deployed as part of a web
 application.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html#getServletContext()">getServletContext</A></CODE> in interface <CODE><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html" title="interface in javax.xml.rpc.server">ServletEndpointContext</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the current <code>ServletContext</code></DL>
</DD>
</DL>
<HR>

<A NAME="isUserInRole(java.lang.String)"><!-- --></A><H3>
isUserInRole</H3>
<PRE>
public boolean <B>isUserInRole</B>(java.lang.String&nbsp;role)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html#isUserInRole(java.lang.String)">isUserInRole</A></CODE> in interface <CODE><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html" title="interface in javax.xml.rpc.server">ServletEndpointContext</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUserPrincipal()"><!-- --></A><H3>
getUserPrincipal</H3>
<PRE>
public java.security.Principal <B>getUserPrincipal</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html" title="interface in javax.xml.rpc.server">ServletEndpointContext</A></CODE></B></DD>
<DD>Returns a <code>java.security.Principal</code> instance that
 contains the name of the authenticated user for the current
 method invocation on the endpoint instance. This method returns
 <code>null</code> if there is no associated principal yet.
 The underlying JAX-RPC runtime system takes the responsibility
 of providing the appropriate authenticated principal for a
 remote method invocation on the service endpoint instance.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html#getUserPrincipal()">getUserPrincipal</A></CODE> in interface <CODE><A HREF="../../../../../javax/xml/rpc/server/ServletEndpointContext.html" title="interface in javax.xml.rpc.server">ServletEndpointContext</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>A <code>java.security.Principal</code> for the
 authenticated principal associated with the current
 invocation on the servlet endpoint instance;
 Returns <code>null</code> if there no authenticated
 user associated with a method invocation.</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/ServletEndpointContextImpl.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/transport/http/QSWSDLHandler.html" title="class in org.apache.axis.transport.http"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/axis/transport/http/SimpleAxisServer.html" title="class in org.apache.axis.transport.http"><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="ServletEndpointContextImpl.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;FIELD&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;FIELD&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>
