<!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>Constants (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="Constants (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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Constants.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></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><a href="../../../../org/apache/axis2/jaxws/ClientConfigurationFactory.html" title="class in org.apache.axis2.jaxws"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/axis2/jaxws/ExceptionFactory.html" title="class in org.apache.axis2.jaxws"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/axis2/jaxws/Constants.html" target="_top">Frames</a></li>
<li><a href="Constants.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.axis2.jaxws</div>
<h2 title="Interface Constants" class="title">Interface Constants</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Constants</span></pre>
<div class="block">Constants that apply to the JAX-WS implementation.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#CHECKED_EXCEPTION">CHECKED_EXCEPTION</a></span></code>
<div class="block">If a checked exception is thrown by the webservice's webmethod, then
 the name of the checked exception is placed in the outbound response context.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#DISABLE_ENDPOINT_PUBLISH_METHODS">DISABLE_ENDPOINT_PUBLISH_METHODS</a></span></code>
<div class="block">Context Property:
 Name: jaxws.endpoint.publish.disable
 Value: String "false" or "true"
 Default: null, which is interpreted as "false"
 Can be set on:
 - Axis Configuration, which affects all jax-ws endpoints

 Indicates if the javax.xml.ws.Endpoint.publish methods should be disabled, throwing an exception if
 they are called.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#DISABLE_SOAPFAULT_FOR_LOCAL_EXCEPTION">DISABLE_SOAPFAULT_FOR_LOCAL_EXCEPTION</a></span></code>
<div class="block">Context Property:
 Name: jaxws.soapfault.local.exceptions.disable
 Value: String "false" or "true"
 Default: null, which is interpreted as "false"
 Can be set on:
 - Axis Configuration, which affects all jax-ws clients

 Indicates if local exceptions encountered by a JAX-WS client should be turned into a SOAPFaultException
 and then call the appropriate JAX-WS application handlers handleFault()methods with that SOAPFault
 in the message.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#DISPATCH_CLIENT_OUTBOUND_RESOLUTION">DISPATCH_CLIENT_OUTBOUND_RESOLUTION</a></span></code>
<div class="block">Context Property:
 Name: jaxws.dispatch.outbound.operation.resolution.enable
 Value: String "false" or "true"
 Default: null, which is interpreted as "true"
 Can be set on:
 - Axis Configuration, which affects operation resolution across all Dispatch<T> clients
 - Request message context, which affects only the Dispatch<T> client using that context.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#ENDPOINT_CONTEXT_MAP">ENDPOINT_CONTEXT_MAP</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#JAXWS_ENABLE_JAXB_PAYLOAD_STREAMING">JAXWS_ENABLE_JAXB_PAYLOAD_STREAMING</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">see JAXWS_PAYLOAD_HIGH_FIDELITY</span></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#JAXWS_INBOUND_SOAP_HEADERS">JAXWS_INBOUND_SOAP_HEADERS</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#JAXWS_JAXB_WRITE_REMOVE_ILLEGAL_CHARS">JAXWS_JAXB_WRITE_REMOVE_ILLEGAL_CHARS</a></span></code>
<div class="block">Context Property:
 Name: jaxws.jaxb.write.remove.illegal.chars
 Value: Boolean.TRUE or Boolean.FALSE
 Default: null, which is interpreted as FALSE.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#JAXWS_MESSAGE_ACCESSOR">JAXWS_MESSAGE_ACCESSOR</a></span></code>
<div class="block">javax.xml.ws.handler.MessageContext  Property:
 Name: jaxws.message.as.string
 Value: null or MessageAccessor
 
 Description:
 A handler or resource injection @WebServiceContext may use
 this property to get access to a MessageAccessor object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#JAXWS_OUTBOUND_SOAP_HEADERS">JAXWS_OUTBOUND_SOAP_HEADERS</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#JAXWS_PAYLOAD_HIGH_FIDELITY">JAXWS_PAYLOAD_HIGH_FIDELITY</a></span></code>
<div class="block">Context Property:
 Name: jaxws.payload.highFidelity
 Value: Boolean.TRUE or Boolean.FALSE
 Default: null, which is interpreted as FALSE....engine may set this to TRUE in some cases.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#JAXWS_PROVIDER_NULL_ONEWAY">JAXWS_PROVIDER_NULL_ONEWAY</a></span></code>
<div class="block">Context Property:
 Name: jaxws.provider.interpretNullAsOneway
 Value: Boolean.TRUE or Boolean.FALSE
 Default: TRUE.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#JAXWS_WEBMETHOD_EXCEPTION">JAXWS_WEBMETHOD_EXCEPTION</a></span></code>
<div class="block">If an exception is thrown by the JAXWS webservice's webmethod, the 
 Throwable object is placed in the service outbound response context.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#MEP_CONTEXT">MEP_CONTEXT</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#SOAP_HTTP_BINDING">SOAP_HTTP_BINDING</a></span></code>
<div class="block">This constant introduces an extension for @BindingType annotation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#THROW_EXCEPTION_IF_SOAP_FAULT">THROW_EXCEPTION_IF_SOAP_FAULT</a></span></code>
<div class="block">This constant will be used to determine if a Exception will be throw by
 JAX-WS layer when a SOAP Fault is received on response.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#WRITE_HEADER_ELEMENT_IF_NULL">WRITE_HEADER_ELEMENT_IF_NULL</a></span></code>
<div class="block">Context Property:
 Name: jaxws.header.parameter.isNull.write.element.with.xsi.nil
 Value: Boolean.TRUE or Boolean.FALSE
 Default: null, which is interpretted as Boolean.TRUE
 
 If the @WebParam indicates that the parameter is mapped to a header 
 and the argument for the parameter is null, this property is queried by the
 JAX-WS runtime to determine if 
  a) TRUE: A SOAP header element is serialized with an xsi:nil="true" attribute
  b) FALSE: No SOAP header element is serialized.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/axis2/jaxws/Constants.html#WS_CACHE">WS_CACHE</a></span></code>
<div class="block">This constant will be used to store the location of JAX-WS generated artifacts cache.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="ENDPOINT_CONTEXT_MAP">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ENDPOINT_CONTEXT_MAP</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ENDPOINT_CONTEXT_MAP</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.ENDPOINT_CONTEXT_MAP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JAXWS_OUTBOUND_SOAP_HEADERS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JAXWS_OUTBOUND_SOAP_HEADERS</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JAXWS_OUTBOUND_SOAP_HEADERS</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.JAXWS_OUTBOUND_SOAP_HEADERS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JAXWS_INBOUND_SOAP_HEADERS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JAXWS_INBOUND_SOAP_HEADERS</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JAXWS_INBOUND_SOAP_HEADERS</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.JAXWS_INBOUND_SOAP_HEADERS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JAXWS_ENABLE_JAXB_PAYLOAD_STREAMING">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JAXWS_ENABLE_JAXB_PAYLOAD_STREAMING</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JAXWS_ENABLE_JAXB_PAYLOAD_STREAMING</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">see JAXWS_PAYLOAD_HIGH_FIDELITY</span></div>
<div class="block">Value that can be set on a MessageContext.  The property value should be a Boolean()
 
 If set to false, then JAXB streaming of the XML body is disabled.
 A value of false will result in slower performance for unmarshalling JAXB objects
 but is a loss-less transformation.  
  
 A value of true will cause the JAXB objects to be created when the XML body is initially 
 parsed, which is more performant, but it may loose some information contained in the 
 original XML such as namespace prefixes if the XML stream is recreated from the JAXB 
 objects.
 
 The default value is Boolean(true) if this property is not set.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.JAXWS_ENABLE_JAXB_PAYLOAD_STREAMING">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JAXWS_PAYLOAD_HIGH_FIDELITY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JAXWS_PAYLOAD_HIGH_FIDELITY</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JAXWS_PAYLOAD_HIGH_FIDELITY</pre>
<div class="block">Context Property:
 Name: jaxws.payload.highFidelity
 Value: Boolean.TRUE or Boolean.FALSE
 Default: null, which is interpreted as FALSE....engine may set this to TRUE in some cases.
 
 Configuration Parameter
 Name: jaxws.payload.highFidelity
 Value: String or Boolean representing true or false
 Default: null, which is interpreted as FALSE
 
 Description:
 If the value is false, the jax-ws engine will transform the message in the most
 performant manner.  In some cases these transformations will cause the loss of some information.
 For example, JAX-B transformations are lossy.  
 
 If the value is true, the jax-ws engine will transform the message in the most loss-less manner.
 In some cases this will result in slower performance.  The message in such cases is "high fidelity",
 which means that it is a close replica of the original message.
 
 Customers should accept the default behavior (false), and only set the value to true if it is
 necessary for a SOAP Handler or other code requires a high fidelity message.
 
 The engine will first examine the Context property.  If not set, the value of the Configuration
 property is used.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.JAXWS_PAYLOAD_HIGH_FIDELITY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JAXWS_PROVIDER_NULL_ONEWAY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JAXWS_PROVIDER_NULL_ONEWAY</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JAXWS_PROVIDER_NULL_ONEWAY</pre>
<div class="block">Context Property:
 Name: jaxws.provider.interpretNullAsOneway
 Value: Boolean.TRUE or Boolean.FALSE
 Default: TRUE.
 
 Configuration Parameter
 Name: jaxws.provider.interpretNullAsOneway
 Value: String or Boolean representing true or false
 Default: true
 
 Description:
 If the value is false, the jax-ws engine will interpret a null response from a provider as an empty
 response to a two-way operation.  As a result it will create a SOAPEnvelope with an empty SOAPBody and send that
 as a response.
 
 If the value is true, the jax-ws engine will intrepret a null return value from a provider as an indication of 
 a one-way operation.  As a result, the engine will halt processing on the response.  Response handlers will not
 be invoked.  An HTTP acknowledgment will be sent back to the client.  No SOAPEnvelope will be sent.  You must use
 one-way client when invoking a Provider which returns null if this property is true.
 
 This is only true for operations which are not defined in WSDL.  If the operation is defined in WSDL, the WSDL
 determine the response for a Provider that returns null.  If the WSDL defines a two-way operation, a null
 from a provider will continue to produce a SOAPEnvelope with and empty SOAPBody as the response.
 
 The engine will first examine the Context property.  If not set, the value of the Configuration
 property is used.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.JAXWS_PROVIDER_NULL_ONEWAY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MEP_CONTEXT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MEP_CONTEXT</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> MEP_CONTEXT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.MEP_CONTEXT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CHECKED_EXCEPTION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CHECKED_EXCEPTION</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CHECKED_EXCEPTION</pre>
<div class="block">If a checked exception is thrown by the webservice's webmethod, then
 the name of the checked exception is placed in the outbound response context.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.CHECKED_EXCEPTION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JAXWS_WEBMETHOD_EXCEPTION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JAXWS_WEBMETHOD_EXCEPTION</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JAXWS_WEBMETHOD_EXCEPTION</pre>
<div class="block">If an exception is thrown by the JAXWS webservice's webmethod, the 
 Throwable object is placed in the service outbound response context.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.JAXWS_WEBMETHOD_EXCEPTION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SOAP_HTTP_BINDING">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SOAP_HTTP_BINDING</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SOAP_HTTP_BINDING</pre>
<div class="block">This constant introduces an extension for @BindingType annotation.
 When the value of BindingType annotation is set to this constant,
 the javax.xml.ws.Provider java endpoints will cater to SOAP11 and SOAP12
 messages.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.SOAP_HTTP_BINDING">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="THROW_EXCEPTION_IF_SOAP_FAULT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>THROW_EXCEPTION_IF_SOAP_FAULT</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> THROW_EXCEPTION_IF_SOAP_FAULT</pre>
<div class="block">This constant will be used to determine if a Exception will be throw by
 JAX-WS layer when a SOAP Fault is received on response.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.THROW_EXCEPTION_IF_SOAP_FAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="WRITE_HEADER_ELEMENT_IF_NULL">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WRITE_HEADER_ELEMENT_IF_NULL</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> WRITE_HEADER_ELEMENT_IF_NULL</pre>
<div class="block">Context Property:
 Name: jaxws.header.parameter.isNull.write.element.with.xsi.nil
 Value: Boolean.TRUE or Boolean.FALSE
 Default: null, which is interpretted as Boolean.TRUE
 
 If the @WebParam indicates that the parameter is mapped to a header 
 and the argument for the parameter is null, this property is queried by the
 JAX-WS runtime to determine if 
  a) TRUE: A SOAP header element is serialized with an xsi:nil="true" attribute
  b) FALSE: No SOAP header element is serialized.
  
  The default is TRUE because the JAX-WS developers feel that this is a safer
  approach.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.WRITE_HEADER_ELEMENT_IF_NULL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="WS_CACHE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WS_CACHE</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> WS_CACHE</pre>
<div class="block">This constant will be used to store the location of JAX-WS generated artifacts cache.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.WS_CACHE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JAXWS_JAXB_WRITE_REMOVE_ILLEGAL_CHARS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JAXWS_JAXB_WRITE_REMOVE_ILLEGAL_CHARS</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JAXWS_JAXB_WRITE_REMOVE_ILLEGAL_CHARS</pre>
<div class="block">Context Property:
 Name: jaxws.jaxb.write.remove.illegal.chars
 Value: Boolean.TRUE or Boolean.FALSE
 Default: null, which is interpreted as FALSE.
 
 Configuration Parameter
 Name: jaxws.jaxb.write.remove.illegal.chars
 Value: String or Boolean representing true or false
 Default: null, which is interpreted as FALSE
 
 Description:
 If the value is true, the jax-ws engine will detect and remove
 illegal characters (characters not supported in xml) when writing
 a JAXB data bean associated with a jaxws web method
  http://www.w3.org/TR/2008/REC-xml-20081126/#NT-Char
 This extra filter may degrade performance.
 
 Customers should accept the default behavior (false), and only set the value to true if the
 character data produced by their web service is invalid and cannot be filtered by some
 other mechanism.
 
 The engine will first examine the Context property.  If not set, the value of the Configuration
 property is used.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.JAXWS_JAXB_WRITE_REMOVE_ILLEGAL_CHARS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JAXWS_MESSAGE_ACCESSOR">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JAXWS_MESSAGE_ACCESSOR</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JAXWS_MESSAGE_ACCESSOR</pre>
<div class="block">javax.xml.ws.handler.MessageContext  Property:
 Name: jaxws.message.as.string
 Value: null or MessageAccessor
 
 Description:
 A handler or resource injection @WebServiceContext may use
 this property to get access to a MessageAccessor object.
 The MessageAccessor contains methods to allow a user to 
 get additional attributes from the message (for example getMessageAsString)</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.JAXWS_MESSAGE_ACCESSOR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DISPATCH_CLIENT_OUTBOUND_RESOLUTION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DISPATCH_CLIENT_OUTBOUND_RESOLUTION</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DISPATCH_CLIENT_OUTBOUND_RESOLUTION</pre>
<div class="block">Context Property:
 Name: jaxws.dispatch.outbound.operation.resolution.enable
 Value: String "false" or "true"
 Default: null, which is interpreted as "true"
 Can be set on:
 - Axis Configuration, which affects operation resolution across all Dispatch<T> clients
 - Request message context, which affects only the Dispatch<T> client using that context.

 Indicates if a Dispatch<T> message should be parsed to determine the operation indicated in the
 message, and use that to determine the Action that should be placed in the outgoing message.  The
 Action would be placed in the SOAPAction HTTP header and any WS-Addressing Action headers if 
 WS-Addressing is enabled.  Prior to the introduction of this property and associated support, 
 for Dispatch<T> the client would have to set the Action on the Request Message context in order to 
 get a meaningful value set as the Action.
 
 Note that parsing the outgoing message in order to determine the operation indicated in the
 message can be slow.  Therefore, this property is provided to disable that operation resolution.
 The default, however, is to do operation resolution.
 
 Operation resolution will also be disabled on a Dispatch<T> client if an Action was set on the 
 request message context.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/javase/7/docs/api/javax/xml/ws/BindingProvider.SOAPACTION_USE_PROPERTY.html?is-external=true" title="class or interface in javax.xml.ws"><code>BindingProvider.SOAPACTION_USE_PROPERTY</code></a>, 
<a href="https://docs.oracle.com/javase/7/docs/api/javax/xml/ws/BindingProvider.SOAPACTION_URI_PROPERTY.html?is-external=true" title="class or interface in javax.xml.ws"><code>BindingProvider.SOAPACTION_URI_PROPERTY</code></a>, 
<a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.DISPATCH_CLIENT_OUTBOUND_RESOLUTION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DISABLE_SOAPFAULT_FOR_LOCAL_EXCEPTION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DISABLE_SOAPFAULT_FOR_LOCAL_EXCEPTION</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DISABLE_SOAPFAULT_FOR_LOCAL_EXCEPTION</pre>
<div class="block">Context Property:
 Name: jaxws.soapfault.local.exceptions.disable
 Value: String "false" or "true"
 Default: null, which is interpreted as "false"
 Can be set on:
 - Axis Configuration, which affects all jax-ws clients

 Indicates if local exceptions encountered by a JAX-WS client should be turned into a SOAPFaultException
 and then call the appropriate JAX-WS application handlers handleFault()methods with that SOAPFault
 in the message.  This is new behavior, which is the default behavior indicated by this property not being
 set or having a value of "false".
 
 The previous behavior was for local exceptions to be turned into a WebServiceException that was set
 on an empty response message.  The appropriate JAX-WS application handers handleMessage() methods would be
 called with that empty message.  Setting this property to "true" will revert to this behavior.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.DISABLE_SOAPFAULT_FOR_LOCAL_EXCEPTION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DISABLE_ENDPOINT_PUBLISH_METHODS">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DISABLE_ENDPOINT_PUBLISH_METHODS</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DISABLE_ENDPOINT_PUBLISH_METHODS</pre>
<div class="block">Context Property:
 Name: jaxws.endpoint.publish.disable
 Value: String "false" or "true"
 Default: null, which is interpreted as "false"
 Can be set on:
 - Axis Configuration, which affects all jax-ws endpoints

 Indicates if the javax.xml.ws.Endpoint.publish methods should be disabled, throwing an exception if
 they are called.  This may be necessary in a managed environment, since as noted in JSR-109 section
 5.3.3 "Publishing Endpoints" using publish is non-portable in managed environments, and managed 
 environments may disallow publishing of endpoints dynamciall.
 
 If this property is set, the Endpoint.publish methods will throw an UnsupportedOperationException.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.axis2.jaxws.Constants.DISABLE_ENDPOINT_PUBLISH_METHODS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= 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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Constants.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></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><a href="../../../../org/apache/axis2/jaxws/ClientConfigurationFactory.html" title="class in org.apache.axis2.jaxws"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/axis2/jaxws/ExceptionFactory.html" title="class in org.apache.axis2.jaxws"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/axis2/jaxws/Constants.html" target="_top">Frames</a></li>
<li><a href="Constants.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</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>