Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.axis.handlers.soap
Class SOAPService  view SOAPService download SOAPService.java

java.lang.Object
  extended byorg.apache.axis.handlers.BasicHandler
      extended byorg.apache.axis.SimpleChain
          extended byorg.apache.axis.SimpleTargetedChain
              extended byorg.apache.axis.handlers.soap.SOAPService
All Implemented Interfaces:
org.apache.axis.Chain, org.apache.axis.Handler, java.io.Serializable, org.apache.axis.TargetedChain

public class SOAPService
extends org.apache.axis.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.


Nested Class Summary
 
Nested classes inherited from class org.apache.axis.SimpleTargetedChain
 
Field Summary
(package private)  java.util.ArrayList actors
          Actor list - these are just the service-specific ones
private  org.apache.axis.AxisEngine engine
           
private  boolean highFidelityRecording
          Does this service require a high-fidelity SAX recording of messages? (default is true)
private  boolean isRunning
           
private static org.apache.commons.logging.Log log
           
 int nextObjectID
           
private  int sendType
          How does this service wish data which would normally be sent as an attachment to be sent? Default for requests is org.apache.axis.attachments.Attachments.SEND_TYPE_DEFAULT, and the default for responses is to match the request.
private  org.apache.axis.description.ServiceDesc serviceDescription
          Our ServiceDescription.
 java.util.Map serviceObjects
          A list of our active service objects (these can have lifetimes and be reaped)
private static java.util.Hashtable sessions
          List of sessions (for all services), key=serviceName, value=Service
private  java.util.Vector validTransports
          Valid transports for this service (server side only!) !!! For now, if this is null, we assume all transports are valid.
 
Fields inherited from class org.apache.axis.SimpleTargetedChain
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(org.apache.axis.Handler serviceHandler)
          Convenience constructor for wrapping SOAP semantics around "service handlers" which actually do work.
SOAPService(org.apache.axis.Handler reqHandler, org.apache.axis.Handler pivHandler, org.apache.axis.Handler respHandler)
          Constructor with real or null request, pivot, and response handlers.
 
Method Summary
 void addSession(org.apache.axis.session.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(org.apache.axis.MessageContext msgContext)
          Generate WSDL.
 java.util.ArrayList getActors()
          Get the merged actor list for this service, including engine-wide actor URIs.
 org.apache.axis.AxisEngine getEngine()
           
 org.apache.axis.description.ServiceDesc getInitializedServiceDesc(org.apache.axis.MessageContext msgContext)
          Returns a service description with the implementation class filled in.
 java.util.List getRoles()
           
 int getSendType()
           
 java.util.ArrayList getServiceActors()
          Get the service-specific actor list
 org.apache.axis.description.ServiceDesc getServiceDescription()
           
 org.apache.axis.constants.Style getStyle()
           
 org.apache.axis.encoding.TypeMappingRegistry getTypeMappingRegistry()
           
 org.apache.axis.constants.Use getUse()
           
 void invoke(org.apache.axis.MessageContext msgContext)
          Invoke is called to do the actual work of the Handler object.
 boolean isRunning()
          Is this service suspended?
 boolean needsHighFidelityRecording()
           
 void setEngine(org.apache.axis.AxisEngine engine)
          Tell this service which engine it's deployed to.
 void setHighFidelityRecording(boolean highFidelityRecording)
           
 void setPropertyParent(java.util.Hashtable parent)
           
 void setRoles(java.util.List roles)
          Set the service-specific role list
 void setSendType(int sendType)
           
 void setServiceDescription(org.apache.axis.description.ServiceDesc serviceDescription)
           
 void setStyle(org.apache.axis.constants.Style style)
           
 void setUse(org.apache.axis.constants.Use style)
           
 void start()
          Placeholder for "resume this service" method
 void stop()
          Placeholder for "suspend 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
 

Field Detail

log

private static org.apache.commons.logging.Log log

validTransports

private java.util.Vector validTransports
Valid transports for this service (server side only!) !!! For now, if this is null, we assume all transports are valid.


highFidelityRecording

private boolean highFidelityRecording
Does this service require a high-fidelity SAX recording of messages? (default is true)


sendType

private int sendType
How does this service wish data which would normally be sent as an attachment to be sent? Default for requests is org.apache.axis.attachments.Attachments.SEND_TYPE_DEFAULT, and the default for responses is to match the request.


serviceDescription

private org.apache.axis.description.ServiceDesc serviceDescription
Our ServiceDescription. Holds pretty much all the interesting metadata about this service.


engine

private org.apache.axis.AxisEngine engine

serviceObjects

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


nextObjectID

public int nextObjectID

sessions

private static java.util.Hashtable sessions
List of sessions (for all services), key=serviceName, value=Service


isRunning

private boolean isRunning

actors

java.util.ArrayList actors
Actor list - these are just the service-specific ones

Constructor Detail

SOAPService

public SOAPService()
Standard, no-arg constructor.


SOAPService

public SOAPService(org.apache.axis.Handler reqHandler,
                   org.apache.axis.Handler pivHandler,
                   org.apache.axis.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(org.apache.axis.Handler serviceHandler)
Convenience constructor for wrapping SOAP semantics around "service handlers" which actually do work.

Method Detail

addSession

public void addSession(org.apache.axis.session.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


getActors

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


getRoles

public java.util.List getRoles()

setRoles

public void setRoles(java.util.List roles)
Set the service-specific role list


getTypeMappingRegistry

public org.apache.axis.encoding.TypeMappingRegistry getTypeMappingRegistry()

setEngine

public void setEngine(org.apache.axis.AxisEngine engine)
Tell this service which engine it's deployed to.


getEngine

public org.apache.axis.AxisEngine getEngine()

availableFromTransport

public boolean availableFromTransport(java.lang.String transportName)

getStyle

public org.apache.axis.constants.Style getStyle()

setStyle

public void setStyle(org.apache.axis.constants.Style style)

getUse

public org.apache.axis.constants.Use getUse()

setUse

public void setUse(org.apache.axis.constants.Use style)

getServiceDescription

public org.apache.axis.description.ServiceDesc getServiceDescription()

getInitializedServiceDesc

public org.apache.axis.description.ServiceDesc getInitializedServiceDesc(org.apache.axis.MessageContext msgContext)
                                                                  throws org.apache.axis.AxisFault
Returns a service description with the implementation class filled in. Syncronized to prevent simutaneous modification of serviceDescription.


setServiceDescription

public void setServiceDescription(org.apache.axis.description.ServiceDesc serviceDescription)

setPropertyParent

public void setPropertyParent(java.util.Hashtable parent)

generateWSDL

public void generateWSDL(org.apache.axis.MessageContext msgContext)
                  throws org.apache.axis.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.


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?


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(org.apache.axis.MessageContext msgContext)
            throws org.apache.axis.AxisFault
Description copied from interface: org.apache.axis.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.