org.eclipse.ecf.remoteservice.rpc.client
Class RpcClientService

java.lang.Object
  extended by org.eclipse.ecf.remoteservice.AbstractRemoteService
      extended by org.eclipse.ecf.remoteservice.client.AbstractClientService
          extended by org.eclipse.ecf.remoteservice.rpc.client.RpcClientService
All Implemented Interfaces:
java.lang.reflect.InvocationHandler, IRemoteService

public class RpcClientService
extends AbstractClientService


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.ecf.remoteservice.client.AbstractClientService
AbstractClientService.AsyncResult
 
Nested classes/interfaces inherited from class org.eclipse.ecf.remoteservice.AbstractRemoteService
AbstractRemoteService.AsyncArgs
 
Field Summary
 
Fields inherited from class org.eclipse.ecf.remoteservice.client.AbstractClientService
container, registration
 
Fields inherited from class org.eclipse.ecf.remoteservice.AbstractRemoteService
EMPTY_ARGS
 
Constructor Summary
RpcClientService(RpcClientContainer container, RemoteServiceClientRegistration registration)
           
 
Method Summary
protected  java.lang.Object createProxy(java.lang.Class[] classes)
          Create a Dynamic Proxy for using XML-RPC servers, which builded on Apache XML-RPC.
 java.lang.Object createProxy(java.lang.ClassLoader cl, java.lang.Class[] classes)
          Create a Dynamic Proxy for using XML-RPC servers, which builded on Apache XML-RPC.
protected  XmlRpcClient getXmlRpcClient()
           
protected  XmlRpcClientConfig getXmlRpcClientConfig()
           
protected  void handleException(java.lang.String message, java.lang.Throwable e)
           
protected  java.lang.Object invokeRemoteCall(IRemoteCall call, IRemoteCallable callable)
          Calls the XML-RPC Service with given operation of IRemoteCall.
protected  void logException(java.lang.String string, java.lang.Throwable e)
           
protected  void logWarning(java.lang.String string, java.lang.Throwable e)
           
protected  java.lang.Object[] toObjectsArray(java.lang.String uri, IRemoteCall call, IRemoteCallable callable)
           
 
Methods inherited from class org.eclipse.ecf.remoteservice.client.AbstractClientService
callAsync, callAsync, callAsync, callAsync, callSync, fireAsync, getCallMethodNameForProxyInvoke, getCallParametersForProxyInvoke, getClientContainer, getInterfaceClassNames, getNextRequestID, getRegistration, getRemoteServiceID, getRemoteServiceReference, handleInvokeException, invokeSync, prepareEndpointAddress, prepareParameters, processResponse
 
Methods inherited from class org.eclipse.ecf.remoteservice.AbstractRemoteService
addRemoteServiceProxyToProxy, convertInterfaceNameToAsyncInterfaceName, findAsyncRemoteServiceProxyClass, findAsyncRemoteServiceProxyClass, getAsyncArgs, getAsyncInvokeMethodName, getCallTimeoutForProxyInvoke, getDefaultTimeout, getProxy, getProxy, getRemoteService, invoke, invokeAsync, invokeObject, loadInterfaceClass, loadInterfaceClass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RpcClientService

public RpcClientService(RpcClientContainer container,
                        RemoteServiceClientRegistration registration)
                 throws RpcException
Throws:
RpcException
Method Detail

getXmlRpcClientConfig

protected XmlRpcClientConfig getXmlRpcClientConfig()
                                            throws RpcException
Throws:
RpcException

getXmlRpcClient

protected XmlRpcClient getXmlRpcClient()
                                throws RpcException
Throws:
RpcException

createProxy

public java.lang.Object createProxy(java.lang.ClassLoader cl,
                                    java.lang.Class[] classes)
Create a Dynamic Proxy for using XML-RPC servers, which builded on Apache XML-RPC.

Overrides:
createProxy in class AbstractRemoteService

createProxy

protected java.lang.Object createProxy(java.lang.Class[] classes)
Create a Dynamic Proxy for using XML-RPC servers, which builded on Apache XML-RPC. See the Dynamic proxies section.

Overrides:
createProxy in class AbstractRemoteService

invokeRemoteCall

protected java.lang.Object invokeRemoteCall(IRemoteCall call,
                                            IRemoteCallable callable)
                                     throws ECFException
Calls the XML-RPC Service with given operation of IRemoteCall. The returned value is the returned value from server

Specified by:
invokeRemoteCall in class AbstractClientService
Parameters:
call - The remote call to make. Must not be null.
callable - The callable with default parameters to use to make the call.
Returns:
The XML-RPC Service's return value
Throws:
ECFException - thrown if the call fails.

handleException

protected void handleException(java.lang.String message,
                               java.lang.Throwable e)
                        throws RpcException
Throws:
RpcException

toObjectsArray

protected java.lang.Object[] toObjectsArray(java.lang.String uri,
                                            IRemoteCall call,
                                            IRemoteCallable callable)
                                     throws java.io.NotSerializableException
Throws:
java.io.NotSerializableException

logException

protected void logException(java.lang.String string,
                            java.lang.Throwable e)

logWarning

protected void logWarning(java.lang.String string,
                          java.lang.Throwable e)
Overrides:
logWarning in class AbstractRemoteService