2010-03-19 1 views
5

Ich versuche, große XML-Dateien in einen REST-Dienst zu laden ... Ich habe fast alle Methoden auf Stackoverflow auf Google versucht, aber ich kann immer noch nicht herausfinden, wo ich bin falsch gehen .... ich kann keine Datei größer als 64 kb laden ..Hochladen von XML zu WCF REST Service -> 400 Ungültige Anfrage

ich habe die maxRequestLength angegeben:

<httpRuntime maxRequestLength="65536"/> 

und meine Bindung Config ist wie folgt:

<bindings> 
    <webHttpBinding> 
    <binding name="RESTBinding" maxBufferSize="67108864" maxReceivedMessageSize="67108864" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"> 
     <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" 
maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/> 
    </binding> 
    </webHttpBinding> 
</bindings> 

Im mein C# Client-Seite ich folgendes tue:

WebRequest request = HttpWebRequest.Create(@"http://localhost.:2381/RepositoryServices.svc/deviceprofile/AddDdxml"); 

     request.Credentials = new NetworkCredential("blah", "blah"); 
     request.Method = "POST"; 
     request.ContentType = "application/xml"; 
     request.ContentLength = byteArray.LongLength; 


     using (Stream postStream = request.GetRequestStream()) 
     { 
      postStream.Write(byteArray, 0, byteArray.Length); 
     } 

Es gibt keine spezielle Konfiguration auf der Client-Seite getan ...

I Fiedler versucht haben ... Der Kunde eine angemessene Anforderung sendet .. Aber der Server antwortet sofort mit einem 400 ..

+0

@marc_s: Ich habe das gleiche denkt, sondern nach der docs "die maximale Anforderungsgröße [ist] in Kilobyte". http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesektion.maxrequestlength.aspx –

Antwort

0

Für WCF SOAP alles, was ich hatte, war zu tun:

<binding name="uploadFilesBasicHttpBinding" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" receiveTimeout="00:10:10" sendTimeout="00:10:00" openTimeout="00:10:00" closeTimeout="00:10:00"> 
    <readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647"/> 
    <security mode="TransportWithMessageCredential"> 
     <message clientCredentialType="UserName"/> 
    </security> 
    </binding> 
Verwandte Themen