Ora ho esaminato il codice 400 - BadRequest per le ultime due ore. Un sacco di suggerimenti per assicurarsi che l'attributo bindingConfiguration sia impostato correttamente, e nel mio caso lo è.Impossibile impostare maxReceivedMessageSize tramite web.config
Ora, ho bisogno del vostro aiuto prima di distruggere l'edificio io sono in :-)
Ho eseguito un servizio WCF restfull (molto leggero, utilizzando questa risorsa per l'ispirazione: http://msdn.microsoft.com/en-us/magazine/dd315413.aspx), che (per ora) accetta un XmlElement (POX) fornito tramite il verbo POST.
Attualmente utilizzo SOLO il builder di richieste di Fiddler prima di implementare un vero client (poiché si tratta di ambienti misti).
Quando faccio questo per XML inferiore a 65K, funziona bene - più grande, genera questa eccezione: La quota massima delle dimensioni dei messaggi per i messaggi in arrivo (65536) è stata superata. Per aumentare la quota, utilizzare la proprietà MaxReceivedMessageSize sull'elemento di collegamento appropriato.
Ecco il mio file web.config (che ho inserito anche il cliente-tag per (tempi disperati)!):
<system.web>
<httpRuntime maxRequestLength="1500000" executionTimeout="180"/>
</system.web>
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" />
</diagnostics>
<bindings>
<webHttpBinding>
<binding name="WebHttpBinding" maxReceivedMessageSize="1500000" maxBufferPoolSize="1500000" maxBufferSize="1500000" closeTimeout="00:03:00" openTimeout="00:03:00" receiveTimeout="00:10:00" sendTimeout="00:03:00">
<readerQuotas maxStringContentLength="1500000" maxArrayLength="1500000" maxBytesPerRead="1500000" />
<security mode="None"/>
</binding>
</webHttpBinding>
</bindings>
<client>
<endpoint address="" binding="webHttpBinding" bindingConfiguration="WebHttpBinding" contract="Commerce.ICatalogue"/>
</client>
<services>
<service behaviorConfiguration="ServiceBehavior" name="Catalogue">
<endpoint address=""
behaviorConfiguration="RestFull"
binding="webHttpBinding"
bindingConfiguration="WebHttpBinding"
contract="Commerce.ICatalogue" />
<!-- endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/-->
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="RestFull">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceDebug httpHelpPageEnabled="true" includeExceptionDetailInFaults="true"/>
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Grazie in anticipo per qualsiasi aiuto che conduce alla chiamata di successo con> 65K XML; -)
Avevo lo stesso problema e ho pensato che potesse essere la fabbrica, grazie per aver confermato questo per me. – Alex
Upvote perché questo comportamento non è chiaro e la conclusione che ServiceRoutes non utilizza i collegamenti da Web.Config non sembra essere documentata da nessuna parte, ma sembra essere il caso. –