org.apache.axis.handlers.soap
Class SOAPService

java.lang.Object
  |
  +--org.apache.axis.handlers.BasicHandler
        |
        +--org.apache.axis.SimpleChain
              |
              +--org.apache.axis.SimpleTargetedChain
                    |
                    +--org.apache.axis.handlers.soap.SOAPService
All Implemented Interfaces:
Chain, Handler, java.io.Serializable, 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

Fields inherited from class org.apache.axis.SimpleTargetedChain
log, pivotHandler, requestHandler, responseHandler
 
Fields inherited from class org.apache.axis.SimpleChain
handlers, invoked
 
Fields inherited from class org.apache.axis.handlers.BasicHandler
makeLockable, name, options
 
Constructor Summary
SOAPService()
          Standard, no-arg constructor.
SOAPService(Handler serviceHandler)
          Convenience constructor for wrapping SOAP semantics around "service handlers" which actually do work.
SOAPService(Handler reqHandler, Handler pivHandler, Handler respHandler)
          Constructor with real or null request, pivot, and response handlers.
 
Method Summary
 void addSession(Session session)
          Add this passed in Session to this Service's list of sessions
 boolean availableFromTransport(java.lang.String transportName)
           
 void clearSessions()
          Remove all of this Service's serviceObjects from it known sessions
 void disableTransport(java.lang.String transportName)
          Disable access to this service from a particular transport
 void enableTransport(java.lang.String transportName)
          Make this service available on a particular transport
 void generateWSDL(MessageContext msgContext)
          Generate WSDL.
 java.util.ArrayList getActors()
          Get the merged actor list for this service, including engine-wide actor URIs.
 AxisEngine getEngine()
           
 ServiceDesc getInitializedServiceDesc(MessageContext msgContext)
          Returns a service description with the implementation class filled in.
 int getSendType()
           
 java.util.ArrayList getServiceActors()
          Get the service-specific actor list
 ServiceDesc getServiceDescription()
           
 Style getStyle()
           
 TypeMappingRegistry getTypeMappingRegistry()
           
 Use getUse()
           
 void invoke(MessageContext msgContext)
          Invoke is called to do the actual work of the Handler object.
 boolean needsHighFidelityRecording()
           
 void setEngine(AxisEngine engine)
          Tell this service which engine it's deployed to.
 void setHighFidelityRecording(boolean highFidelityRecording)
           
 void setPropertyParent(java.util.Hashtable parent)
           
 void setSendType(int sendType)
           
 void setServiceDescription(JavaServiceDesc serviceDescription)
           
 void setStyle(Style style)
           
 void setUse(Use style)
           
 void start()
          Placeholder for "enable this service" method
 void stop()
          Placeholder for "disable this service" method
 
Methods inherited from class org.apache.axis.SimpleTargetedChain
getPivotHandler, getRequestHandler, getResponseHandler, init
 
Methods inherited from class org.apache.axis.SimpleChain
addHandler, canHandleBlock, cleanup, contains, getDeploymentData, getHandlers, init, onFault
 
Methods inherited from class org.apache.axis.handlers.BasicHandler
getName, getOption, getOptions, getUnderstoodHeaders, initHashtable, setName, setOption, setOptionDefault, setOptions, setOptionsLockable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.axis.Chain
addHandler, contains, getHandlers
 
Methods inherited from interface org.apache.axis.Handler
canHandleBlock, cleanup, getDeploymentData, getName, getOption, getOptions, getUnderstoodHeaders, init, onFault, setName, setOption, setOptions
 

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:
 

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(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.

setServiceDescription

public void setServiceDescription(JavaServiceDesc 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.
Overrides:
generateWSDL in class SimpleChain
Following copied from interface: org.apache.axis.Handler
Parameters:
msgContext - the MessageContext to generate the WSDL to
Throws:
AxisFault - if there was a problem generating the WSDL

start

public void start()
Placeholder for "enable this service" method

stop

public void stop()
Placeholder for "disable this service" method

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 interface: Handler
Invoke is called to do the actual work of the Handler object. If there is a fault during the processing of this method it is invoke's job to catch the exception and undo any partial work that has been completed. Once we leave 'invoke' if a fault is thrown, this classes 'onFault' method will be called. Invoke should rethrow any exceptions it catches, wrapped in an AxisFault.
Overrides:
invoke in class SimpleChain
Following copied from interface: org.apache.axis.Handler
Parameters:
msgContext - the MessageContext to process with this Handler.
Throws:
AxisFault - if the handler encounters an error


Copyright © 2003 Apache Web Services Project. All Rights Reserved.