org.mule.providers.soap.xfire
Class XFireMessageDispatcher

java.lang.Object
  extended by org.mule.providers.AbstractMessageDispatcher
      extended by org.mule.providers.soap.xfire.XFireMessageDispatcher
All Implemented Interfaces:
ExceptionListener, Disposable, UMOConnectable, UMOMessageDispatcher, UMOMessageDispatching
Direct Known Subclasses:
XFireWsdlMessageDispatcher

public class XFireMessageDispatcher
extends AbstractMessageDispatcher

The XFireMessageDispatcher is used for making Soap client requests to remote services.


Field Summary
protected  org.codehaus.xfire.client.Client client
           
protected  XFireConnector connector
           
 
Fields inherited from class org.mule.providers.AbstractMessageDispatcher
connected, connecting, connectionStrategy, disposed, endpoint, logger, workManager
 
Fields inherited from interface org.mule.umo.provider.UMOMessageDispatching
RECEIVE_NO_WAIT, RECEIVE_WAIT_INDEFINITELY
 
Constructor Summary
XFireMessageDispatcher(UMOImmutableEndpoint endpoint)
           
 
Method Summary
protected  void configureClientForComplexTypes(org.codehaus.xfire.client.Client client, UMOEvent event)
           
protected  org.codehaus.xfire.client.Client configureXFireClient(org.codehaus.xfire.client.Client client)
           
protected  org.codehaus.xfire.client.Client createXFireClient(UMOImmutableEndpoint endpoint, org.codehaus.xfire.service.Service service, org.codehaus.xfire.XFire xfire)
           
protected  org.codehaus.xfire.client.Client createXFireClient(UMOImmutableEndpoint endpoint, org.codehaus.xfire.service.Service service, org.codehaus.xfire.XFire xfire, String transportClass)
           
protected  void doConnect()
           
protected  void doDisconnect()
           
protected  void doDispatch(UMOEvent event)
           
protected  void doDispose()
           
protected  UMOMessage doReceive(long timeout)
          Make a specific request to the underlying transport
protected  UMOMessage doSend(UMOEvent event)
           
protected  Object[] getArgs(UMOEvent event)
           
protected  String getMethod(UMOEvent event)
           
protected  String getServiceName(UMOImmutableEndpoint endpoint)
          Get the service that is mapped to the specified request.
 String parseSoapAction(String soapAction, javax.xml.namespace.QName method, UMOEvent event)
           
 
Methods inherited from class org.mule.providers.AbstractMessageDispatcher
activate, connect, disconnect, dispatch, dispose, exceptionThrown, getConnectEventId, getConnectionDescription, getConnector, getEndpoint, isConnected, isDoThreading, isTransactionRollback, passivate, receive, reconnect, send, toString, useRemoteSync, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

client

protected org.codehaus.xfire.client.Client client

connector

protected final XFireConnector connector
Constructor Detail

XFireMessageDispatcher

public XFireMessageDispatcher(UMOImmutableEndpoint endpoint)
Method Detail

doConnect

protected void doConnect()
                  throws Exception
Specified by:
doConnect in class AbstractMessageDispatcher
Throws:
Exception

createXFireClient

protected org.codehaus.xfire.client.Client createXFireClient(UMOImmutableEndpoint endpoint,
                                                             org.codehaus.xfire.service.Service service,
                                                             org.codehaus.xfire.XFire xfire)
                                                      throws Exception
Throws:
Exception

createXFireClient

protected org.codehaus.xfire.client.Client createXFireClient(UMOImmutableEndpoint endpoint,
                                                             org.codehaus.xfire.service.Service service,
                                                             org.codehaus.xfire.XFire xfire,
                                                             String transportClass)
                                                      throws Exception
Throws:
Exception

configureXFireClient

protected org.codehaus.xfire.client.Client configureXFireClient(org.codehaus.xfire.client.Client client)
                                                         throws Exception
Throws:
Exception

doDisconnect

protected void doDisconnect()
                     throws Exception
Specified by:
doDisconnect in class AbstractMessageDispatcher
Throws:
Exception

doDispose

protected void doDispose()
Specified by:
doDispose in class AbstractMessageDispatcher

getMethod

protected String getMethod(UMOEvent event)
                    throws DispatchException
Throws:
DispatchException

getArgs

protected Object[] getArgs(UMOEvent event)
                    throws TransformerException
Throws:
TransformerException

doSend

protected UMOMessage doSend(UMOEvent event)
                     throws Exception
Specified by:
doSend in class AbstractMessageDispatcher
Throws:
Exception

doDispatch

protected void doDispatch(UMOEvent event)
                   throws Exception
Specified by:
doDispatch in class AbstractMessageDispatcher
Throws:
Exception

doReceive

protected UMOMessage doReceive(long timeout)
                        throws Exception
Make a specific request to the underlying transport

Specified by:
doReceive in class AbstractMessageDispatcher
Parameters:
timeout - the maximum time the operation should block before returning. The call should return immediately if there is data available. If no data becomes available before the timeout elapses, null will be returned
Returns:
the result of the request wrapped in a UMOMessage object. Null will be returned if no data was avaialable
Throws:
Exception - if the call to the underlying protocal cuases an exception

getServiceName

protected String getServiceName(UMOImmutableEndpoint endpoint)
Get the service that is mapped to the specified request.

Parameters:
endpoint - endpoint containing a service path
Returns:
service name

parseSoapAction

public String parseSoapAction(String soapAction,
                              javax.xml.namespace.QName method,
                              UMOEvent event)

configureClientForComplexTypes

protected void configureClientForComplexTypes(org.codehaus.xfire.client.Client client,
                                              UMOEvent event)
                                       throws ClassNotFoundException
Throws:
ClassNotFoundException


Copyright © 2003-2008 MuleSource, Inc.. All Rights Reserved.