WCF SecurityNegotiationException при попытке удаленного доступа - PullRequest
0 голосов
/ 08 июля 2010

У меня есть веб-служба WCF, развернутая на IIS 6. Я развернула ее, теперь куплю создание веб-сайта и использую настройки по умолчанию.

Я вижу DNSService.svc? Wsdl в моем веб-браузере, чтобы получить доступ к этому сайту.Но если я делаю WebReference в моем проекте VS и пытаюсь запустить метод WebService, программа запускается в исключении SecurityNegotiationException.Текст сообщения говорит, что что-то вроде вызывающей стороны не может быть аутентифицировано веб-сервисом.Но почему мой доступ ограничен?я не могу установить пароль или ssl или что-то еще

Как я могу изменить поведение веб-службы, чтобы я мог поговорить с ним.

1 Ответ

1 голос
/ 19 августа 2010

Проблема была в типе привязки!wsHTTPBinding работает только в домене.Для использования в Интернете я должен был настроить HTTPBinding так:

<bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IDNSService" closeTimeout="00:01:00"
          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
          useDefaultWebProxy="true">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None"
              realm=""/>
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://MyServer/MyService.svc"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IDNSService"
        contract="ServiceReference1.IDNSService" name="BasicHttpBinding_IDNSService" />
    </client>
  </system.serviceModel>

надеюсь, это может кому-нибудь помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...