He creado el siguiente servicio RESTful WCF, que funciona bien cuando se ejecuta en VS.¿Por qué este servicio WCF no reconoce el parámetro UriTemplate?
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json,
UriTemplate = "/sales/start={start}&end={end}")]
List<Sales> GetSalesByDate(string start, string end);
Sin embargo, al implementar esto a mi servidor de prueba (que se ejecuta Win2K3 y IIS6) que recibe el siguiente error de servidor:
operación 'GetSalesByDate' en el contrato de usos 'ISalesService' GET, sino que también tiene el cuerpo parámetro 'inicio'. Las operaciones GET no pueden tener un cuerpo. Haga que el parámetro 'inicie' un parámetro UriTemplate o cambie de WebGetAttribute a WebInvokeAttribute.
Obviamente ya he hecho 'comenzar' un UriParameter. Entonces, ¿alguien puede decirme por qué se lanza una excepción?
EDIT: Para referencia, aquí es mi fichero de configuración:
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<services>
<service name="Services.SalesService">
<endpoint behaviorConfiguration="webBehavior"
binding="webHttpBinding"
contract="Services.ISalesService"/>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="webBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
No entiendo por qué funcionó en el cuadro dev, pero no en el servidor. ¡Pero me alegra que estés desbloqueado! – Brian
Yo tampoco. Funciona bien en VS con el Uri incorrecto. Extraño, lo sé ... –