public string executeRequest(string _request)
{
string _response = "";
XmlRpcValue parms = new XmlRpcValue(), resultValue = new XmlRpcValue();
string methodName = parseRequest(parms, _request);
XmlRpcUtil.log(XmlRpcUtil.XMLRPC_LOG_LEVEL.WARNING, "XmlRpcServerConnection::executeRequest: server calling method '{0}'", methodName);
try
{
if (!executeMethod(methodName, parms, resultValue) &&
!executeMulticall(methodName, parms, resultValue))
_response = generateFaultResponse(methodName + ": unknown method name");
else
_response = generateResponse(resultValue.toXml());
}
catch (XmlRpcException fault)
{
XmlRpcUtil.log(XmlRpcUtil.XMLRPC_LOG_LEVEL.WARNING, "XmlRpcServerConnection::executeRequest: fault {0}.", fault.Message);
_response = generateFaultResponse(fault.Message, fault.getCode());
}
return _response;
}