mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 06:06:06 +08:00
if an xml rpc method throws an exception, log as an error to the console as well as returning the exception to the caller
This commit is contained in:
@@ -723,13 +723,21 @@ namespace OpenSim.Framework.Servers.HttpServer
|
||||
xmlRpcResponse = method(xmlRprcRequest, request.RemoteIPEndPoint);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
{
|
||||
string errorMessage
|
||||
= String.Format(
|
||||
"Requested method [{0}] from {1} threw exception: {2} {3}",
|
||||
methodName, request.RemoteIPEndPoint.Address, e.Message, e.StackTrace);
|
||||
|
||||
m_log.ErrorFormat("[BASE HTTP SERVER]: {0}", errorMessage);
|
||||
|
||||
// if the registered XmlRpc method threw an exception, we pass a fault-code along
|
||||
xmlRpcResponse = new XmlRpcResponse();
|
||||
|
||||
// Code probably set in accordance with http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php
|
||||
xmlRpcResponse.SetFault(-32603, String.Format("Requested method [{0}] threw exception: {1}",
|
||||
methodName, e.Message));
|
||||
xmlRpcResponse.SetFault(-32603, errorMessage);
|
||||
}
|
||||
|
||||
// if the method wasn't found, we can't determine KeepAlive state anyway, so lets do it only here
|
||||
response.KeepAlive = m_rpcHandlersKeepAlive[methodName];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user