I am trying to build a fairly basic WCF SOAP web service self-hosted as a Windows service. The Windows service itself is up and running on my machine -- I just can't access it locally via Visual Studio or the web browser.

The relevant C# code is below. Assume `MyDummyService` implements contract `IDummyService`:

```
public class Program : ServiceBase
{
    private ServiceHost host = null;
    private readonly Uri baseAddress = new Uri("http://localhost:8000/DummyAPI");

    public static readonly ILog log = LogManager.GetLogger(typeof(Program));
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    public static void Main(string[] args)
    {
        ServiceBase.Run(new Program());
    }

    public Program()
    {
        this.ServiceName = "DummyService";
    }

    protected override void OnStart(string[] args)
    {
        log.Info("Starting service");

        try
        {
            base.OnStart(args);

            host = new ServiceHost(typeof(MyDummyService), baseAddress);

            host.Open();
        }
        catch (Exception ex)
        {
            log.Error(ex.ToString());
        }
        finally
        {
            if (host != null)
                ((IDisposable)host).Dispose();
        }
    }

    protected override void OnStop()
    {
        log.Info("Stopping service");
        base.OnStop();
        host.Close();
    }
}

```

The relevant `app.config`:

```
<system.serviceModel>
    <services>
        <service name="DummyAPI.MyDummyService" 
                 behaviorConfiguration="MyDummyBehavior">
           <endpoint 
               address="" 
               binding="basicHttpBinding" 
               contract="DummyAPI.IDummyService" />
           <endpoint address="mex" binding="mexHttpBinding" 
                     contract="IMetadataExchange" />
        </service>
    </services>
    <behaviors>
        <serviceBehaviors>
            <behavior name="MyDummyBehavior">
                <serviceMetadata httpGetEnabled="True" policyVersion="Policy15"/>
                <serviceDebug includeExceptionDetailInFaults="True"/>
            </behavior>
        </serviceBehaviors>
    </behaviors>
</system.serviceModel>

```

When I access

```
http://localhost:8000/DummyAPI

```

or

```
http://localhost:8000/DummyAPI/MyDummyService

```

(or either of those followed by ?wsdl) in the web browser, I get a 404. The obvious first question: what did I botch above?

The `web.config` namespaces (or what look like namespaces) have me a little confused. What can I safely make up on the spot, and what needs to reflect C# class namespaces?