Package 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:
Serializable
,Chain
,Handler
,TargetedChain
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 Summary
FieldsModifier and TypeFieldDescriptionint
A list of our active service objects (these can have lifetimes and be reaped)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
ConstructorsConstructorDescriptionStandard, 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
Modifier and TypeMethodDescriptionvoid
addSession
(Session session) Add this passed in Session to this Service's list of sessionsboolean
availableFromTransport
(String transportName) void
Remove all of this Service's serviceObjects from it known sessionsvoid
disableTransport
(String transportName) Disable access to this service from a particular transportvoid
enableTransport
(String transportName) Make this service available on a particular transportvoid
generateWSDL
(MessageContext msgContext) Generate WSDL.Get the merged actor list for this service, including engine-wide actor URIs.getInitializedServiceDesc
(MessageContext msgContext) Returns a service description with the implementation class filled in.getRoles()
int
Get the service-specific actor listgetStyle()
getUse()
void
invoke
(MessageContext msgContext) Iterate over the chain invoking each handler.boolean
Is this service suspended?boolean
void
setEngine
(AxisEngine engine) Tell this service which engine it's deployed to.void
setHighFidelityRecording
(boolean highFidelityRecording) void
setPropertyParent
(Hashtable parent) void
Set the service-specific role listvoid
setSendType
(int sendType) void
setServiceDescription
(ServiceDesc serviceDescription) void
void
void
start()
Placeholder for "resume this service" methodvoid
stop()
Placeholder for "suspend this service" methodMethods 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 Details
-
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
Constructor with real or null request, pivot, and response handlers. A special request handler is specified to inject SOAP semantics. -
SOAPService
Convenience constructor for wrapping SOAP semantics around "service handlers" which actually do work.
-
-
Method Details
-
addSession
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
Get the service-specific actor list- Returns:
-
getActors
Get the merged actor list for this service, including engine-wide actor URIs.- Returns:
-
getRoles
-
setRoles
Set the service-specific role list- Parameters:
roles
- a List of Strings, each containing a role URI
-
getTypeMappingRegistry
-
setEngine
Tell this service which engine it's deployed to. -
getEngine
-
availableFromTransport
-
getStyle
-
setStyle
-
getUse
-
setUse
-
getServiceDescription
-
getInitializedServiceDesc
Returns a service description with the implementation class filled in. Syncronized to prevent simutaneous modification of serviceDescription.- Throws:
AxisFault
-
setServiceDescription
-
setPropertyParent
-
generateWSDL
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 interfaceHandler
- Overrides:
generateWSDL
in classSimpleChain
- Parameters:
msgContext
- theMessageContext
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
Make this service available on a particular transport -
disableTransport
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
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 interfaceHandler
- Overrides:
invoke
in classSimpleChain
- Parameters:
msgContext
- theMessageContext
to process with thisHandler
.- Throws:
AxisFault
- if there was a fault with any of the handlers
-