I had this exact problem that I ran into and could not find a direct answer - get error 403.14 on a simple demo of ServiceStack.
..:: Simple answer::..
Your answer is simple. You confuse your handlers by providing 3 instead of one, as mentioned in Mythz. In addition, you do not have the specified route for your request.
[Route("/hello")] public class Hello { public string Name { get; set; } }
This will fix your 403.13 error (semantic problem), and you can go to your http: // {localdomain}: {port} / hello and see the metadata (replace {port} with the actual IIS Express port number assigned to you). Without this setting, you need to go to http: // {localdomain}: {port} / metadata.
..:: Detailed response::..
Routing, as it relates to IIS in ServiceStack, is done through semantics / conventions. Since these routes are dynamic, when IIS does not provide proper routing at runtime, it assumes that there is a problem with the folder (physical path) and throws error 403.14. At the same time, if you provide more than one path where there should be only one, bad things happen at runtime when everything is connected.
To make sure that you have everything you need, here are all the settings you need to make in the source code.
but. Adjust your web configuration file to handle only one path, as described in Mythz's answer.
<system.web> <httpHandlers> <add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*"/> </httpHandlers> </system.web> <system.webServer> <handlers> <add path="*" name="ServiceStack.Factory" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" preCondition="integratedMode" resourceType="Unspecified" allowPathInfo="true" /> </handlers> </system.webServer>
b. Make the route setup described earlier in this post.
Rick
source share