System.IO.IOException: рукопожатие не удалось из-за непредвиденного> формата пакета? - PullRequest
22 голосов
/ 03 марта 2011

Кто-нибудь знает, что это значит?

System.Net.WebException: базовое соединение было закрыто: неожиданная ошибка произошла при отправке. ---> System.IO.IOException: рукопожатие не удалось из-за неожиданного формат пакета. в System.Net.Security.SslState.StartReadFrame (байт [] буфер, Int32 readBytes, AsyncProtocolRequest asyncRequest) в System.Net.Security.SslState.StartReceiveBlob (байт [] буфер, AsyncProtocolRequest asyncRequest) в System.Net.Security.SslState.CheckCompletionBeforeNextReceive (ProtocolToken сообщение, AsyncProtocolRequest asyncRequest) в System.Net.Security.SslState.StartSendBlob (байт [] входящий, подсчет Int32, AsyncProtocolRequest asyncRequest) в System.Net.Security.SslState.ForceAuthentication (Boolean receiveFirst, буфер Byte [], AsyncProtocolRequest asyncRequest) в System.Net.Security.SslState.ProcessAuthentication (LazyAsyncResult lazyResult) в System.Net.TlsStream.CallProcessAuthentication (Объект состояние) в System.Threading.ExecutionContext.runTryCode (Объект userData) в System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup (TryCode код, CleanupCode backoutCode, Object userData) в System.Threading.ExecutionContext.RunInternal (ExecutionContext executeContext, ContextCallback обратный вызов, состояние объекта) в System.Threading.ExecutionContext.Run (ExecutionContext executeContext, ContextCallback обратный вызов, состояние объекта) в System.Net.TlsStream.ProcessAuthentication (LazyAsyncResult результат) в System.Net.TlsStream.Write (байт [] буфер, смещение Int32, размер Int32) в System.Net.PooledStream.Write (байт [] буфер, смещение Int32, размер Int32) в System.Net.ConnectStream.WriteHeaders (Boolean async) --- конец внутреннего исключения трассировка стека --- в System.Net.HttpWebRequest.GetResponse () в System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply (TimeSpan тайм-аут) на

EDIT:

Это метод, который я вызывал:

_productsService = new ProductsPortTypeClient (); _productsService.GetResortProducts (GetProductsCredentials (), GetResortProductParams ());

Ответы [ 3 ]

28 голосов
/ 03 марта 2011

Это похоже на проблему с аутентификацией SSL, она терпит неудачу на этапе рукопожатия, возможно, две реализации несовместимы, вы можете проверить формат ответа WSDL, выяснить, какой формат следует использовать для связи, и проверить, отправили ли один из них.если вы соблюдаете его (вы можете использовать любое программное обеспечение для сетевого монитора, например, Microsoft Network Monitor)

3 голосов
/ 03 июня 2016

В моем случае это был Skype, блокирующий 443 порт. Перейдите в Skype tools-advanced-connections и отключите «Использовать порт 80 и 443 для подключений ...»

2 голосов
/ 15 марта 2018

сводка: использовался неверный порт.

Мой сервис работал в разработке на порту: 58328, но в следующий раз, когда я отлаживал, он работал на порту: 44315, и это вызвало проблему. Так что изменение порта на стороне клиента на 44315 помогло решить проблему!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...