Неспособный отладить сервисное сообщение WCF

Вступление в организацию и выход из нее не окажут влияния на экземпляры EC2 или другие ресурсы в учетной записи.

Есть два вида организаций. Консолидированный биллинг и полные возможности.

В организации Consolidated Billing основная учетная запись оплачивает все учетные записи участников (например, ваши) в организации. Основная учетная запись также может видеть платежные данные (например, потребление услуг) для всех учетных записей участников. Однако основная учетная запись не имеет доступа к ресурсам учетных записей участников.

В организации с полным набором функций основная учетная запись оплачивает счета (например, Организация консолидированных счетов), но также имеет административный доступ к учетным записям участников через роль IAM между учетными записями. Основная учетная запись может использовать эту роль для получения полного административного доступа ко всем ресурсам учетной записи участника.

Кроме того, организация с полным набором функций может применять политики управления службами к учетным записям участников, которые ограничивают доступ этих учетных записей к службам и API-интерфейсам AWS.

Учетная запись участника может принадлежать только одной организации одновременно. Аккаунт участника может покинуть организацию в любое время. Основная учетная запись может удалить учетные записи участников из организации в любое время.

31
задан Frode Lillerud 24 November 2008 в 21:30
поделиться

6 ответов

В моем случае проблема оказалась в несоответствии настроек безопасности на клиенте и сервере. Я использовал такую ​​настраиваемую привязку:

<customBinding>
    <binding name="AuthorisedBinaryHttpsBinding" receiveTimeout="00:03:00" sendTimeout="00:03:00">
      <!-- this next element caused the problem: -->
      <security authenticationMode="UserNameOverTransport">
      </security>
      <binaryMessageEncoding>
        <readerQuotas maxDepth="100" maxStringContentLength="1000000"
          maxArrayLength="655360000" />
      </binaryMessageEncoding>
      <httpsTransport />
    </binding>
  </customBinding>

Когда я удалил элемент безопасности, который я выделил выше, проблема с сообщением «Невозможно автоматически отладить» исчезла.

Чтобы решить эту проблему, я сначала включил трассировку WCF . Это показало мне, что WCF генерировал исключение MessageSecurityException :

Процессор безопасности не смог найти заголовок безопасности в сообщении. Эта может быть потому, что сообщение незащищенная неисправность или из-за обязательное несоответствие между общающиеся стороны. Это может происходит, если служба настроена для безопасность и клиент не использует безопасность.

Это заставило меня взглянуть на настройки привязки на стороне клиента. Оказалось, что я не добавил туда необходимый элемент безопасности в свою пользовательскую привязку. Поскольку я делал это с помощью кода, мне понадобилось следующее (обратите внимание на 3-ю строку):

  var binding = new CustomBinding(
      binaryEncoding,
      SecurityBindingElement.CreateUserNameOverTransportBindingElement(),
      new HttpsTransportBindingElement { MaxReceivedMessageSize = MaxMessageSize, });

Что касается того, почему Visual Studio показывала эту ошибку, я понятия не имею - кажется мне ошибкой.

13
ответ дан 27 November 2019 в 22:01
поделиться

Вы попробовали

    <serviceBehaviors>

  <serviceDebug includeExceptionDetailInFaults="true"/>
            </behavior>
        </serviceBehaviors>

Для отладки целей?

Редактирование: nevermind, я думаю, что неправильно понял вопрос

0
ответ дан 27 November 2019 в 22:01
поделиться

У меня была подобная проблема, и это, оказывается, произошло из-за аутентификации Windows, не включаемой на сайте/виртуальном каталоге IIS.

Вы попытались установить режим аутентификации на Интегрированный вместо Анонимного? http://msdn.microsoft.com/en-us/library/x8a5axew (По сравнению с 80) .aspx

0
ответ дан 27 November 2019 в 22:01
поделиться

Добавьте эту строку кода после создания сервисной ссылки в клиенте.

MyWCFService.IService _proxy = new MyWCFService.IService();
_proxy.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
-1
ответ дан 27 November 2019 в 22:01
поделиться

I was fighting with this exact same error for over an hour and low and behold I restarted VS2008 and it magically fixed itself. Give it a try as it might save you some time.

39
ответ дан 27 November 2019 в 22:01
поделиться

Другая причина, по которой вы можете увидеть эту ошибку (и я полагаю, что это относится ко мне), заключается в том, что вы работаете в 64-разрядной Windows. По-видимому, Visual Studio не поддерживает отладчик x64.

Эту можно обойти, изменив целевой объект платформы для потребляющего приложения:

Свойства проекта -> Построить -> Измените "Целевой объект платформы" на "x86".

К сожалению, это не сработает для меня, так как я пытаюсь работать в Windows Azure Development AppFabric, который, кажется, требует, чтобы все работало в 64-разрядном режиме!

6
ответ дан 27 November 2019 в 22:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: