Cómo recuperar un IObservable de la API web

Tengo una API web simple que devuelve un Iobservable. Estoy usando HttpClient para obtener el Observable para poder suscribirme. Mi problema es que Iobservable devuelto en la suscripción envía un resultado 'vacío'.

SERVIDOR

public IObservable<DataItem> GetDataItems()
{
    return Observable.Generate(0, i => i < 10, i => i + 1, 
        i => new DataItem 
        {
            Id = i, 
            Name = String.Format("Storage{0}",i)
        });
}

CLIENTE

public IObservable<DataItem> GetDataItems()
{
    using (HttpClient apiClient = new HttpClient())
    {
        apiClient.BaseAddress = new Uri("http://localhost:9001");
        apiClient.DefaultRequestHeaders.Add("x-user-authentication", "xxxxxx");
        return apiClient
            .GetAsync("api/xxxx/yyyy").Result.Content
            .ReadAsAsync<DataItem>().ToObservable();
    }
}

var source = GetDataItems();

List<DataItem> items = new List<DataItem>();

IDisposable consoleSubscription = source.Subscribe(
            x => Console.WriteLine("{0}:{1}", x.Id, x.Name),
            ex => Console.WriteLine("OnError : {0} ", ex.Message),
            () =>  Console.WriteLine("Encountered End of Stream")
            );
        consoleSubscription.Dispose();

Mi problema es que no estoy recibiendo ningún dato del servidor. Obtengo un observable 'Vacío'. Escribí una prueba de unidad contra mi controlador y me devuelve los datos.

Cualquier sugerencia por favor ayuda. Incapaz de entender donde me voy mal. No hay errores en el servidor o cliente.

Respuestas a la pregunta(1)

Su respuesta a la pregunta