[killfill@fly ~/Desktop/TrivialWS/WS1.1]$ cat WS.* <%@ WebService Language="C#" Class="N.Hola" %> using System.Web.Services; namespace N { public class Hola:WebService { [WebMethod] public string Mundo() { return "Hola mundo"; } } } [killfill@fly ~/Desktop/TrivialWS/WS1.1]$ mcs -t:library -r:System.Web.Services WS.cs -out:bin/WS.dll [killfill@fly ~/Desktop/TrivialWS/WS1.1]$ xsp xsp Listening on port: 8080 (non-secure) Listening on address: 0.0.0.0 Root directory: /usr/home/killfill/Desktop/TrivialWS/WS1.1 Hit Return to stop the server. ----> When i open the page in the browser, it displays this: System.Threading.ThreadAbortException: Thread was being aborted at System.Web.HttpApplication+<>c__CompilerGenerated2.MoveNext () [0x00000] at System.Web.HttpApplication.Tick () [0x00000] ----> While on the console i see this: Internal error: OutputPage threw an exception System.Threading.ThreadAbortException: Thread was being aborted Server stack trace: at Mono.WebServer.XSPRequestBroker.Close (Int32 requestId, Boolean keepAlive) [0x00000] at (wrapper remoting-invoke-with-check) Mono.WebServer.XSPRequestBroker:Close (int,bool) at (wrapper xdomain-dispatch) Mono.WebServer.XSPRequestBroker:Close (object,byte[]&,byte[]&,int,bool) Exception rethrown at [0]: at (wrapper xdomain-invoke) Mono.WebServer.XSPRequestBroker:Close (int,bool) at (wrapper remoting-invoke-with-check) Mono.WebServer.XSPRequestBroker:Close (int,bool) at Mono.WebServer.XSPWorkerRequest.CloseConnection () [0x00000] at System.Web.HttpResponse.Close () [0x00000] at System.Web.HttpApplication.FinalErrorWrite (System.Web.HttpResponse response, System.String error) [0x00000] at System.Web.HttpApplication.OutputPage () [0x00000] at System.Web.HttpApplication.PipelineDone () [0x00000] System.Threading.ThreadAbortException: Thread was being aborted Server stack trace: at Mono.WebServer.BaseApplicationHost.EndOfRequest (Mono.WebServer.MonoWorkerRequest mwr) [0x00000] at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_MonoWorkerRequest (Mono.WebServer.MonoWorkerRequest) at Mono.WebServer.MonoWorkerRequest.EndOfRequest () [0x00000] at System.Web.HttpApplication.PipelineDone () [0x00000] at System.Web.HttpApplication.Tick () [0x00000] at System.Web.HttpApplication.Start (System.Object x) [0x00000] at System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest (System.Web.HttpContext context, System.AsyncCallback cb, System.Object extraData) [0x00000] at System.Web.HttpRuntime.RealProcessRequest (System.Object o) [0x00000] at System.Web.HttpRuntime.ProcessRequest (System.Web.HttpWorkerRequest wr) [0x00000] at Mono.WebServer.MonoWorkerRequest.ProcessRequest () [0x00000] at Mono.WebServer.BaseApplicationHost.ProcessRequest (Mono.WebServer.MonoWorkerRequest mwr) [0x00000] at Mono.WebServer.XSPApplicationHost.ProcessRequest (Int32 reqId, Int64 localEPAddr, Int32 localEPPort, Int64 remoteEPAdds, Int32 remoteEPPort, System.String verb, System.String path, System.String queryString, System.String protocol, System.Byte[] inputBuffer, System.String redirect, IntPtr socket, Mono.WebServer.SslInformations ssl) [0x00000] at (wrapper remoting-invoke-with-check) Mono.WebServer.XSPApplicationHost:ProcessRequest (int,long,int,long,int,string,string,string,string,byte[],string,intptr,Mono.WebServer.SslInformations) at (wrapper xdomain-dispatch) Mono.WebServer.XSPApplicationHost:ProcessRequest (object,byte[]&,byte[]&,int,long,int,long,int,string,string,string,string,byte[],string) Exception rethrown at [0]: at (wrapper xdomain-invoke) Mono.WebServer.XSPApplicationHost:ProcessRequest (int,long,int,long,int,string,string,string,string,byte[],string,intptr,Mono.WebServer.SslInformations) at (wrapper remoting-invoke-with-check) Mono.WebServer.XSPApplicationHost:ProcessRequest (int,long,int,long,int,string,string,string,string,byte[],string,intptr,Mono.WebServer.SslInformations) at Mono.WebServer.XSPWorker.RunInternal (System.Object state) [0x00000]