Search code examples
servicestackhttp-error

ServiceStack: Keep getting HTTP 500 errors for unknown reason


All of a sudden, I keep getting HTTP 500 errors in my self-hosted ServiceStack WS.

I have several requests already in place and they are working fine, but this one just wont work. I have added my license like this:

    private void StartServiceStackService()
    {
        Licensing.RegisterLicenseFromFileIfExists("servicestack-license.txt".MapHostAbsolutePath());

        _serviceStackHost = new ServiceStackWsHost(this, _frontEndModuleParameters, _alfaWebServicesSettings);
        _serviceStackHost.Init();
        if (!Debugger.IsAttached)
        {
            _serviceStackHost.Start(new[] { "http://+:8080/" });
        }
        else
        {
            _serviceStackHost.Start(new[] { "http://+:8081/" });
        }
    }

And the failing service is:

[Route(Bookings.BASE_PATH + "search", Verbs = "GET")]
public class SearchAddress : IReturn<SearchAddressResponse>
{
    public string SearchString { get; set; }
}

public class SearchAddressResponse : ResponseBase
{
    public string Test { get; set; }
    // public List<Address> Addresses { get; set; }
}

internal class SearchAddressHandler : ServiceHandlerBase
{
    public SearchAddressResponse Get(SearchAddress searchAddress)
    {
        return new SearchAddressResponse()
        {
            Test = "ASDASDASD"
        };
    }
}

enter image description here

And I call it using Fiddler4 like this:

GET http://192.168.0.147:8081/alfaonline/bookings/search?SearchString=123 HTTP/1.1
User-Agent: Fiddler
Host: 192.168.0.147:8081
AuthToken: a18b613c-23b2-4f4e-8934-ad8d6cbc57bb
DeviceUUID: 1baaace

and get this reply:

HTTP/1.1 500 Internal Server Error
Transfer-Encoding: chunked
Content-Type: text/html
Vary: Accept
Server: Microsoft-HTTPAPI/2.0
X-Powered-By: ServiceStack/5.20 Net45/Windows
Date: Wed, 26 Sep 2018 11:28:31 GMT

0

If I instead return "null", like this:

[MyAuthenticate]
internal class SearchAddressHandler : ServiceHandlerBase
{
    public SearchAddressResponse Get(SearchAddress searchAddress)
    {
        return null;
    }
}

Fiddler gives me HTTP 204 OK:

HTTP/1.1 204 OK
Content-Length: 0
Vary: Accept
Server: Microsoft-HTTPAPI/2.0
X-Powered-By: ServiceStack/5.20 Net45/Windows
Date: Wed, 26 Sep 2018 11:26:29 GMT

I see no errors, exceptions in VS in debug mode and "catch all" in Exception settings. I can put a breakpoint in the handler, and it breaks there, so the correct handler is executed.


UPDATE I have always been using Fiddler, now running Fiddler4. When I try the service, described below, in for example swagger (plugin to ServiceStack), it runs as expected. If I run the service in Postman, it runs as expected. But if I run it in Fiddler, I get HTTP 500


UPDATE 2 I also just noticed that going to http://127.0.0.1:8081/requestlogs also yields HTTP 500 error. More specifically, when I access /requestlogs and add the UncaughtExceptionHandlers, I see this error:

System.MissingMethodException: Method not found: 'System.String ServiceStack.StringUtils.HtmlEncodeLite(System.String)'. at ServiceStack.Formats.HtmlFormat.d__10.MoveNext() at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine](TStateMachine& stateMachine) at ServiceStack.Formats.HtmlFormat.SerializeToStreamAsync(IRequest req, Object response, Stream outputStream) at ServiceStack.HttpResponseExtensionsInternal.d__7.MoveNext()


Solution

  • Your first approach should be to get information about the Error: