2010-08-19 5 views
3

Я продолжаю получать эту ошибку при подключении к моей веб-службеОшибка идентификации удостоверения WCF

Ошибка идентификации для исходящего сообщения. Ожидаемая идентификация - это идентификатор (http://schemas.xmlsoap.org/ws/2005/05/identity/right/possessproperty: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn) 'для конечной точки' http://qbes:3790/Bullfrog/QBService/QBService '.

Единственный раз, когда я могу заставить его работать, если я установил свою личность на свой адрес электронной почты. Я не знаю, почему это работает, я просто пытался что-то сделать, и это сработало. Но когда я публикую клиентское приложение на своем веб-сервере, идентификатор электронной почты больше не работает, и я получаю ту же ошибку. Что я здесь делаю неправильно? Вот мой раздел конфигурации. Спасибо !!!

<system.serviceModel> 
<bindings> 
    <wsHttpBinding> 
    <binding name="WSHttpBinding_IQBService" closeTimeout="00:01:00" 
     openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
     bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" 
     maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
     messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" 
     allowCookies="false"> 
     <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
      maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
     <reliableSession ordered="true" inactivityTimeout="00:10:00" 
      enabled="false" /> 
     <security mode="Message"> 
     <transport clientCredentialType="Windows" proxyCredentialType="None" 
      realm="" /> 
     <message clientCredentialType="Windows" negotiateServiceCredential="true" 
      algorithmSuite="Default" /> 
     </security> 
    </binding> 
    </wsHttpBinding> 
</bindings> 
<client> 
    <endpoint address="http://QBES:3790/Bullfrog/QBService/QBService" 
     binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IQBService" 
     contract="IQBService" name="WSHttpBinding_IQBService"> 
    <identity> 
     <userPrincipalName value="twaldron.Bullfrogspas" /> 
    </identity> 
    </endpoint> 
</client> 

ответ

4

Конфигурация конечных точек клиент определяет ожидается идентичность службы. Идентификатор имени участника-пользователя проверяет учетную запись пользователя, используемую для запуска службы. Учетная запись должна быть указана в формате UPN, который действительно имеет тот же формат, что и адрес электронной почты: userName @ domain. Я ожидаю, что служба будет запущена под вашей учетной записью пользователя, так что это причина, по которой она работает при вводе вашей электронной почты.

+0

Большое спасибо за разъяснение. поэтому следующая часть моего вопроса такова. Когда я публикую клиента на своем веб-сервере в DMZ, я получаю еще одно сообщение об ошибке: Согласование безопасности SOAP не удалось . Согласование интерфейса поставщика поддержки безопасности (SSPI) не удалось Конечно, это имеет отношение к этому удостоверению. Итак, какие шаги мне нужно предпринять, чтобы заставить этого клиента в dmz поговорить с сервисом. – twal

+0

Ваш DMZ не находится в домене, не так ли? –

+0

Вы правы, что это не в том же домене. – twal

Смежные вопросы