Эта ошибка возникает, если веб-служба ожидает какой-либо проверки подлинности, а BizTalk не отправляет учетные данные или другую проверку подлинности. Поэтому вам нужно go на вкладке Безопасность, установить Security mode
на Transport
или TransportCredentialOnly
и выбрать Transport client credential type
. Существует известная проблема с адаптером WCF-WebHttp, где даже когда вы указываете схему аутентификации в Transport client credential type
, она возвращает ошибки, подобные приведенным ниже.
Описание ошибки: System. Net .WebException: HTTP-запрос не авторизован с помощью схемы аутентификации клиента «Согласование» , Заголовок аутентификации, полученный от сервера, был ''.
. HTTP-запрос не авторизован со схемой аутентификации клиента 'Basi c'. Заголовок аутентификации, полученный от сервера, был ''.
HTTP-запрос не авторизован со схемой аутентификации клиента 'Anonymous'. Заголовок аутентификации, полученный от сервера, был ''
. HTTP-запрос не авторизован со схемой аутентификации клиента 'Ntlm'. Заголовок аутентификации, полученный от сервера, был ''.
Это происходит из-за того, что адаптер WCF-WebHttp не отправляет учетные данные превентивно и ожидает, что сервер вернет тип схемы аутентификации, которая является приемлемой, но которая в некоторых серверах / API-интерфейсы возвращаются как пустые, и это приводит к ошибкам. Единственный способ решить эту проблему - с помощью пользовательского EndPointBehavior, который превентивно добавляет в заголовок соответствующие заголовки авторизации.