Я создал службу WCF с поддержкой Silverlight, используя пользовательскую привязку для передачи двоичных сообщений в соответствии с инструкциями.
Я смог вызвать эту службу через https из эмулятора телефона, добавив запись httpsTransport и установив Verisign CA на свой локальный экземпляр IIS. Пока все хорошо.
Я добавил запись безопасности в привязку и учетные данные службы в поведение, чтобы использовать пользовательский класс. Этот класс обслуживания и пользовательский класс работают нормально из модульного теста, когда через клиентский прокси передается действительная пара имя пользователя / пароль.
Когда я делаю то же самое с эмулятора WP7, я получаю «MessageSecurityException».
Мой сервисный конфиг ниже. Любые идеи или указатели о том, как отладить? Спасибо ...
<system.serviceModel>
<bindings>
<customBinding>
<binding name="SimpleService.Simple.customBinding0">
<security authenticationMode="UserNameOverTransport"/>
<binaryMessageEncoding />
<httpsTransport/>
</binding>
</customBinding>
</bindings>
<services>
<service name="SimpleService.Simple">
<endpoint address="" binding="customBinding" bindingConfiguration="SimpleService.Simple.customBinding0"
contract="SimpleService.Simple" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceCredentials>
<userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="SimpleService.MyValidator,SimpleService"/>
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
Еще раз спасибо ..