загрузка большого xml в службу WCF REST -> 400 неправильных запросов - PullRequest
5 голосов
/ 19 марта 2010

Я пытаюсь загрузить большие XML-файлы в службу REST ... Я перепробовал почти все методы, указанные в stackoverflow в Google, но я до сих пор не могу выяснить, в чем проблема ... чем 64 кб! ..

Я указал 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 ..

Ответы [ 2 ]

8 голосов
/ 19 марта 2010

Получил мой ответ! .... http://forums.asp.net/p/1375070/2887691.aspx.....phew!....spent Через 2 дня!

0 голосов
/ 14 ноября 2011

Для 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...