@Target({TYPE,METHOD,FIELD}) @Retention(RUNTIME) @Documented public @interface WebServiceRef
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 | Optional Element | Description |
---|---|---|
String |
lookup |
A portable JNDI lookup name that resolves to the target
web service reference.
|
String |
mappedName |
A product specific name that this resource should be mapped to.
|
String |
name |
The JNDI name of the resource.
|
Class<?> |
type |
The Java type of the resource.
|
Class<? extends Service> |
value |
The service class, always a type extending
javax.xml.ws.Service . |
String |
wsdlLocation |
A URL pointing to the WSDL document for the web service.
|
String name
java:comp/env
namespace.Class<?> type
String mappedName
name
element or defaulted, is a name that is local to the application
component using the resource. (When a relative JNDI name
is specified, then it's a name in the JNDI
java:comp/env
namespace.) Many application servers
provide a way to map these local names to names of resources
known to the application server. This mapped name is often a
global JNDI name, but may be a name of any form.
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.
String wsdlLocation
String lookup
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2017, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.
DRAFT 9-internal+0-adhoc.mlchung.jdk9-jdeps