@Target(value={TYPE,METHOD,FIELD}) @Retention(value=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 and Description | 
|---|---|
| String | lookupA portable JNDI lookup name that resolves to the target
 web service reference. | 
| String | mappedNameA product specific name that this resource should be mapped to. | 
| String | nameThe JNDI name of the resource. | 
| Class<?> | typeThe Java type of the resource. | 
| Class<? extends Service> | valueThe service class, alwiays a type extending
  javax.xml.ws.Service. | 
| String | wsdlLocationA URL pointing to the WSDL document for the web service. | 
public abstract String name
java:comp/env namespace.public abstract Class<?> type
public abstract 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.
public abstract String wsdlLocation
public abstract 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, 2023, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.