org.ow2.petals.binding.soap.listener.incoming
Class PetalsDispatcher

java.lang.Object
  extended by org.apache.axis2.handlers.AbstractHandler
      extended by org.apache.axis2.engine.AbstractDispatcher
          extended by org.ow2.petals.binding.soap.listener.incoming.PetalsDispatcher
All Implemented Interfaces:
org.apache.axis2.addressing.AddressingConstants, org.apache.axis2.engine.Handler

public class PetalsDispatcher
extends org.apache.axis2.engine.AbstractDispatcher
implements org.apache.axis2.addressing.AddressingConstants

Dispatcher for JBI container. This dispatcher is used to return the service that has been registered on SU deployment.

Since:
Petals 1.0
Version:
$Rev: 250 $ $Date: 2006-04-21 14:20:57 +0200 (ven, 21 avr 2006) $
Author:
alouis,wjoseph,chamerling - EBM Websourcing

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.axis2.addressing.AddressingConstants
org.apache.axis2.addressing.AddressingConstants.Final, org.apache.axis2.addressing.AddressingConstants.Submission
 
Nested classes/interfaces inherited from interface org.apache.axis2.engine.Handler
org.apache.axis2.engine.Handler.InvocationResponse
 
Field Summary
protected  org.ow2.petals.component.framework.su.AbstractServiceUnitManager bindingSUM
           
protected  javax.jbi.messaging.DeliveryChannel channel
           
protected  org.ow2.petals.component.framework.AbstractComponent component
           
protected  org.apache.axis2.description.AxisOperation jbiOperation
           
protected  org.apache.axis2.description.AxisService jbiService
           
protected  java.util.logging.Logger log
           
static java.lang.String NAME
           
protected  org.apache.axis2.description.AxisOperation notifyOperation
           
protected  PetalsReceiver petalsReceiver
           
 
Fields inherited from class org.apache.axis2.handlers.AbstractHandler
handlerDesc
 
Fields inherited from interface org.apache.axis2.addressing.AddressingConstants
ACTION_ATTRIBUTES, ADD_MUST_UNDERSTAND_TO_ADDRESSING_HEADERS, ADDR_VALIDATE_ACTION, ADDRESSING_OPTIONAL, ADDRESSING_REQUIRED, ADDRESSING_REQUIREMENT_PARAMETER, ADDRESSING_UNSPECIFIED, ANONYMOUS, DISABLE_ADDRESSING_FOR_IN_MESSAGES, DISABLE_ADDRESSING_FOR_OUT_MESSAGES, DISABLE_OUTBOUND_ADDRESSING_VALIDATION, DISABLE_REF_PARAMETER_EXTRACT, EPR_ADDRESS, EPR_REFERENCE_PARAMETERS, EPR_SERVICE_NAME, FAULT_ACTION_NOT_SUPPORTED, FAULT_ACTION_NOT_SUPPORTED_REASON, FAULT_ADDRESSING_DESTINATION_UNREACHABLE, INCLUDE_OPTIONAL_HEADERS, IS_ADDR_INFO_ALREADY_PROCESSED, MESSAGEID_ATTRIBUTES, PARAM_SERVICE_GROUP_CONTEXT_ID, REFERENCE_PARAMETER_PARAMETER, REPLACE_ADDRESSING_HEADERS, SOAP_ROLE_FOR_ADDRESSING_HEADERS, USING_ADDRESSING, WS_ADDRESSING_VERSION, WSA_ACTION, WSA_DEFAULT_PREFIX, WSA_FAULT_TO, WSA_FROM, WSA_MESSAGE_ID, WSA_RELATES_TO, WSA_RELATES_TO_RELATIONSHIP_TYPE, WSA_REPLY_TO, WSA_TO, WSAM_INVOCATION_PATTERN_ASYNCHRONOUS, WSAM_INVOCATION_PATTERN_BOTH, WSAM_INVOCATION_PATTERN_PARAMETER_NAME, WSAM_INVOCATION_PATTERN_SYNCHRONOUS
 
Constructor Summary
PetalsDispatcher()
           
 
Method Summary
protected  java.lang.String extractWebServiceName(java.lang.String serviceName)
          Parse request URL to catch the service name: ...server/services/[SERVICENAME]?
 org.apache.axis2.description.AxisOperation findOperation(org.apache.axis2.description.AxisService service, org.apache.axis2.context.MessageContext messageContext)
          Called by Axis Engine to find the operation.
 org.apache.axis2.description.AxisService findService(org.apache.axis2.context.MessageContext messageContext)
          Called by Axis Engine to find the service.
 void init(org.ow2.petals.component.framework.AbstractComponent component, javax.jbi.messaging.DeliveryChannel channel, org.ow2.petals.component.framework.su.AbstractServiceUnitManager bindingSUM, PetalsReceiver petalsReceiver, java.util.logging.Logger log)
          Init the PetalsDispatcher after it has been created by Axis.
 void initDispatcher()
           
 
Methods inherited from class org.apache.axis2.engine.AbstractDispatcher
invoke
 
Methods inherited from class org.apache.axis2.handlers.AbstractHandler
cleanup, flowComplete, getHandlerDesc, getName, getParameter, init, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NAME

public static final java.lang.String NAME
See Also:
Constant Field Values

bindingSUM

protected org.ow2.petals.component.framework.su.AbstractServiceUnitManager bindingSUM

channel

protected javax.jbi.messaging.DeliveryChannel channel

component

protected org.ow2.petals.component.framework.AbstractComponent component

jbiOperation

protected org.apache.axis2.description.AxisOperation jbiOperation

notifyOperation

protected org.apache.axis2.description.AxisOperation notifyOperation

petalsReceiver

protected PetalsReceiver petalsReceiver

jbiService

protected org.apache.axis2.description.AxisService jbiService

log

protected java.util.logging.Logger log
Constructor Detail

PetalsDispatcher

public PetalsDispatcher()
Method Detail

findOperation

public org.apache.axis2.description.AxisOperation findOperation(org.apache.axis2.description.AxisService service,
                                                                org.apache.axis2.context.MessageContext messageContext)
                                                         throws org.apache.axis2.AxisFault
Called by Axis Engine to find the operation. TODO : try to retrieve the service description of the JBI service engine and search this description for an operation with the same name

Specified by:
findOperation in class org.apache.axis2.engine.AbstractDispatcher
Parameters:
service - The service for which we search the operation
messageContext - Current MessageContext
Returns:
Returns an AxisOperation if found in the service description file or else null.
Throws:
org.apache.axis2.AxisFault

findService

public org.apache.axis2.description.AxisService findService(org.apache.axis2.context.MessageContext messageContext)
                                                     throws org.apache.axis2.AxisFault
Called by Axis Engine to find the service. Asks the JBI container if there is a service registered with the name of the computed called service.

Specified by:
findService in class org.apache.axis2.engine.AbstractDispatcher
Parameters:
messageContext - Current Messagecontext
Returns:
Returns an AxisService if found on the JBI container or else null.
Throws:
org.apache.axis2.AxisFault

init

public void init(org.ow2.petals.component.framework.AbstractComponent component,
                 javax.jbi.messaging.DeliveryChannel channel,
                 org.ow2.petals.component.framework.su.AbstractServiceUnitManager bindingSUM,
                 PetalsReceiver petalsReceiver,
                 java.util.logging.Logger log)
Init the PetalsDispatcher after it has been created by Axis.

Parameters:
componentContext -
channel -
bindingSUM -
log -

initDispatcher

public void initDispatcher()
Specified by:
initDispatcher in class org.apache.axis2.engine.AbstractDispatcher

extractWebServiceName

protected java.lang.String extractWebServiceName(java.lang.String serviceName)
Parse request URL to catch the service name: ...server/services/[SERVICENAME]?method=...

Parameters:
serviceName -
Returns:


Copyright © 2005-2010 OW2 Consortium. All Rights Reserved.