<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Deprecated List (Apache Axis2)</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Deprecated List (Apache Axis2)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Deprecated API" class="title">Deprecated API</h1>
<h2 title="Contents">Contents</h2>
<ul>
<li><a href="#class">Deprecated Classes</a></li>
<li><a href="#field">Deprecated Fields</a></li>
<li><a href="#method">Deprecated Methods</a></li>
<li><a href="#constructor">Deprecated Constructors</a></li>
</ul>
</div>
<div class="contentContainer"><a name="class">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Classes table, listing deprecated classes, and an explanation">
<caption><span>Deprecated Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/util/ClassLoaderUtils.html" title="class in org.apache.axis2.jaxws.util">org.apache.axis2.jaxws.util.ClassLoaderUtils</a>
<div class="block"><span class="deprecationComment">- Security Risk. Please don't use this class, As a general rule
 end user code should not be able to access AccessController.doPrivileged</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/transport/http/util/ComplexPart.html" title="class in org.apache.axis2.transport.http.util">org.apache.axis2.transport.http.util.ComplexPart</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/rpc/receivers/ejb/EJBInOutAsyncMessageReceiver.html" title="class in org.apache.axis2.rpc.receivers.ejb">org.apache.axis2.rpc.receivers.ejb.EJBInOutAsyncMessageReceiver</a>
<div class="block"><span class="deprecationComment">you can just use EJBMessageReceiver</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/transport/http/impl/httpclient3/HTTPProxcyConfigurator.html" title="class in org.apache.axis2.transport.http.impl.httpclient3">org.apache.axis2.transport.http.impl.httpclient3.HTTPProxcyConfigurator</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/axis2/transport/http/impl/httpclient3/HTTPProxyConfigurator.html" title="class in org.apache.axis2.transport.http.impl.httpclient3"><code>HTTPProxyConfigurator</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/transport/http/util/HTTPProxyConfigurationUtil.html" title="class in org.apache.axis2.transport.http.util">org.apache.axis2.transport.http.util.HTTPProxyConfigurationUtil</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/transport/http/HttpTransportProperties.MailProperties.html" title="class in org.apache.axis2.transport.http">org.apache.axis2.transport.http.HttpTransportProperties.MailProperties</a>
<div class="block"><span class="deprecationComment">org.apache.axis2.transport.http.HttpTransportProperties.MailProperties has been
 deprecated and user are encourage the use of java.util.Properties instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/ws/java2wsdl/Java2WSDLTask.html" title="class in org.apache.ws.java2wsdl">org.apache.ws.java2wsdl.Java2WSDLTask</a>
<div class="block"><span class="deprecationComment">please use org.apache.axis2.tool.ant.Java2WSDLTask</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/databinding/types/NegativeInteger.BigIntegerRep.html" title="class in org.apache.axis2.databinding.types">org.apache.axis2.databinding.types.NegativeInteger.BigIntegerRep</a>
<div class="block"><span class="deprecationComment">As per https://issues.apache.org/jira/browse/AXIS2-3848</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/databinding/types/NonNegativeInteger.BigIntegerRep.html" title="class in org.apache.axis2.databinding.types">org.apache.axis2.databinding.types.NonNegativeInteger.BigIntegerRep</a>
<div class="block"><span class="deprecationComment">As per https://issues.apache.org/jira/browse/AXIS2-3848</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/databinding/types/NonPositiveInteger.BigIntegerRep.html" title="class in org.apache.axis2.databinding.types">org.apache.axis2.databinding.types.NonPositiveInteger.BigIntegerRep</a>
<div class="block"><span class="deprecationComment">As per https://issues.apache.org/jira/browse/AXIS2-3848</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/databinding/types/PositiveInteger.BigIntegerRep.html" title="class in org.apache.axis2.databinding.types">org.apache.axis2.databinding.types.PositiveInteger.BigIntegerRep</a>
<div class="block"><span class="deprecationComment">As per https://issues.apache.org/jira/browse/AXIS2-3848</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="field">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Fields table, listing deprecated fields, and an explanation">
<caption><span>Deprecated Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Field and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/builder/BuilderUtil.html#BOM_SIZE">org.apache.axis2.builder.BuilderUtil.BOM_SIZE</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/Constants.html#JAXWS_ENABLE_JAXB_PAYLOAD_STREAMING">org.apache.axis2.jaxws.Constants.JAXWS_ENABLE_JAXB_PAYLOAD_STREAMING</a>
<div class="block"><span class="deprecationComment">see JAXWS_PAYLOAD_HIGH_FIDELITY</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/transport/http/HTTPConstants.html#MTOM_RECEIVED_CONTENT_TYPE">org.apache.axis2.transport.http.HTTPConstants.MTOM_RECEIVED_CONTENT_TYPE</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/description/builder/MDQConstants.html#SEI_MTOM_ENABLEMENT_MAP">org.apache.axis2.jaxws.description.builder.MDQConstants.SEI_MTOM_ENABLEMENT_MAP</a>
<div class="block"><span class="deprecationComment">Replaced by SEI_FEATURES_MAP with a MTOMAnnot to indicate if MTOM is enabled.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="method">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Methods table, listing deprecated methods, and an explanation">
<caption><span>Deprecated Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/wsdl/codegen/writer/WSDL11Writer.html#adjustWSDLSchemaLocatins-javax.wsdl.Definition-java.util.Map-">org.apache.axis2.wsdl.codegen.writer.WSDL11Writer.adjustWSDLSchemaLocatins(Definition, Map)</a>
<div class="block"><span class="deprecationComment">please use adjustWSDLSchemaLocations</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/server/endpoint/Utils.html#bindingTypesMatch-org.apache.axis2.jaxws.core.MessageContext-org.apache.axis2.jaxws.description.ServiceDescription-">org.apache.axis2.jaxws.server.endpoint.Utils.bindingTypesMatch(MessageContext, ServiceDescription)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/transport/http/HTTPTransportUtils.html#createEnvelopeFromGetRequest-java.lang.String-java.util.Map-org.apache.axis2.context.ConfigurationContext-">org.apache.axis2.transport.http.HTTPTransportUtils.createEnvelopeFromGetRequest(String, Map, ConfigurationContext)</a>
<div class="block"><span class="deprecationComment">This was used only by the now deprecated processHTTPGetRequest() method.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.html#createWebServiceRefAnnotImpl-java.lang.String-java.lang.String-java.lang.Class-java.lang.Class-java.lang.String-java.lang.String-java.lang.String-">org.apache.axis2.jaxws.description.builder.WebServiceRefAnnot.createWebServiceRefAnnotImpl(String, String, Class, Class, String, String, String)</a>
<div class="block"><span class="deprecationComment">The String values for type and value should not be used.  Use <a href="org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.html#createWebServiceRefAnnotImpl-java.lang.String-java.lang.String-java.lang.Class-java.lang.Class-java.lang.String-"><code>WebServiceRefAnnot.createWebServiceRefAnnotImpl(String, String, Class, Class, String)</code></a>
 
  There shouldn't be both a class and String for type and value; there isn't on the actual 
  annotation.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/builder/BuilderUtil.html#getBuilder-java.io.InputStream-">org.apache.axis2.builder.BuilderUtil.getBuilder(InputStream)</a>
<div class="block"><span class="deprecationComment">Please use <a href="http://ws.apache.org/axiom/apidocs/org/apache/axiom/om/OMXMLBuilderFactory.html?is-external=true#createOMBuilder-java.io.InputStream-" title="class or interface in org.apache.axiom.om"><code>OMXMLBuilderFactory.createOMBuilder(InputStream)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/builder/BuilderUtil.html#getBuilder-java.io.InputStream-java.lang.String-">org.apache.axis2.builder.BuilderUtil.getBuilder(InputStream, String)</a>
<div class="block"><span class="deprecationComment">Please use <a href="org/apache/axis2/builder/BuilderUtil.html#createSOAPModelBuilder-java.io.InputStream-java.lang.String-"><code>BuilderUtil.createSOAPModelBuilder(InputStream, String)</code></a> to enable usage
             of non standard Axiom implementations.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/builder/BuilderUtil.html#getBuilder-java.io.Reader-">org.apache.axis2.builder.BuilderUtil.getBuilder(Reader)</a>
<div class="block"><span class="deprecationComment">If some one really need this method, please shout.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/builder/BuilderUtil.html#getCharSetEncoding-java.io.PushbackInputStream-java.lang.String-">org.apache.axis2.builder.BuilderUtil.getCharSetEncoding(PushbackInputStream, String)</a>
<div class="block"><span class="deprecationComment">It's the role of the XML parser to determine the charset encoding and/or byte
             order using the algorithm described in the "Autodetection of Character Encodings"
             appendix of the XML spec. If you need this method, then something is wrong:
             probably you are using a <a href="https://docs.oracle.com/javase/7/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a> where you should use an
             <a href="https://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/description/PolicyInclude.html#getEffectivePolicy--">org.apache.axis2.description.PolicyInclude.getEffectivePolicy()</a>
<div class="block"><span class="deprecationComment">As of 1.4 release. Use
             <a href="org/apache/axis2/description/AxisMessage.html" title="class in org.apache.axis2.description"><code>#getEffectivePolicy()</code></a> or
             <a href="org/apache/axis2/description/AxisBindingMessage.html" title="class in org.apache.axis2.description"><code>#getEffectivePolicy()</code></a> when
             applicable.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/schema/BeanWriterMetaInfoHolder.html#getElementQNameIterator--">org.apache.axis2.schema.BeanWriterMetaInfoHolder.getElementQNameIterator()</a>
<div class="block"><span class="deprecationComment">Use #getQNameArray</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/description/AxisService.html#getEndpointURL--">org.apache.axis2.description.AxisService.getEndpointURL()</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/axis2/description/AxisEndpoint.html#getEndpointURL--"><code>AxisEndpoint.getEndpointURL()</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/message/databinding/JAXBUtils.html#getJAXBContext-java.util.TreeSet-">org.apache.axis2.jaxws.message.databinding.JAXBUtils.getJAXBContext(TreeSet&lt;String&gt;)</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/message/databinding/JAXBUtils.html#getJAXBContext-java.util.TreeSet-java.lang.ClassLoader-">org.apache.axis2.jaxws.message.databinding.JAXBUtils.getJAXBContext(TreeSet&lt;String&gt;, ClassLoader)</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/addressing/EndpointReference.html#getName--">org.apache.axis2.addressing.EndpointReference.getName()</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/description/PolicyInclude.html#getPolicy--">org.apache.axis2.description.PolicyInclude.getPolicy()</a>
<div class="block"><span class="deprecationComment">As of 1.4 release. If you need to calculate merged policy of
             all policies that are in the policy cache of
             <a href="org/apache/axis2/description/AxisDescription.html" title="class in org.apache.axis2.description"><code>AxisDescription</code></a>, use
             <a href="org/apache/axis2/description/PolicySubject.html" title="class in org.apache.axis2.description"><code>#getAttachedPolicyComponents() and {@link org.PolicyUtil #getMergedPolicy(List, AxisDescription)}</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/description/PolicyInclude.html#getPolicyElements-int-">org.apache.axis2.description.PolicyInclude.getPolicyElements(int)</a>
<div class="block"><span class="deprecationComment">As of 1.4 release. The policy element type is no longer
             required since we maintain a complete binding description
             hierarchy for the static description the service. Hence use
             <a href="org/apache/axis2/description/PolicySubject.html" title="class in org.apache.axis2.description"><code>#getAttachedPolicyComponents()</code></a> on
             appropriate description object.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/description/AxisDescription.html#getPolicyInclude--">org.apache.axis2.description.AxisDescription.getPolicyInclude()</a>
<div class="block"><span class="deprecationComment">As of release 1.4, replaced by <a href="org/apache/axis2/description/AxisDescription.html#getPolicySubject--"><code>AxisDescription.getPolicySubject()</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/builder/BuilderUtil.html#getPOXBuilder-java.io.InputStream-java.lang.String-">org.apache.axis2.builder.BuilderUtil.getPOXBuilder(InputStream, String)</a>
<div class="block"><span class="deprecationComment">Please use <a href="org/apache/axis2/builder/BuilderUtil.html#createPOXBuilder-java.io.InputStream-java.lang.String-"><code>BuilderUtil.createPOXBuilder(InputStream, String)</code></a> to enable usage of non
             standard Axiom implementations.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/context/AbstractContext.html#getProperties--">org.apache.axis2.context.AbstractContext.getProperties()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/axis2/context/AbstractContext.html#getPropertyNames--"><code>AbstractContext.getPropertyNames()</code></a>, <a href="org/apache/axis2/context/AbstractContext.html#getProperty-java.lang.String-"><code>AbstractContext.getProperty(String)</code></a>,
             <a href="org/apache/axis2/context/AbstractContext.html#setProperty-java.lang.String-java.lang.Object-"><code>AbstractContext.setProperty(String, Object)</code></a> & <a href="org/apache/axis2/context/AbstractContext.html#removeProperty-java.lang.String-"><code>AbstractContext.removeProperty(String)</code></a>instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/builder/BuilderUtil.html#getPushbackInputStream-java.io.InputStream-">org.apache.axis2.builder.BuilderUtil.getPushbackInputStream(InputStream)</a>
<div class="block"><span class="deprecationComment">If you need a <a href="https://docs.oracle.com/javase/7/docs/api/java/io/PushbackInputStream.html?is-external=true" title="class or interface in java.io"><code>PushbackInputStream</code></a> just construct one (with the
             appropriate size).</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/builder/BuilderUtil.html#getReader-java.io.InputStream-java.lang.String-">org.apache.axis2.builder.BuilderUtil.getReader(InputStream, String)</a>
<div class="block"><span class="deprecationComment">Instead of using this method, you should probably pass the <a href="https://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a>
             directly to the XML parser. If the stream is not XML, you shouldn't be using this
             method anyway.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/builder/BuilderUtil.html#getSOAPBuilder-java.io.InputStream-">org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(InputStream)</a>
<div class="block"><span class="deprecationComment">Please use <a href="org/apache/axis2/builder/BuilderUtil.html#createSOAPModelBuilder-java.io.InputStream-java.lang.String-"><code>BuilderUtil.createSOAPModelBuilder(InputStream, String)</code></a> to enable usage
             of non standard Axiom implementations.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/builder/BuilderUtil.html#getSOAPBuilder-java.io.InputStream-java.lang.String-">org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(InputStream, String)</a>
<div class="block"><span class="deprecationComment">Please use <a href="org/apache/axis2/builder/BuilderUtil.html#createSOAPModelBuilder-java.io.InputStream-java.lang.String-"><code>BuilderUtil.createSOAPModelBuilder(InputStream, String)</code></a> to enable usage
             of non standard Axiom implementations.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.html#getTypeString--">org.apache.axis2.jaxws.description.builder.WebServiceRefAnnot.getTypeString()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.html#type--"><code>WebServiceRefAnnot.type()</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/databinding/utils/BeanUtil.html#getUniquePrifix--">org.apache.axis2.databinding.utils.BeanUtil.getUniquePrifix()</a>
<div class="block"><span class="deprecationComment">Please use getUniquePrefix</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.html#getValueString--">org.apache.axis2.jaxws.description.builder.WebServiceRefAnnot.getValueString()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.html#value--"><code>WebServiceRefAnnot.value()</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/wsdl/codegen/CodeGenConfiguration.html#getXsdConfigFile--">org.apache.axis2.wsdl.codegen.CodeGenConfiguration.getXsdConfigFile()</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/context/MessageContext.html#isHeaderPresent--">org.apache.axis2.context.MessageContext.isHeaderPresent()</a>
<div class="block"><span class="deprecationComment">The bonus you used to get from this is now built in to SOAPEnvelope.getHeader()</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/transport/http/HTTPTransportUtils.html#processHTTPGetRequest-org.apache.axis2.context.MessageContext-java.io.OutputStream-java.lang.String-java.lang.String-org.apache.axis2.context.ConfigurationContext-java.util.Map-">org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPGetRequest(MessageContext, OutputStream, String, String, ConfigurationContext, Map)</a>
<div class="block"><span class="deprecationComment">use RESTUtil.processURLRequest(MessageContext msgContext, OutputStream out, String contentType) instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/description/PolicyInclude.html#setEffectivePolicy-org.apache.neethi.Policy-">org.apache.axis2.description.PolicyInclude.setEffectivePolicy(Policy)</a>
<div class="block"><span class="deprecationComment">As of 1.4 release. You can't override a policies that
             applicable for the current policy scope via
             <a href="org/apache/axis2/description/PolicyInclude.html" title="class in org.apache.axis2.description"><code>#setEffectivePolicy(Policy)</code></a>. In case
             you need to make a policy the only policy that is within the
             policy cache of an <a href="org/apache/axis2/description/AxisDescription.html" title="class in org.apache.axis2.description"><code>AxisDescription</code></a> please use
             <a href="org/apache/axis2/description/PolicySubject.html" title="class in org.apache.axis2.description"><code>#clear()</code></a> and
             <a href="org/apache/axis2/description/PolicySubject.html" title="class in org.apache.axis2.description"><code>#attachPolicy(Policy)</code></a> accordingly.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/description/AxisService.html#setEndpointURL-java.lang.String-">org.apache.axis2.description.AxisService.setEndpointURL(String)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/axis2/description/AxisEndpoint.html#setEndpointURL-java.lang.String-"><code>AxisEndpoint.setEndpointURL(String)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/addressing/EndpointReference.html#setName-java.lang.String-">org.apache.axis2.addressing.EndpointReference.setName(String)</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/description/PolicyInclude.html#setPolicy-org.apache.neethi.Policy-">org.apache.axis2.description.PolicyInclude.setPolicy(Policy)</a>
<div class="block"><span class="deprecationComment">As of 1.4 release, replaced by
             <a href="org/apache/axis2/description/PolicySubject.html" title="class in org.apache.axis2.description"><code>#attachPolicy(Policy)</code></a> Use
             <a href="org/apache/axis2/description/PolicySubject.html" title="class in org.apache.axis2.description"><code>#clear()</code></a> beforehand effective policy of
             <a href="org/apache/axis2/description/AxisDescription.html" title="class in org.apache.axis2.description"><code>AxisDescription</code></a> has to be set as the argument.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/description/AxisDescription.html#setPolicyInclude-org.apache.axis2.description.PolicyInclude-">org.apache.axis2.description.AxisDescription.setPolicyInclude(PolicyInclude)</a>
<div class="block"><span class="deprecationComment">As of release 1.4, if you want to access the policy cache of a particular
             AxisDescription object use <a href="org/apache/axis2/description/AxisDescription.html#getPolicySubject--"><code>AxisDescription.getPolicySubject()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/databinding/types/Duration.html#setSeconds-int-">org.apache.axis2.databinding.types.Duration.setSeconds(int)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/axis2/databinding/types/Duration.html#setSeconds-double-"><code>setSeconds(double)</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.html#setTypeString-java.lang.String-">org.apache.axis2.jaxws.description.builder.WebServiceRefAnnot.setTypeString(String)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.html#setType-java.lang.Class-"><code>WebServiceRefAnnot.setType(Class)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.html#setValueString-java.lang.String-">org.apache.axis2.jaxws.description.builder.WebServiceRefAnnot.setValueString(String)</a>
<div class="block"><span class="deprecationComment"><a href="org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.html#setValue-java.lang.Class-"><code>WebServiceRefAnnot.setValue(Class)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/wsdl/codegen/CodeGenConfiguration.html#setXsdConfigFile-java.lang.String-">org.apache.axis2.wsdl.codegen.CodeGenConfiguration.setXsdConfigFile(String)</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/databinding/types/PositiveInteger.html#writeReplace--">org.apache.axis2.databinding.types.PositiveInteger.writeReplace()</a>
<div class="block"><span class="deprecationComment">As per https://issues.apache.org/jira/browse/AXIS2-3848</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/databinding/types/NonPositiveInteger.html#writeReplace--">org.apache.axis2.databinding.types.NonPositiveInteger.writeReplace()</a>
<div class="block"><span class="deprecationComment">As per https://issues.apache.org/jira/browse/AXIS2-3848</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/databinding/types/NonNegativeInteger.html#writeReplace--">org.apache.axis2.databinding.types.NonNegativeInteger.writeReplace()</a>
<div class="block"><span class="deprecationComment">As per https://issues.apache.org/jira/browse/AXIS2-3848</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/databinding/types/NegativeInteger.html#writeReplace--">org.apache.axis2.databinding.types.NegativeInteger.writeReplace()</a>
<div class="block"><span class="deprecationComment">As per https://issues.apache.org/jira/browse/AXIS2-3848</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="constructor">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Constructors table, listing deprecated constructors, and an explanation">
<caption><span>Deprecated Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/message/databinding/JAXBBlockContext.html#JAXBBlockContext-java.lang.String-">org.apache.axis2.jaxws.message.databinding.JAXBBlockContext(String)</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/datasource/jaxb/JAXBDSContext.html#JAXBDSContext-java.lang.String-">org.apache.axis2.datasource.jaxb.JAXBDSContext(String)</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/util/WSDL4JWrapper.html#WSDL4JWrapper-javax.wsdl.Definition-">org.apache.axis2.jaxws.util.WSDL4JWrapper(Definition)</a>
<div class="block"><span class="deprecationComment">Use WSDL4JWrapper(Definition,ConfigurationContext)</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/util/WSDL4JWrapper.html#WSDL4JWrapper-java.net.URL-">org.apache.axis2.jaxws.util.WSDL4JWrapper(URL)</a>
<div class="block"><span class="deprecationComment">Use a constructor that passes in the ConfigContext, or memoryLimit parameter</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/util/WSDL4JWrapper.html#WSDL4JWrapper-java.net.URL-javax.wsdl.Definition-">org.apache.axis2.jaxws.util.WSDL4JWrapper(URL, Definition)</a>
<div class="block"><span class="deprecationComment">Use a constructor that has a ConfigContext or memoryLimit parameter</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/util/WSDL4JWrapper.html#WSDL4JWrapper-java.net.URL-javax.wsdl.Definition-org.apache.axis2.jaxws.catalog.JAXWSCatalogManager-">org.apache.axis2.jaxws.util.WSDL4JWrapper(URL, Definition, JAXWSCatalogManager)</a>
<div class="block"><span class="deprecationComment">Use a constructor with a ConfigurationContext or memory limit setting</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/axis2/jaxws/util/WSDL4JWrapper.html#WSDL4JWrapper-java.net.URL-org.apache.axis2.jaxws.catalog.JAXWSCatalogManager-">org.apache.axis2.jaxws.util.WSDL4JWrapper(URL, JAXWSCatalogManager)</a>
<div class="block"><span class="deprecationComment">use a constructor with a ConfigurationContext or limitMemory parameter</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &copy; <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>