Службы Windows регистрируются либо с именем участника-пользователя, либо с именем участника-службы ( документация ).Процитируем по этой ссылке: « Если служба работает под учетной записью LocalSystem, LocalService или NetworkService, имя участника службы (SPN) создается по умолчанию в форме хоста /, поскольку эти учетные записи имеют доступ к компьютеру.Данные SPN. Если служба работает под другой учетной записью, Windows Communication Foundation (WCF) генерирует UPN в виде @."На самом деле эта цитата довольно похожа на то, что говорится в сообщении об ошибке.Таким образом, кажется, что ...
a) если служба работает под учетной записью локальной службы или аналогичной стандартной учетной записью, то вам необходимо настроить файл конфигурации client , чтобы это было, гдефактическое имя сервера - «адрес», и конечная точка работает на порту 4503:
<identity>
<servicePrincipalName value="host/address:4503" />
</identity>
b) поочередно, если вы работаете под выделенной учетной записью службы (назовем ее «ServiceAccount» в домене »MyDomain "), тогда вы хотите
<identity>
<userPrincipalName value="ServiceAccount@MyDomain" />
</identity>
Обратите внимание, что вам может понадобиться использовать полное доменное имя в обоих случаях, включая уровни Forest и Tree.Для простого домена внутри вашей частной LAN / WAN это будет означать address.MyDomain.local и ServiceAccount@MyDomain.local.Если ваш домен находится в дереве с именем MyTree, то это будет ServiceAccount@MyDomain.MyTree.local;если он находится в лесу с именем MyForest, то это будет Serviceaccount@MyDomain.MyTree.MyForest.local (и аналогично для ServicePrincipalName).Полное имя необходимо , когда вы используете Kerberos для аутентификации.