2012-01-16 3 views
0

У меня есть набор служб WCF, размещенных в IIS7. Я перемещаю службы в другую папку, чтобы начать указывать версию и среду в URL-адресе. Например:Проблемы с проверкой личности в службе IIS Hosted WCF

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>[email protected]</Upn> 
</Identity> 

После попытки перераспределить и перенастроить приложение в IIS, я смог получить идентификатор, который появляется в метаданных только для некоторых сервисов. Другие службы по-прежнему не включают его, что еще более странно, чем раньше. Насколько я могу судить, нулевые различия в конфигурации между исходным стеком и новым стеком в IIS. Какие проблемы я могу использовать для решения этих проблем?

+0

Привет, Майк, эта статья выглядит полезной. http://msdn.microsoft.com/en-us/library/ms733130.aspx. Любая вероятность того, что возникнет проблема с конфигурацией пула приложений? Является ли она самой утилитой, также, она работает под учетной записью системы или нет? –

ответ

0

Проблема была вызвана попыткой вложить новое веб-приложение стека служб внутри существующего веб-приложения стека. Я думаю, что это, возможно, вызвало некоторую путаницу для IIS, когда службы в суб-приложении подвергали конечные точки тем же контрактам, что и корневое веб-приложение (хотя теоретически это должно работать очень хорошо). Мне просто пришлось переместить новый стек службы в отдельную структуру папок. Как только я это сделал, у меня не было проблем с тем, чтобы идентификатор пула приложений отображался в метаданных.