Al intentar crear un servicio simple para devolver una cadena JSON simple siguiendo varios tutoriales. Me quedo atrapado en dos máquinas diferentes con una solicitud incorrecta HTTP Statuscode 400. Ejemplo tutoriales REST servicio WCF con JSON pt.1 & pt.2 - http://www.youtube.com/watch?v=5BbDxB_5CZ8C# 4.0 WCF REST JSON - HTTP OBTENGA EL CÓDIGO 400 Solicitud incorrecta
que tienen también Google y buscaron aquí (StackOverflow) para un problema similar sin éxito.
El problema es que recibo la solicitud 400 incorrecta al intentar hacer una comprobación de cordura para navegar al servicio WCF y ejecutar el método. Al compilar el servicio y buscar esta dirección: http://localhost:49510/Service1.svc/GetPerson Al igual que en el tutorial. Intenté encontrar una solución por 3 días. Cualquier ayuda es apreciada.
Esto es lo que hago.
Primero creo un proyecto nuevo una aplicación de servicio WCF simple. Elimino el valor por defecto Service1.svc y añadir un nuevo servicio WCF, que generan un nuevo Service1.svc y una IService1.cs
Este es el código para la interfaz (IService1.cs)
namespace WcfService1
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
[ServiceContract]
public interface IService1
{
[OperationContract]
[WebInvoke(Method="GET", BodyStyle=WebMessageBodyStyle.Bare, ResponseFormat=WebMessageFormat.Json, RequestFormat=WebMessageFormat.Json, UriTemplate="GetPerson")]
Person GetPerson();
}
[DataContract(Name="Person")]
public class Person
{
[DataMember(Name="name")]
public string Name { get; set; }
}
}
Aquí está el código para el Service1.svc
namespace WcfService1
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.
public class Service1 : IService1
{
public Person GetPerson()
{
return new Person() { Name = "Tobbe" };
}
}
}
y el Web.config es virgen y le gusta mirar este web.config
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
¡Acabo de copiar y pegar el archivo como dijiste! ¡Salvaste mi día! ¡Excelente! ¡Muchas gracias! – user1087261