Ошибка SQL System.ServiceModel.FaultException, это на их конце? - PullRequest
2 голосов
/ 16 сентября 2010

Таким образом, после вызова метода веб-службы я получаю эту ошибку:

"System.ServiceModel.FaultException`1 [System.ServiceModel.ExceptionDetail]: ошибка, связанная с сетью или экземпляромпроизошла при установлении соединения с SQL Server. Сервер не был найден или был недоступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (Поставщик: поставщик именованных каналов, ошибка: 40 - не удалосьоткрыть соединение с SQL Server) (Сведения об ошибке равны ExceptionDetail, вероятно, созданный IncludeExceptionDetailInFaults = true, значение которого: System.Data.SqlClient.SqlException: при установлении соединения с сетью или применительно к экземпляру произошла ошибкаSQL Server. Сервер не был найден или был недоступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (Поставщик: поставщик именованных каналов, ошибка: 40 - Не удалось открыть подключение к SQL Server.) в System.Data.SqlClient.SqlInternalConnection.Int64 timerExpire, логическое шифрование, логическое trustServerCert, логическое интегрированное безопасное, SqlConnection owningObject) в System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin (ServerInfo serverInfo, Str ...).Сначала я подумал, что это происходит локально, но кто-то ниже указал, что, поскольку ошибка заключена в исключение ServiceModel.FaultException, оно может быть на стороне хоста.Это определенно на их конце?Или есть какие-нибудь возможные способы, которыми это может быть на моем конце?

Посмотрите на комментарии ниже, чтобы узнать, как далеко ушло устранение неполадок ...

Ответы [ 3 ]

2 голосов
/ 17 сентября 2010

Это на стороне обслуживания. Более того, эти парни не следуют основам безопасности и включают в себя подробности внутренних исключений для ошибок мыла.

Используете ли вы транспортный канал на основе HTTP? Если это так, используйте Fiddler, перехватите ошибку SOAP из сервиса и отправьте ее компании в качестве доказательства того, что ошибка на их стороне. Если вы используете другой транспортный канал или шифрование, используйте Регистрация сообщений WCF и снова отправьте зарегистрированное сообщение компании.

1 голос
/ 16 сентября 2010

Служба нормально работает на вашем компьютере разработчика, но не работает, когда она развернута?Может быть, есть разница в брандмауэрах между двумя местоположениями и SQL Server.Из командной строки выводит ли «TELNET YourSqlServer 1433» пустой экран или время ожидания истекает?

Если вы можете убедиться, что служба работает где-то (например, в Visual Studio или вашем устройстве разработки), это где-тодля начала - что отличается между рабочим и нерабочим местоположением?

Если нет, то происходит ли сбой вызова веб-службы сразу с этим сообщением или через 30 секунд?Задержанный сбой указывает на тайм-аут, где вероятен немедленный сбой.

0 голосов
/ 16 сентября 2010

Похоже, вы пытаетесь получить доступ к вашему серверу sql через именованные каналы;Этот протокол позволяет подключаться к серверу sql, только если он находится в той же подсети.Просто измените протокол на tcp.

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