Я пытаюсь создать сервис, который, как мы надеемся, поглотит третье лицо.
Потребитель совместим с SOAP 1.1, поэтому я использую basicHttpBinding для сервера. Когда выполняется фактический запрос, что-то кажется неправильным в отношении типов контента, ожидаемых сервером. Использование basicHttpBinding Я не понимаю, почему сервер все еще ожидает "application/soap + xml", который, насколько мне известно, требуется только SOAP 1.2.
Я использовал wirehark, чтобы точно выяснить, о чем эти два говорили. См. Поток tcp и настройки ниже.
Любая помощь приветствуется.
Запрос стороннего приложения
POST/HTTP/1.1
SOAPAction: http://tempuri.org/ITestService/Hello
Content-Type: text/xml; кодировка = UTF-8
Хост: shdesktop: 8000
Content-Length: 297
Ожидайте: 100-continue
Соединение: Закрыть
Ответ сервера WCF
HTTP/1.1 415 Не удается обработать потому что тип содержимого "Текст/XML; charset = utf-8 'не был ожидаемый тип 'application/soap + xml; кодировка = UTF-8'.
Content-Length: 0
Сервер: Microsoft-HTTPAPI/2.0
Дата: вт, 09 фев. 2010 14:03:19 GMT
Соединение: закрыть
Конфигурация службы
<system.serviceModel>
<services>
<service behaviorConfiguration="behTestService" name="ConsoleApplication1.TestService">
<endpoint address="" binding="mexHttpBinding" contract="IMetadataExchange" />
<endpoint address="TestService" binding="basicHttpBinding"
contract="ConsoleApplication1.ITestService" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="behTestService">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>