1
resposta

HTTP ERROR 400

Olá, já conferi todos os passos até aqui, mas quando instancio o host e rodo a aplicação, não é apresentado nenhum erro. Quando tento ficar acessar a URI recebo: "Esta página não está funcionando no momento. Se o problema persistir, contate o proprietário do site. HTTP ERROR 400" Se algum souber a resposta e puder me ajudar.

Class Program em Hosting:

class Program {

    static void Main(string[] args)
    {

        ServiceHost host = new ServiceHost(typeof(ClienteService));
        Uri endereco = new Uri("http://localhost:8080/clientes");
        host.AddServiceEndpoint(typeof(IClienteService), new BasicHttpBinding(), endereco);

        try { 
            host.Open();
            Exibe(host);
            Console.ReadLine();
            host.Close();
        }
        catch (Exception e)
        {
            host.Abort();
            Console.WriteLine(e.Message);
            Console.ReadLine();
        }

    }
        public static void Exibe(ServiceHost service)
        {
            Console.WriteLine($"{service.Description.ServiceType} online");
            foreach (ServiceEndpoint se in service.Description.Endpoints)
            {
                Console.WriteLine(se.Address);
            }
        }
}

}

ClienteDao:

public class ClienteDao
{
    public static List<Cliente> clientes = new List<Cliente>();

    public void Add (Cliente c)
    {
        clientes.Add(c);
    }

    public Cliente GetCliente(string nome)
    {
        return clientes.Where(c => c.Nome == nome).FirstOrDefault();
    }
}

}

ClienteService:

public class ClienteService : IClienteService
{
    public void Add(Cliente c)
    {
        ClienteDao dao = new ClienteDao();
        dao.Add(c);
    }

    public Cliente Buscar(string nome)
    {
        ClienteDao dao = new ClienteDao();
        return dao.GetCliente(nome);
    }
}

Clientes:

[DataContract]
public class Cliente
{
    [DataMember]
    public string  Nome { get; set; }
    [DataMember]
    public string CPF { get; set; }

}
1 resposta

Estou tendo o mesmo problema do Thalles, quando tento acessar o localhost:8080/clientes, também recebo o erro 400. É estranho porque a URL aparece no meu WSDL como uma localização válida, mas não consigo aceder de jeito nenhum. Alguém poderia nos ajudar? :D

<wsdl:service name="ClienteService">
    <wsdl:port name="BasicHttpBinding_IClienteService" binding="tns:BasicHttpBinding_IClienteService">
        <soap:address location="http://localhost:8080/clientes"/>
    </wsdl:port>
</wsdl:service>