Sprawdziłem kod 400 - BadRequest z ostatnich dwóch godzin. Wiele sugestii dotyczy zapewnienia, że atrybut bindingConfiguration jest ustawiony poprawnie, aw moim przypadku jest.Nie można ustawić maxReceivedMessageSize przez web.config
Teraz potrzebuję twojej pomocy przed zniszczeniem budynku jestem w :-)
uruchomić usługę WCF Restfull (bardzo lekki, korzystając z tego zasobu inspiracji: http://msdn.microsoft.com/en-us/magazine/dd315413.aspx), który (na razie) akceptuje XMLELEMENT (POX) dostarczone przez czasownik POST.
Obecnie używam narzędzia budującego żądania Fiddlera przed wdrożeniem prawdziwego klienta (ponieważ jest to środowisko mieszane).
Gdy robię to dla XML mniejszy niż 65K, działa dobrze - większy, wyrzuca ten wyjątek: Przekroczono maksymalny limit wielkości wiadomości dla wiadomości przychodzących (65536). Aby zwiększyć limit, użyj właściwości MaxReceivedMessageSize na odpowiednim elemencie wiązania.
Oto mój plik web.config (które nawet obejmowały client-tag (rozpaczliwych czasach)!):
<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>
Dzięki z góry za wszelką pomoc, prowadząc do udana rozmowy z> 65K XML; -)
Miałem ten sam problem i pomyślałem, że to może być Fabryka, dzięki za potwierdzenie tego dla mnie. – Alex
Awans, ponieważ to zachowanie jest naprawdę niejasne, a wniosek, że ServiceRoutes nie używa powiązań z Web.Config, nie wydaje się być udokumentowany w żadnym miejscu, ale zdecydowanie wydaje się, że tak jest. –