aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2009-12-03 17:57:29 +0000
committerJustin Clark-Casey (justincc)2009-12-03 18:05:42 +0000
commit504bfd87d5a769aaea3f7a8469254b6340487442 (patch)
treea464982a851fe0077e9d08048a2556efa5d16f7e
parent* Move code from that last commit to LLClientView since it's a linden client ... (diff)
downloadopensim-SC-504bfd87d5a769aaea3f7a8469254b6340487442.zip
opensim-SC-504bfd87d5a769aaea3f7a8469254b6340487442.tar.gz
opensim-SC-504bfd87d5a769aaea3f7a8469254b6340487442.tar.bz2
opensim-SC-504bfd87d5a769aaea3f7a8469254b6340487442.tar.xz
if an xml rpc method throws an exception, log as an error to the console as well as returning the exception to the caller
-rw-r--r--OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs14
-rw-r--r--OpenSim/Grid/UserServer.Modules/MessageServersConnector.cs1
2 files changed, 12 insertions, 3 deletions
diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
index bec5ed3..7de5c4c 100644
--- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
+++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
@@ -723,13 +723,21 @@ namespace OpenSim.Framework.Servers.HttpServer
723 xmlRpcResponse = method(xmlRprcRequest, request.RemoteIPEndPoint); 723 xmlRpcResponse = method(xmlRprcRequest, request.RemoteIPEndPoint);
724 } 724 }
725 catch(Exception e) 725 catch(Exception e)
726 { 726 {
727 string errorMessage
728 = String.Format(
729 "Requested method [{0}] from {1} threw exception: {2} {3}",
730 methodName, request.RemoteIPEndPoint.Address, e.Message, e.StackTrace);
731
732 m_log.ErrorFormat("[BASE HTTP SERVER]: {0}", errorMessage);
733
727 // if the registered XmlRpc method threw an exception, we pass a fault-code along 734 // if the registered XmlRpc method threw an exception, we pass a fault-code along
728 xmlRpcResponse = new XmlRpcResponse(); 735 xmlRpcResponse = new XmlRpcResponse();
736
729 // Code probably set in accordance with http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php 737 // Code probably set in accordance with http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php
730 xmlRpcResponse.SetFault(-32603, String.Format("Requested method [{0}] threw exception: {1}", 738 xmlRpcResponse.SetFault(-32603, errorMessage);
731 methodName, e.Message));
732 } 739 }
740
733 // if the method wasn't found, we can't determine KeepAlive state anyway, so lets do it only here 741 // if the method wasn't found, we can't determine KeepAlive state anyway, so lets do it only here
734 response.KeepAlive = m_rpcHandlersKeepAlive[methodName]; 742 response.KeepAlive = m_rpcHandlersKeepAlive[methodName];
735 } 743 }
diff --git a/OpenSim/Grid/UserServer.Modules/MessageServersConnector.cs b/OpenSim/Grid/UserServer.Modules/MessageServersConnector.cs
index f24cef6..3384952 100644
--- a/OpenSim/Grid/UserServer.Modules/MessageServersConnector.cs
+++ b/OpenSim/Grid/UserServer.Modules/MessageServersConnector.cs
@@ -201,6 +201,7 @@ namespace OpenSim.Grid.UserServer.Modules
201 } 201 }
202 return response; 202 return response;
203 } 203 }
204
204 public XmlRpcResponse XmlRPCUserMovedtoRegion(XmlRpcRequest request, IPEndPoint remoteClient) 205 public XmlRpcResponse XmlRPCUserMovedtoRegion(XmlRpcRequest request, IPEndPoint remoteClient)
205 { 206 {
206 XmlRpcResponse response = new XmlRpcResponse(); 207 XmlRpcResponse response = new XmlRpcResponse();