WebServiceRef annotation is used to
define a reference to a web service and
(optionally) an injection target for it.
It can be used to inject both service and proxy
instances. These injected references are not thread safe.
If the references are accessed by multiple threads,
usual synchronization techinques can be used to
support multiple threads.
Web service references are resources in the Java EE 5 sense.
The annotations (for example, Addressing) annotated with
meta-annotation WebServiceFeatureAnnotation
can be used in conjunction with WebServiceRef.
The created reference MUST be configured with annotation's web service
feature.
For example, in the code below, the injected
StockQuoteProvider proxy MUST
have WS-Addressing enabled as specifed by the
Addressing
annotation.
public class MyClient {
@Addressing
@WebServiceRef(StockQuoteService.class)
private StockQuoteProvider stockQuoteProvider;
...
}
If a JAX-WS implementation encounters an unsupported or unrecognized
annotation annotated with the WebServiceFeatureAnnotation
that is specified with WebServiceRef, an ERROR MUST be given.
Resource, WebServiceFeatureAnnotation
| Modifier and Type | Method and Description |
|---|---|
| public String | Returns: portable JNDI lookup nameA portable JNDI lookup name that resolves to the target web service reference. |
| public String | Returns: product specific resource nameA product specific name that this resource should be mapped to. |
| public String | |
| public Class | |
| public Class | Returns: the service class extendingjavax.xml.ws.ServiceThe service class, always a type extending
|
| public String | Returns: a URL pointing to the WSDL documentA URL pointing to the WSDL document for the web service. |
| lookup | back to summary |
|---|---|
| public String lookup() A portable JNDI lookup name that resolves to the target web service reference.
| |
| mappedName | back to summary |
|---|---|
| public String mappedName() A product specific name that this resource should be mapped to.
The name of this resource, as defined by the Application servers are not required to support any particular form or type of mapped name, nor the ability to use mapped names. The mapped name is product-dependent and often installation-dependent. No use of a mapped name is portable.
| |
| name | back to summary |
|---|---|
| public String name() The JNDI name of the resource. For field annotations,
the default is the field name. For method annotations,
the default is the JavaBeans property name corresponding
to the method. For class annotations, there is no default
and this MUST be specified.
The JNDI name can be absolute(with any logical namespace) or relative
to JNDI
| |
| type | back to summary |
|---|---|
| public Class The Java type of the resource. For field annotations, the default is the type of the field. For method annotations, the default is the type of the JavaBeans property. For class annotations, there is no default and this MUST be specified.
| |
| value | back to summary |
|---|---|
| public Class The service class, always a type extending
| |
| wsdlLocation | back to summary |
|---|---|
| public String wsdlLocation() A URL pointing to the WSDL document for the web service. If not specified, the WSDL location specified by annotations on the resource type is used instead.
| |