11.21. JBossWS Extensions

This section describes propriatary JBoss extensions to JAX-WS.

11.21.1. Proprietary Annotations

For the set of standard annotations, please have a look at JAX-WS Annotations

11.21.1.1. EndpointConfig

 
/**
* Defines an endpoint or client configuration. 
* This annotation is valid on an endpoint implementaion bean or a SEI.
* 
* @author Heiko.Braun@jboss.org
* @since 16.01.2007
*/
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = { ElementType.TYPE })
public @interface EndpointConfig {
... 
/**
* The optional config-name element gives the configuration name that must be present in
* the configuration given by element config-file.
* 
* Server side default: Standard Endpoint
* Client side default: Standard Client
*/
String configName() default "";
...
/**
* The optional config-file element is a URL or resource name for the configuration.
*
* Server side default: standard-jaxws-endpoint-config.xml
* Client side default: standard-jaxws-client-config.xml
*/
String configFile() default "";
}

11.21.1.2. WebContext

 
/**
* Provides web context specific meta data to EJB based web service endpoints.
*
* @author thomas.diesler@jboss.org
* @since 26-Apr-2005
*/
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = { ElementType.TYPE })
public @interface WebContext {
... 
/** 
* The contextRoot element specifies the context root that the web service endpoint is deployed to.
* If it is not specified it will be derived from the deployment short name.
* 
* Applies to server side port components only. 
*/
String contextRoot() default "";
...
/** 
* The virtual hosts that the web service endpoint is deployed to.
* 
* Applies to server side port components only.
*/
String[] virtualHosts() default {};
    
/** 
* Relative path that is appended to the contextRoot to form fully qualified
* endpoint address for the web service endpoint.
* 
* Applies to server side port components only. 
*/
String urlPattern() default "";
    
/**
* The authMethod is used to configure the authentication mechanism for the web service. 
* As a prerequisite to gaining access to any web service which are protected by an authorization
* constraint, a user must have authenticated using the configured mechanism.
*
* Legal values for this element are "BASIC", or "CLIENT-CERT".
*/
String authMethod() default "";
   
/**
* The transportGuarantee specifies that the communication
* between client and server should be NONE, INTEGRAL, or
* CONFIDENTIAL. NONE means that the application does not require any
* transport guarantees. A value of INTEGRAL means that the application
* requires that the data sent between the client and server be sent in
* such a way that it can't be changed in transit. CONFIDENTIAL means
* that the application requires that the data be transmitted in a
* fashion that prevents other entities from observing the contents of
* the transmission. In most cases, the presence of the INTEGRAL or
* CONFIDENTIAL flag will indicate that the use of SSL is required.
*/
String transportGuarantee() default "";
    
/**
* A secure endpoint does not by default publish it's wsdl on an unsecure transport.
* You can override this behaviour by explicitly setting the secureWSDLAccess flag to false.
* 
* Protect access to WSDL. See http://jira.jboss.org/jira/browse/JBWS-723   
*/
boolean secureWSDLAccess() default true;
}

11.21.1.3. SecurityDomain

 
/**
* Annotation for specifying the JBoss security domain for an EJB
* 
* @author <a href="mailto:bill@jboss.org">Bill Burke</a>
**/
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
public @interface SecurityDomain
{
/**
* The required name for the security domain.
* 
* Do not use the JNDI name
* 
*    Good: "MyDomain"
*    Bad:  "java:/jaas/MyDomain"
*/
String value();
   
/**
* The name for the unauthenticated pricipal
*/
String unauthenticatedPrincipal() default "";
}