Переопределите метод GetWebRequest для переключения HTTP1.1 на 1.0.
Я использую Cisco AXL web service
в .NET
,
Проблема в том, что она не позволяет мне переопределить GetWebRequest
способ изменить версию HTTP.
Я следую за этим документом, который дал мне следующий код для добавления http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/devguide/9_1_1/axl.html
protected override System.Net.WebRequest GetWebRequest(Uri uri)
{
System.Net.HttpWebRequest request = base.GetWebRequest(uri) as System.Net.HttpWebRequest;
request.ProtocolVersion = System.Net.HttpVersion.Version10;
return request;
}
У меня есть этот код внутри класса, который расширяет SoapHttpClientProtocl
, Я гуглил вокруг и нашел людей с такой же проблемой, но не дал четкого ответа, как ее решить. Я надеюсь, что у кого-то есть ответ здесь.
Спасибо!!
1 ответ
Я не совсем уверен, что это исправить, но вот что я сделал,
1.) Я добавил WSDL в качестве справочника по сервису, хотя я использовал wsdl.exe для компиляции API.
2.).NET Framework переключен на 4.5 вместо 4.0 профиля клиента.
3.) Поместите скомпилированный код в каталог проекта, хотя я сделал шаг 1.
4.) Не закомментировано много автоматически сгенерированного кода, который я точно не буду использовать, и отладчик жаловался на ошибку XmlSerializer.
5.) Включил "Просто мой код" из Сервис -> Параметры -> Отладка -> Общие.
6.) переместил часть кода, который Cisco хотел, чтобы мы добавили в отдельные классы, и сделал для них вызовы внутри автоматически сгенерированного кода.
Надеюсь, это поможет кому-нибудь когда-нибудь!!