| /* |
| * 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"; |
| } |