blob: 2db1846e9c08a9cb794101474b30c06aec3c52d0 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.axis2.jaxws;
/**
* Constants that apply to the JAX-WS implementation.
*
*/
public interface Constants {
public static final String ENDPOINT_CONTEXT_MAP =
"org.apache.axis2.jaxws.addressing.util.EndpointContextMap";
public static final String JAXWS_OUTBOUND_SOAP_HEADERS =
org.apache.axis2.Constants.JAXWS_OUTBOUND_SOAP_HEADERS;
public static final String JAXWS_INBOUND_SOAP_HEADERS =
org.apache.axis2.Constants.JAXWS_INBOUND_SOAP_HEADERS;
/**
* 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.
* @deprecated see JAXWS_PAYLOAD_HIGH_FIDELITY
*/
public static final String JAXWS_ENABLE_JAXB_PAYLOAD_STREAMING =
"org.apache.axis2.jaxws.enableJAXBPayloadStreaming";
/**
* 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.
*/
public static final String JAXWS_PAYLOAD_HIGH_FIDELITY =
"jaxws.payload.highFidelity";
/**
* 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.
*/
public static final String JAXWS_PROVIDER_NULL_ONEWAY =
"jaxws.provider.interpretNullAsOneway";
public static final String MEP_CONTEXT =
"org.apache.axis2.jaxws.handler.MEPContext";
/**
* 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.
*/
public static final String CHECKED_EXCEPTION =
"org.apache.axis2.jaxws.checkedException";
/**
* If an exception is thrown by the JAXWS webservice's webmethod, the
* Throwable object is placed in the service outbound response context.
*/
public static final String JAXWS_WEBMETHOD_EXCEPTION =
org.apache.axis2.Constants.JAXWS_WEBMETHOD_EXCEPTION;
/**
* 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.
*/
public static final String SOAP_HTTP_BINDING ="SOAP_HTTP_BINDING";
/**
* 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.
*/
public static final String THROW_EXCEPTION_IF_SOAP_FAULT = "jaxws.response.throwExceptionIfSOAPFault";
/**
* 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.
*
*/
public static final String WRITE_HEADER_ELEMENT_IF_NULL = "jaxws.header.parameter.isNull.write.element.with.xsi.nil";
/**
* This constant will be used to store the location of JAX-WS generated artifacts cache.
*/
public static final String WS_CACHE="wsCache";
/**
* 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.
*/
public static final String JAXWS_JAXB_WRITE_REMOVE_ILLEGAL_CHARS =
"jaxws.jaxb.write.remove.illegal.chars";
/**
* 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)
*/
public static final String JAXWS_MESSAGE_ACCESSOR =
"jaxws.message.accessor";
/**
* 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.
*
* @see javax.xml.ws.BindingProvider.SOAPACTION_USE_PROPERTY
* @see javax.xml.ws.BindingProvider.SOAPACTION_URI_PROPERTY
*/
public static final String DISPATCH_CLIENT_OUTBOUND_RESOLUTION = "jaxws.dispatch.outbound.operation.resolution.enable";
/**
* 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.
*/
public static final String DISABLE_SOAPFAULT_FOR_LOCAL_EXCEPTION = "jaxws.soapfault.local.exceptions.disable";
/**
* 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.
*/
public static final String DISABLE_ENDPOINT_PUBLISH_METHODS = "jaxws.endpoint.publish.disable";
}