Class SOAPService

All Implemented Interfaces:
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:
  • Field Details

    • serviceObjects

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

      public int nextObjectID
  • Constructor Details

    • 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 Details

    • 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 ArrayList getServiceActors()
      Get the service-specific actor list
      Returns:
    • getActors

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

      public List getRoles()
    • setRoles

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

      public TypeMappingRegistry getTypeMappingRegistry()
    • setEngine

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

      public AxisEngine getEngine()
    • availableFromTransport

      public boolean availableFromTransport(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(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(String transportName)
      Make this service available on a particular transport
    • disableTransport

      public void disableTransport(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