как отправить запрос через прокси-сервер веб-службы в виде одного пакета (не разбивать на части) - PullRequest
0 голосов
/ 11 августа 2009

Я пытаюсь использовать веб-сервис через C #. В документации веб-службы говорится, что веб-служба принимает запросы только как один пакет / поток, а не как несколько пакетов.

Кто-нибудь знает, как изменить этот параметр при доступе к веб-службе через веб-ссылку в Visual Studio?

При отправке запроса я получаю ошибку SOAPException «Не удается разобрать входящий запрос», и я полагаю, что именно поэтому.

Спасибо за вашу помощь!

-Стив

1 Ответ

0 голосов
/ 11 августа 2009

Это не будет тривиально, но и не будет слишком сложным (при условии, что вы правильно определили проблему). См. Способы настройки клиентского прокси ASMX . В разделе «Heavy Duty Customization» вы увидите, как переопределить метод GetWebRequest вашего прокси-класса с помощью частичного класса. Предполагая, что ваша веб-ссылка называется «Service1Proxy»:

public partial class Service1Proxy 
{
    protected override WebRequest GetWebRequest(Uri uri)
    {
        HttpWebRequest request = (HttpWebRequest) base.GetWebRequest(uri);
        request.SendChunked = false;
        return request;
    }
}

Я рекомендую вам попробовать это, но я также рекомендую вам установить точку останова после вызова базового GetWebRequest метода. Проверьте, не установлен ли исходный запрос или не установлен флаг SendChunked.

...