Interface ServiceDescription

  • All Known Implementing Classes:
    ServiceDescriptionImpl

    public interface ServiceDescription
    A ServiceDescription corresponds to a Service under which there can be a collection of enpdoints. In WSDL 1.1 terms, then, a ServiceDescription corresponds to a wsdl:Service under which there are one or more wsdl:Port entries. The ServiceDescription is the root of the metdata abstraction Description hierachy.

    The Description hierachy is:

     ServiceDescription
         EndpointDescription[]
             EndpointInterfaceDescription
                 OperationDescription[]
                     ParameterDescription[]
                     FaultDescription[]
     

    ServiceDescription details

    CORRESPONDS TO: On the Client: The JAX-WS Service class or generated subclass.

    On the Server: The Service implementation. Note that there is a 1..1 correspondence between a ServiceDescription and EndpointDescription on the server side.

    AXIS2 DELEGATE: None

    CHILDREN: 1..n EndpointDescription

    ANNOTATIONS: None

    WSDL ELEMENTS: service

    • Method Detail

      • getEndpointDescription

        EndpointDescription[] getEndpointDescription​(Class seiClass)
        Return the EndpointDescriptions corresponding to the SEI class. Note that Dispatch endpoints will never be returned because they do not have an associated SEI.
        Parameters:
        seiClass -
        Returns:
      • getServiceQName

        QName getServiceQName()
      • getHandlerChain

        HandlerChainsType getHandlerChain​(Object serviceDelegateKey)
        Return the handler chain configuration information as a HandlerChainsType object. If the key is non-null then it is used to look for handler chain configuration information in the sparse metadata. The order in which the configuration information is resolved is: 1) Look in sparse composite if the key is not null 2) Look in the composite 3) Look for a HandlerChain annotation and read in the file it specifies
        Parameters:
        serviceDelegateKey - May be null. If non-null, used to look for service-delegate specific sparse composite information.
        Returns:
        A HandlerChainsType object or null
      • getHandlerChain

        HandlerChainsType getHandlerChain()
        Return the handler chain configuration information as a HandlerChainsType object. This is the same as calling getHandlerChain(null).
        See Also:
        getHandlerChain(Object)
      • getPorts

        List<QName> getPorts​(Object serviceDelegateKey)
        Returns a list of the ports for this serivce. The ports returned are the - Ports declared ports for this Service. They can be delcared in the WSDL or via annotations. - Dynamic ports added to the service
        Parameters:
        serviceDelegateKey - This should always be non-null when called via ServiceDelegate and is used to help retrieve dynamic ports per client
        Returns:
      • isServerSide

        boolean isServerSide()
      • isMTOMEnabled

        boolean isMTOMEnabled​(Object key)
        Answer if MTOM is enabled for the service represented by this Service Description. This is currently only supported on the service-requester side; it is not supported on the service-provider side. If the key is non-null, it is used to look up an sparse metadata that may have been specified when the Service Description was created.
        Parameters:
        key - If non-null, used to look up any sparse metadata that may have been specified when the service was created.
        Returns:
        TRUE if mtom was enabled either in the sparse metadata or in the composite; FALSE othewise.
      • isMTOMEnabled

        boolean isMTOMEnabled​(Object key,
                              Class seiClass)
        Answer if MTOM is enabled for the service represented by this Service Description and the service-endpoint-interface indicated. This is currently only supported on the service-requester side; it is not supported on the service-provider side. If the key is non-null, it is used to look up an sparse metadata that may have been specified when the Service Description was created. If the seiClass is non-null it is used to further scope the enablement of MTOM to a specific SEI.
        Parameters:
        key - If non-null, used to look up any sparse metadata that may have been specified when the service was created.
        seiClass - Represents client service-endpoint-interface class.
        Returns:
        TRUE if mtom was enabled either in the sparse metadata or in the composite; FALSE othewise.
      • getPreferredPort

        QName getPreferredPort​(Object key)
      • getResolvedHandlersDescription

        ResolvedHandlersDescription getResolvedHandlersDescription​(PortInfo portInfo)
        Answer information for resolved handlers for the given port. This information is set when the handler resolver initially resolves the handlers based on the handler configuration information. It is cached on the service description for performance so that subsequent queries by other handler resolvers for the same port do not have to re-resolve the information from the handler configuration information.
        Parameters:
        portInfo - Port for which the handler information is desired
        Returns:
        An object containing information for the resolved handlers, or null if no information is found in the cache.
      • setResolvedHandlersDescription

        void setResolvedHandlersDescription​(PortInfo portInfo,
                                            ResolvedHandlersDescription resolvedHandlersInfo)
        Cache information for handlers which have been resolved for this port. This information is set when the handler resolver initially resolves the handlers based on the handler configuration information. It is cached on the service description for performance so that subsequent queries by other handler resolvers for the same port do not have to re-resolve the information from the handler configuration information.
        Parameters:
        portInfo - Port for which the handler information should be cached
        resolvedHandlersInfo - An object containing information for the resolved handlers
      • releaseResources

        void releaseResources​(Object delegate)
        Check into releasing resources related to this ServiceDescription. Those resources include this ServiceDescription instance, the EndpointDescription instances it owns and their associated AxisService and related objects. NOTE: This should only be called on ServiceDescrpition instances that are owned by client ServiceDelegate instances; it SHOULD NOT be called on server-side ServiceDescriptions since those are built during server start and their life-cycle is the life-cycle of the server.
        Parameters:
        delegate - The ServiceDelegate instance that owns this ServiceDescription.
      • getBindingProperties

        Map<String,​Object> getBindingProperties​(Object serviceDelegateKey,
                                                      String key)
        This method is responsible for querying the metadata for properties associated with a given BindingProvider instance. This is only applicable for the requestor-side, and the properties are scoped at the port level.
        Parameters:
        serviceDelegateKey - This should always be non-null when called via ServiceDelegate and is used to help retrieve dynamic ports per client
        key - This should always be non-null and is used to retrieve properties for a given client-side port
        Returns:
      • getMTOMThreshold

        int getMTOMThreshold​(Object serviceDelegateKey,
                             Class seiClass)
        Return the MTOM Threshold as set by the Client via a sparse composite (such as a client deployment descriptor).
        Parameters:
        serviceDelegateKey - The instance of the service delegate related to this service
        seiClass - The SEI for the port to retrieve the MTOM threshold for
        Returns:
        the MTOM threshold if set, or 0 if not set.
      • isRespectBindingEnabled

        boolean isRespectBindingEnabled​(Object serviceDelegateKey,
                                        Class seiClass)
        Return whether RespectBinding is enabled as set by the Client via a sparse composite (such as a client deployment descriptor).
        Parameters:
        serviceDelegateKey - The instance of the service delegate related to this service
        seiClass - The SEI for the port to retrieve the RespectBinding setting for.
        Returns:
        true if RespectBinding is enabled; false otherwise.
      • isAddressingConfigured

        boolean isAddressingConfigured​(Object serviceDelegateKey,
                                       Class seiClass)
        Answer whether Addressing was explicitly configured via metadata (such as a deployment descriptor) on the service-requester. Note that the related methods will return default values if Addressing was not explicitly configured; otherwise they will return values set based on the metadata configuration.
        Parameters:
        serviceDelegateKey - The instance of the service delegate related to this service
        seiClass - The SEI for the port to retrieve the setting for.
        Returns:
        true if Addressing was explicitly set via metadata, false otherwise.
        See Also:
        isAddressingEnabled(Object, Class), isAddressingRequired(Object, Class), getAddressingResponses(Object, Class)
      • isAddressingEnabled

        boolean isAddressingEnabled​(Object serviceDelegateKey,
                                    Class seiClass)
        Answer whether Addressing is enabled on the service-requester. Note that if addressing was not configured via metadata, then this method will return a default value, otherwise it will return the value configured via metadata.
        Parameters:
        serviceDelegateKey - The instance of the service delegate related to this service
        seiClass - The SEI for the port to retrieve the setting for.
        Returns:
        true if Addressing is enabled on the service-requester, false (default) otherwise
        See Also:
        isAddressingConfigured(Object, Class)
      • isAddressingRequired

        boolean isAddressingRequired​(Object serviceDelegateKey,
                                     Class seiClass)
        Answer whether Addressing is required on the service-requester. Note that if addressing was not configured via metadata, then this method will return a default value, otherwise it will return the value configured via metadata.
        Parameters:
        serviceDelegateKey - The instance of the service delegate related to this service
        seiClass - The SEI for the port to retrieve the setting for.
        Returns:
        true if Addressing is required on the service-requester, false (default) otherwise
        See Also:
        isAddressingConfigured(Object, Class)
      • getAddressingResponses

        AddressingFeature.Responses getAddressingResponses​(Object serviceDelegateKey,
                                                           Class seiClass)
        Answer the type of Addressing responses required by the service-requester. Note that if addressing was not configured via metadata, then this method will return a default value, otherwise it will return the value configured via metadata.
        Parameters:
        serviceDelegateKey - The instance of the service delegate related to this service
        seiClass - The SEI for the port to retrieve the setting for.
        Returns:
        AddressingFeature.Responses vale corresponding to the type of responses required by service-requester.
        See Also:
        isAddressingConfigured(Object, Class)