Class SOAPService

  • All Implemented Interfaces:
    java.io.Serializable, Chain, Handler, TargetedChain

    public class SOAPService
    extends SimpleTargetedChain
    A SOAPService is a Handler which encapsulates a SOAP invocation. It has an request chain, an response chain, and a pivot-point, and handles the SOAP semantics when invoke()d.
    Author:
    Glen Daniels (gdaniels@apache.org), Doug Davis (dug@us.ibm.com)
    See Also:
    Serialized Form
    • Field Detail

      • serviceObjects

        public java.util.Map serviceObjects
        A list of our active service objects (these can have lifetimes and be reaped)
      • nextObjectID

        public int nextObjectID
    • Constructor Detail

      • SOAPService

        public SOAPService()
        Standard, no-arg constructor.
      • SOAPService

        public SOAPService​(Handler reqHandler,
                           Handler pivHandler,
                           Handler respHandler)
        Constructor with real or null request, pivot, and response handlers. A special request handler is specified to inject SOAP semantics.
      • SOAPService

        public SOAPService​(Handler serviceHandler)
        Convenience constructor for wrapping SOAP semantics around "service handlers" which actually do work.
    • Method Detail

      • addSession

        public void addSession​(Session session)
        Add this passed in Session to this Service's list of sessions
      • clearSessions

        public void clearSessions()
        Remove all of this Service's serviceObjects from it known sessions
      • getServiceActors

        public java.util.ArrayList getServiceActors()
        Get the service-specific actor list
        Returns:
      • getActors

        public java.util.ArrayList getActors()
        Get the merged actor list for this service, including engine-wide actor URIs.
        Returns:
      • getRoles

        public java.util.List getRoles()
      • setRoles

        public void setRoles​(java.util.List roles)
        Set the service-specific role list
        Parameters:
        roles - a List of Strings, each containing a role URI
      • setEngine

        public void setEngine​(AxisEngine engine)
        Tell this service which engine it's deployed to.
      • availableFromTransport

        public boolean availableFromTransport​(java.lang.String transportName)
      • getStyle

        public Style getStyle()
      • setStyle

        public void setStyle​(Style style)
      • getUse

        public Use getUse()
      • setUse

        public void setUse​(Use style)
      • getServiceDescription

        public ServiceDesc getServiceDescription()
      • getInitializedServiceDesc

        public ServiceDesc getInitializedServiceDesc​(MessageContext msgContext)
                                              throws AxisFault
        Returns a service description with the implementation class filled in. Syncronized to prevent simutaneous modification of serviceDescription.
        Throws:
        AxisFault
      • setServiceDescription

        public void setServiceDescription​(ServiceDesc serviceDescription)
      • setPropertyParent

        public void setPropertyParent​(java.util.Hashtable parent)
      • generateWSDL

        public void generateWSDL​(MessageContext msgContext)
                          throws AxisFault
        Generate WSDL. If we have a specific file configured in the ServiceDesc, just return that. Otherwise run through all the Handlers (including the provider) and call generateWSDL() on them via our parent's implementation.
        Specified by:
        generateWSDL in interface Handler
        Overrides:
        generateWSDL in class SimpleChain
        Parameters:
        msgContext - the MessageContext to write the WSDL out to
        Throws:
        AxisFault - if there was a problem writing the WSDL
      • start

        public void start()
        Placeholder for "resume this service" method
      • stop

        public void stop()
        Placeholder for "suspend this service" method
      • isRunning

        public boolean isRunning()
        Is this service suspended?
        Returns:
      • enableTransport

        public void enableTransport​(java.lang.String transportName)
        Make this service available on a particular transport
      • disableTransport

        public void disableTransport​(java.lang.String transportName)
        Disable access to this service from a particular transport
      • needsHighFidelityRecording

        public boolean needsHighFidelityRecording()
      • setHighFidelityRecording

        public void setHighFidelityRecording​(boolean highFidelityRecording)
      • getSendType

        public int getSendType()
      • setSendType

        public void setSendType​(int sendType)
      • invoke

        public void invoke​(MessageContext msgContext)
                    throws AxisFault
        Description copied from class: SimpleChain
        Iterate over the chain invoking each handler. If there's a fault then call 'onFault' for each completed handler in reverse order, then rethrow the exception.
        Specified by:
        invoke in interface Handler
        Overrides:
        invoke in class SimpleChain
        Parameters:
        msgContext - the MessageContext to process with this Handler.
        Throws:
        AxisFault - if there was a fault with any of the handlers