HTTP 413-Request Entity Too Large In Self-Hosting WCF-Dienst
Habe ich eine self-hosting von WCF-service-Annahme-Nachrichten über HTTPS.
Eine Nachricht gesendet wird, eine Java-Anwendung, die die Antwort empfängt:
HTTP/1.1 413 Request Entity Too Large
Content-Length: 0
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 19 Sep 2012 09:05:34 GMT
Connection: close
Ich versuche nicht, um eine Datei hochzuladen, schicken Sie einfach eine XML/SOAP-Nachricht, die 78kb. Ich habe versucht, steigerten meine max Meldung-und buffer-Größen, aber ohne Erfolg.
<binding name="SecuredNoProxy" openTimeout="00:00:10" sendTimeout="00:00:10">
<textMessageEncoding messageVersion="Soap11WSAddressing10" />
<security includeTimestamp="true" enableUnsecuredResponse="true">
<localClientSettings timestampValidityDuration="00:15:00" />
</security>
<httpsTransport manualAddressing="false" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" allowCookies="false" bypassProxyOnLocal="true" decompressionEnabled="true" hostNameComparisonMode="StrongWildcard" keepAliveEnabled="true" realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false" useDefaultWebProxy="false" requireClientCertificate="true" />
</binding>
Bitte lassen Sie mich wissen, wenn ich kann, liefern keine zusätzlichen Informationen.
WCF-Trace-Protokoll
Empfangen von bytes über die Verbindung 'https://localhost'
Aktivität-Grenze (Start)
Verbindung Informationen
Werfen eine Ausnahme (Fehler)
Ausnahme ist:
System.ServiceModel.ProtocolException, System.ServiceModel, Version=4.0.0.0, Culture=neutral
- Aktivieren Sie WCF-Tracing um zu sehen, ob die Nachricht verarbeitet wird, die von WCF oder nicht. Die Nachricht sieht aus wie Ihre Herkunft aus den HTTP-host-Komponente, nicht die WCF-Sanitär.
- Ich habe die WCF-trace-log-Informationen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als ich nicht in Frage, das ist sehr viel im Zusammenhang mit dem binding-Konfigurationen. Insbesondere maxReceivedMessageSize.
Dies ist der richtige Bereich zu ändern (wahrscheinlich nicht zu machen, was wirklich so groß, obwohl, wie es verlassen werden Sie möglicherweise anfällig für denial-of-service-Angriffe). Bestimmen Sie einen sinnvollen Wert auf Basis Ihrer tatsächlichen Nachrichten.
Der ausgehende Endpunkt war korrekt konfiguriert, aber die inbound-endpoint-war nicht - es war:
Was bedeutete, es wurde mit dem Standardwert von
65536
, das ist nicht genug, damit die Nachricht gesendet wird. So ist es wirklich ein Fall der überprüfung der Endpunkte wirklich vorsichtig, vor allem, wenn Sie ähnliche Namen haben.War es für mich maxRequestLength unter system.web: