Module java.xml.ws
Package javax.xml.ws.spi

Class Provider



  • public abstract classProviderextendsObject
    Service provider forServiceDelegate andEndpoint objects.
    Since:
    1.6, JAX-WS 2.0
    • Constructor Detail

      • Provider

        protected Provider()
        Creates a new instance of Provider
    • Method Detail

      • provider

        public static Provider provider()
        Creates a new provider object.

        The algorithm used to locate the provider subclass to use consists of the following steps:

        • Use the service-provider loading facilities, defined by theServiceLoader class, to attempt to locate and load an implementation ofProvider service using thedefault loading mechanism.
        • Use the configuration file "jaxws.properties". The file is in standardProperties format and typically located in theconf directory of the Java installation. It contains the fully qualified name of the implementation class with the keyjavax.xml.ws.spi.Provider.
        • If a system property with the namejavax.xml.ws.spi.Provider is defined, then its value is used as the name of the implementation class.
        • Finally, a platform default implementation is used.
      • createServiceDelegate

        public abstract ServiceDelegate createServiceDelegate(URL wsdlDocumentLocation,QName serviceName,Class<? extendsService> serviceClass)
        Creates a service delegate object.
        Parameters:
        wsdlDocumentLocation - A URL pointing to the WSDL document for the service, ornull if there isn't one.
        serviceName - The qualified name of the service.
        serviceClass - The service class, which MUST be eitherjavax.xml.ws.Service or a subclass thereof.
        Returns:
        The newly created service delegate.
      • createServiceDelegate

        public ServiceDelegate createServiceDelegate(URL wsdlDocumentLocation,QName serviceName,Class<? extendsService> serviceClass,WebServiceFeature... features)
        Creates a service delegate object.
        Parameters:
        wsdlDocumentLocation - A URL pointing to the WSDL document for the service, ornull if there isn't one.
        serviceName - The qualified name of the service.
        serviceClass - The service class, which MUST be eitherjavax.xml.ws.Service or a subclass thereof.
        features - Web Service features that must be configured on the service. If the provider doesn't understand a feature, it must throw a WebServiceException.
        Returns:
        The newly created service delegate.
        Since:
        1.7, JAX-WS 2.2
      • createEndpoint

        public abstract Endpoint createEndpoint(String bindingId,Object implementor)
        Creates an endpoint object with the provided binding and implementation object.
        Parameters:
        bindingId - A URI specifying the desired binding (e.g. SOAP/HTTP)
        implementor - A service implementation object to which incoming requests will be dispatched. The corresponding class MUST be annotated with all the necessary Web service annotations.
        Returns:
        The newly created endpoint.
      • createAndPublishEndpoint

        public abstract Endpoint createAndPublishEndpoint(String address,Object implementor)
        Creates and publishes an endpoint object with the specified address and implementation object.
        Parameters:
        address - A URI specifying the address and transport/protocol to use. A http: URI MUST result in the SOAP 1.1/HTTP binding being used. Implementations may support other URI schemes.
        implementor - A service implementation object to which incoming requests will be dispatched. The corresponding class MUST be annotated with all the necessary Web service annotations.
        Returns:
        The newly created endpoint.
      • readEndpointReference

        public abstract EndpointReference readEndpointReference(Source eprInfoset)
        read an EndpointReference from the infoset contained ineprInfoset.
        Parameters:
        eprInfoset - infoset for EndpointReference
        Returns:
        theEndpointReference unmarshalled fromeprInfoset. This method never returnsnull.
        Throws:
        WebServiceException - If there is an error creating theEndpointReference from the specifiedeprInfoset.
        NullPointerException - If thenulleprInfoset value is given.
        Since:
        1.6, JAX-WS 2.1
      • getPort

        public abstract <T> T getPort(EndpointReference endpointReference,Class<T> serviceEndpointInterface,WebServiceFeature... features)
        The getPort method returns a proxy. If there are any reference parameters in theendpointReference, then those reference parameters MUST appear as SOAP headers, indicating them to be reference parameters, on all messages sent to the endpoint. The parameterserviceEndpointInterface specifies the service endpoint interface that is supported by the returned proxy. The parameterendpointReference specifies the endpoint that will be invoked by the returned proxy. In the implementation of this method, the JAX-WS runtime system takes the responsibility of selecting a protocol binding (and a port) and configuring the proxy accordingly from the WSDL metadata of theserviceEndpointInterface and theEndpointReference. For this method to successfully return a proxy, WSDL metadata MUST be available and theendpointReference MUST contain an implementation understoodserviceName metadata.
        Parameters:
        endpointReference - the EndpointReference that will be invoked by the returned proxy.
        serviceEndpointInterface - Service endpoint interface
        features - A list of WebServiceFeatures to configure on the proxy. Supported features not in thefeatures parameter will have their default values.
        Returns:
        Object Proxy instance that supports the specified service endpoint interface
        Throws:
        WebServiceException -
        • If there is an error during creation of the proxy
        • If there is any missing WSDL metadata as required by this method}
        • If thisendpointReference is illegal
        • If an illegalserviceEndpointInterface is specified
        • If a feature is enabled that is not compatible with this port or is unsupported.
        Since:
        1.6, JAX-WS 2.1
        See Also:
        WebServiceFeature
      • createW3CEndpointReference

        public abstract W3CEndpointReference createW3CEndpointReference(String address,QName serviceName,QName portName,List<Element> metadata,String wsdlDocumentLocation,List<Element> referenceParameters)
        Factory method to create aW3CEndpointReference.

        This method can be used to create aW3CEndpointReference for any endpoint by specifying theaddress property along with any other desired properties. This method can also be used to create aW3CEndpointReference for an endpoint that is published by the same Java EE application. To do so theaddress property can be provided or this method can automatically determine theaddress of an endpoint that is published by the same Java EE application and is identified by theserviceName andportName properties. If theaddress isnull and theserviceName andportName do not identify an endpoint published by the same Java EE application, ajavax.lang.IllegalStateException MUST be thrown.

        Parameters:
        address - Specifies the address of the target endpoint
        serviceName - Qualified name of the service in the WSDL.
        portName - Qualified name of the endpoint in the WSDL.
        metadata - A list of elements that should be added to theW3CEndpointReference instanceswsa:metadata element.
        wsdlDocumentLocation - URL for the WSDL document location for the service.
        referenceParameters - Reference parameters to be associated with the returnedEndpointReference instance.
        Returns:
        theW3CEndpointReference created fromserviceName,portName,metadata,wsdlDocumentLocation andreferenceParameters. This method never returnsnull.
        Throws:
        IllegalStateException -
        • If theaddress,serviceName andportName are allnull.
        • If theserviceName service isnull and theportName is NOTnull.
        • If theaddress property isnull and theserviceName andportName do not specify a valid endpoint published by the same Java EE application.
        • If theserviceNameis NOTnull and is not present in the specified WSDL.
        • If theportName port is notnull and it is not present inserviceName service in the WSDL.
        • If thewsdlDocumentLocation is NOTnull and does not represent a valid WSDL.
        WebServiceException - If an error occurs while creating theW3CEndpointReference.
        Since:
        1.6, JAX-WS 2.1
      • createW3CEndpointReference

        public W3CEndpointReference createW3CEndpointReference(String address,QName interfaceName,QName serviceName,QName portName,List<Element> metadata,String wsdlDocumentLocation,List<Element> referenceParameters,List<Element> elements,Map<QName,String> attributes)
        Factory method to create aW3CEndpointReference. Using this method, aW3CEndpointReference instance can be created with extension elements, and attributes.Provider implementations must override the default implementation.

        This method can be used to create aW3CEndpointReference for any endpoint by specifying theaddress property along with any other desired properties. This method can also be used to create aW3CEndpointReference for an endpoint that is published by the same Java EE application. To do so theaddress property can be provided or this method can automatically determine theaddress of an endpoint that is published by the same Java EE application and is identified by theserviceName andportName propeties. If theaddress isnull and theserviceName andportName do not identify an endpoint published by the same Java EE application, ajavax.lang.IllegalStateException MUST be thrown.

        Parameters:
        address - Specifies the address of the target endpoint
        interfaceName - thewsam:InterfaceName element in thewsa:Metadata element.
        serviceName - Qualified name of the service in the WSDL.
        portName - Qualified name of the endpoint in the WSDL.
        metadata - A list of elements that should be added to theW3CEndpointReference instanceswsa:metadata element.
        wsdlDocumentLocation - URL for the WSDL document location for the service.
        referenceParameters - Reference parameters to be associated with the returnedEndpointReference instance.
        elements - extension elements to be associated with the returnedEndpointReference instance.
        attributes - extension attributes to be associated with the returnedEndpointReference instance.
        Returns:
        theW3CEndpointReference created fromserviceName,portName,metadata,wsdlDocumentLocation andreferenceParameters. This method never returnsnull.
        Throws:
        IllegalStateException -
        • If theaddress,serviceName andportName are allnull.
        • If theserviceName service isnull and theportName is NOTnull.
        • If theaddress property isnull and theserviceName andportName do not specify a valid endpoint published by the same Java EE application.
        • If theserviceNameis NOTnull and is not present in the specified WSDL.
        • If theportName port is notnull and it is not present inserviceName service in the WSDL.
        • If thewsdlDocumentLocation is NOTnull and does not represent a valid WSDL.
        • If thewsdlDocumentLocation is NOTnull but wsdli:wsdlLocation's namespace name cannot be got from the available metadata.
        WebServiceException - If an error occurs while creating theW3CEndpointReference.
        Since:
        1.7, JAX-WS 2.2
      • createAndPublishEndpoint

        public Endpoint createAndPublishEndpoint(String address,Object implementor,WebServiceFeature... features)
        Creates and publishes an endpoint object with the specified address, implementation object and web service features.Provider implementations must override the default implementation.
        Parameters:
        address - A URI specifying the address and transport/protocol to use. A http: URI MUST result in the SOAP 1.1/HTTP binding being used. Implementations may support other URI schemes.
        implementor - A service implementation object to which incoming requests will be dispatched. The corresponding class MUST be annotated with all the necessary Web service annotations.
        features - A list of WebServiceFeatures to configure on the endpoint. Supported features not in thefeatures parameter will have their default values.
        Returns:
        The newly created endpoint.
        Since:
        1.7, JAX-WS 2.2
      • createEndpoint

        public Endpoint createEndpoint(String bindingId,Object implementor,WebServiceFeature... features)
        Creates an endpoint object with the provided binding, implementation object and web service features.Provider implementations must override the default implementation.
        Parameters:
        bindingId - A URI specifying the desired binding (e.g. SOAP/HTTP)
        implementor - A service implementation object to which incoming requests will be dispatched. The corresponding class MUST be annotated with all the necessary Web service annotations.
        features - A list of WebServiceFeatures to configure on the endpoint. Supported features not in thefeatures parameter will have their default values.
        Returns:
        The newly created endpoint.
        Since:
        1.7, JAX-WS 2.2
      • createEndpoint

        public Endpoint createEndpoint(String bindingId,Class<?> implementorClass,Invoker invoker,WebServiceFeature... features)
        Creates an endpoint object with the provided binding, implementation class, invoker and web service features. Containers typically use this to create Endpoint objects.Provider implementations must override the default implementation.
        Parameters:
        bindingId - A URI specifying the desired binding (e.g. SOAP/HTTP). Can be null.
        implementorClass - A service implementation class that MUST be annotated with all the necessary Web service annotations.
        invoker - that does the actual invocation on the service instance.
        features - A list of WebServiceFeatures to configure on the endpoint. Supported features not in thefeatures parameter will have their default values.
        Returns:
        The newly created endpoint.
        Since:
        1.7, JAX-WS 2.2