locked
Syncing large data, server returns 404 message RRS feed

  • Question

  • Hello, I'm trying to sync some pictures from a silverlight application to an sql server database using sync framework 4. Everything works fine when I first tried the sync 2 pictures at once (~20MB message body) when I bump that up to 3 pictures (~30MB message body) my server returns a 404 message on the UploadChanges request. This is not a "Not Found Error," using fiddler, the message returned is my server's actual 404 error. Any idea why this is happening? Not sure if it matters but I'm using SSL. Below are my Client/Server endpoint configs:

    Client:

            <bindings>
                <basichttpbinding>
                    <binding maxbuffersize="2147483647" maxreceivedmessagesize="2147483647" name="BasicHttpBinding_Idb5DNWCFService" transfermode="StreamedResponse">
                        <security mode="TransportWithMessageCredential"></security>
                    </binding>
                </basichttpbinding>
            </bindings>
            <client>
                <endpoint address="https://localhost/5DNtest/Services/db5DNWCFService.svc" binding="basicHttpBinding" bindingconfiguration="BasicHttpBinding_Idb5DNWCFService" contract="db5DNService.Idb5DNWCFService" name="BasicHttpBinding_Idb5DNWCFService"></endpoint>
            </client>

    Server:

        <bindings>
          <webhttpbinding>
            
            <binding maxbufferpoolsize="5242880" maxreceivedmessagesize="2147483647" name="higherMessageSize" transfermode="Streamed">
              <readerquotas maxarraylength="2147483647" maxbytesperread="4096" maxdepth="32" maxnametablecharcount="16384" maxstringcontentlength="2147483647"></readerquotas>
              <security mode="Transport">
                <transport clientcredentialtype="None"></transport>
              </security>
            </binding>
          </webhttpbinding>
        </bindings>
        <services>
          <service name="DefaultScope.DefaultScopeSyncService">
            <endpoint address="" binding="webHttpBinding" bindingconfiguration="higherMessageSize" contract="Microsoft.Synchronization.Services.IRequestHandler"></endpoint>
          </service>
       </services>


    • Edited by sekhmeti Wednesday, February 8, 2012 8:00 PM
    Wednesday, February 8, 2012 7:56 PM

All replies

  • Well I just figured it out. Apparently IIS defaults to a maximum message size of 30MB no matter what you have set in your bindings. Microsoft *really* should have a better error message then returning the web server's 404 page, that is ridiculous! I added this to the web.config and it works okay:

      <system.webServer>
        <security>
          <requestFiltering>
            <requestLimits maxAllowedContentLength="524288000"/>
          </requestFiltering>
        </security>
        <validation validateIntegratedModeConfiguration="false" />
        <asp>
          <limits maxRequestEntityAllowed="2147483647" bufferingLimit="2147483647" />
        </asp>
      </system.webServer>

    • Proposed as answer by JuneT Thursday, February 9, 2012 1:03 AM
    Wednesday, February 8, 2012 8:59 PM