Search code examples
wcfjson.net-4.0fiddler

Fiddler request to WCF is failing with 504 ReadResponse() failed: The server did not return a response for this request


Relevant Service Code:

[WebGet(BodyStyle = WebMessageBodyStyle.WrappedResponse, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate="products")]
public Product[] GetAllProduct()
{
    return ProductProvider.Instance.GetAllProducts();
}

[OperationContract]
Product[] GetAllProduct();

Relevant Configuration Code:

<?xml version="1.0"?>
<configuration>
<connectionStrings>
    <add name="TestEntities" connectionString="metadata=res://*/ProductEntityDataModel.csdl|res://*/ProductEntityDataModel.ssdl|res://*/ProductEntityDataModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=PC\MSSQL2008;initial catalog=Test;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>
<system.serviceModel>
    <services>
        <service name="Service.Default">
            <endpoint address="http://localhost:1651/Default.svc" binding="webHttpBinding" contract="Service.IDefault"/>
        </service>
    </services>
    <behaviors>
        <endpointBehaviors>
            <behavior>
                <webHttp/>
            </behavior>
        </endpointBehaviors>
    </behaviors>
</system.serviceModel>
<system.web>
    <compilation debug="true"/>
</system.web>
</configuration>

Relevant Fiddler Request

Fiddler Request


Solution

  • I've had issues with URITemplate in the past. Can you try:

    [WebGet(BodyStyle=WebMessageBodyStyle.WrappedResponse, ResponseFormat=WebMessageFormat.Json)]
    public Product[] products()
    {
        return ProductProvider.Instance.GetAllProducts();
    }
    
    [OperationContract]
    Product[] products();