WCF в WP7 Привязки клиента и службы могут не совпадать - PullRequest
0 голосов
/ 12 декабря 2010

Я создаю и проверяю службу WCF локально, и, конечно, она работает нормально.Я опубликовал на общедоступном хостинг-сайте и перешел на wsdl и, кажется, все в порядке.Но когда я делаю вызов в сервисе с кодом WP7, я получаю сообщение об ошибке с бесполезным сообщением об ошибке.После включения includeExceptionDetailInFaults и трассировки WCF выводится сообщение об ошибке."System.ServiceModel.ProtocolException: Тип контента application / soap + xml; charset = utf-8 был отправлен службе, ожидающей text / xml; charset = utf-8. Привязки клиента и службы могут не совпадать."

Вот некоторые части web.config ...

<behaviors>
  <serviceBehaviors>
    <behavior name="SL_SeeYaThere_WCF.Web.SeeYaThereWCFBehavior">
     <serviceMetadata httpGetEnabled="true" />
     <serviceDebug httpHelpPageEnabled ="true" includeExceptionDetailInFaults="true"  />
    </behavior>
    <!—- other services… -->
  </serviceBehaviors>
</behaviors>

<bindings>
   <basicHttpBinding>
     <!—- there is not a binding for this service should there be? -->
     <!—- other services… -->
   </basicHttpBinding>
</bindings>



<адрес конечной точки =" "inding = "basicHttpBinding" contract = "SL_SeeYaThere_WCF.Web.ISeeYaThereWCF" />
<адрес конечной точки = "mex" binding = "mexHttpBinding" contract = "IMetad"/>

<! —- другие службы… ->

^^.редактор не будет правильно отображать разметку.

Это мой первый опыт работы с WFC, и он мне не понравился.Что я делаю не так?

Спасибо за помощь.

1 Ответ

0 голосов
/ 14 декабря 2010

ОК, нашел проблему.В приложении WP7 есть файл ServicesReferences.clientConfig, который имеет привязки клиента.Существовали две конечные точки для службы WCF, одна для Localhost и одна для общего размещенного адреса.Это должно было произойти, когда я «настраиваю ссылку на службу» с локального хоста на сайт общего хоста.

Я изменил adderss локального хоста на общие хост-адреса, и это работает.

...