/*
* Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package javax.xml.ws.soap;
import java.lang.annotation.Documented;
import java.lang.annotation.Target;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import javax.xml.ws.spi.WebServiceFeatureAnnotation;
import javax.xml.ws.WebServiceRef;
import javax.xml.ws.WebServiceProvider;
This feature represents the use of MTOM with a
web service.
This annotation MUST only be used in conjunction the javax.jws.WebService
, WebServiceProvider
, WebServiceRef
annotations. When used with the javax.jws.WebService
annotation this annotation MUST only be used on the service endpoint implementation class. When used with a WebServiceRef
annotation, this annotation MUST only be used when a proxy instance is created. The injected SEI proxy, and endpoint MUST honor the values of the MTOM
annotation.
This annotation's behaviour is defined by the corresponding feature MTOMFeature
.
Since: 1.6, JAX-WS 2.1
/**
* This feature represents the use of MTOM with a
* web service.
* <p>
* This annotation MUST only be used in conjunction the
* {@code javax.jws.WebService}, {@link WebServiceProvider},
* {@link WebServiceRef} annotations.
* When used with the {@code javax.jws.WebService} annotation this
* annotation MUST only be used on the service endpoint implementation
* class.
* When used with a {@code WebServiceRef} annotation, this annotation
* MUST only be used when a proxy instance is created. The injected SEI
* proxy, and endpoint MUST honor the values of the {@code MTOM}
* annotation.
* <p>
*
* This annotation's behaviour is defined by the corresponding feature
* {@link MTOMFeature}.
*
* @since 1.6, JAX-WS 2.1
*/
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@WebServiceFeatureAnnotation(id=MTOMFeature.ID,bean=MTOMFeature.class)
public @interface MTOM {
Specifies if this feature is enabled or disabled.
Returns: true
if MTOM is supported, false
otherwise
/**
* Specifies if this feature is enabled or disabled.
*
* @return {@code true} if MTOM is supported, {@code false} otherwise
*/
boolean enabled() default true;
Property for MTOM threshold value. When MTOM is enabled, binary data above this size in bytes will be XOP encoded or sent as attachment. The value of this property MUST always be >= 0. Default value is 0. Returns: MTOM threshold in bytes
/**
* Property for MTOM threshold value. When MTOM is enabled, binary data above this
* size in bytes will be XOP encoded or sent as attachment. The value of this property
* MUST always be {@literal >=} 0. Default value is 0.
*
* @return MTOM threshold in bytes
*/
int threshold() default 0;
}