簡體   English   中英

將大型xml上載到WCF REST服務 - > 400 Bad request

[英]uploading large xml to WCF REST service -> 400 Bad request

我正在嘗試將大型xml文件上傳到REST服務...我已經嘗試了在谷歌上的stackoverflow上指定的幾乎所有方法,但我仍然無法找到我出錯的地方....我無法上傳大於64 kb的文件!..

我已經指定了maxRequestLength:

<httpRuntime maxRequestLength="65536"/>

我的綁定配置如下:

<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>

在我的C#客戶端,我正在做以下事情:

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);
        }

客戶端沒有特殊配置......

我試過fiddler ...客戶端正在發送一個正確的請求...但服務器立即響應400 ..

得到了我的回答!.... http://forums.asp.net/p/1375070/2887691.aspx ..... p !, ....花了2天的時間!

對於WCF SOAP,我所要做的就是:

 <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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM