У меня есть набор служб WCF, размещенных в IIS7.Я нахожусь в процессе перемещения служб в другую папку, чтобы начать указывать версию и среду в URL.Например:
http://myserver/MyServices/ServiceA.svc
Становится:
http://myserver/MyServices/QA/1.1.0/ServiceA.svc
Я настроил новую папку как приложение в IIS и настроил ее для работы в том же пуле приложений службы, который мы использовалииспользовал.Это все работало нормально, я могу перейти к своему URL-адресу .svc и просмотреть WSDL или открыть конечную точку в тестовом клиенте wcf.Тем не менее, при попытке использовать службу я получаю следующую ошибку:
Проверка подлинности не удалось для исходящего сообщения.Ожидаемая идентификация - это «идентификация» (http://schemas.xmlsoap.org/ws/2005/05/identity/right/possessproperty: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn)' для целевой конечной точки 'http://myserver/MyServices/QA/1.1.0/ServiceA.svc'.
Когда я проверяю вывод WSDL, я заметил, что секция идентификации, кажется, покидаетидентификатор пула приложений, который обычно включает в себя:
<Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
<Upn>myappuser@mydomain.local</Upn>
</Identity>
После попытки переразвернуть и перенастроить приложение в IIS, я смог получить удостоверение, отображаемое в метаданных только для некоторых изсервисы. Другие сервисы до сих пор не включают его, что еще более странно, чем раньше. Насколько я могу судить, в исходном стеке и в новом стеке нет никаких различий в конфигурации. В каких проблемах я мог работатьк чему бы привели эти типы проблем с идентичностью?