Я получил запрос на создание Сервиса для обработки трафика от предварительно настроенного клиента.
В документации указано, что эта служба является службой SOAP, но позже я узнал, что протокол, используемый предварительно разработанным клиентом, - это gSOAP с использованием SOAP 1.2.
Проблема, которую я получаю, заключается в том, что при назначении привязки basicHttpBinding
я получаю ошибку i Action '' not supported
, поскольку клиент не отправляет заголовок SOAPAction
(поскольку он не используется в SOAP 1.2), и если я установил привязку моей службы WCF с wsHttpBinfing
Я получаю ошибку
HTTP/1.1 415
Cannot process the message because the content type 'text/xml; charset=utf-8'
was not the expected type 'application/soap+xml; charset=utf-8'.
Итак, в основном кажется, что клиент gSOAP, который они используют, отправляет структуру SOAP SOAP 1.2, но с Content-Type SOAP 1.1.
Мой вопрос в том, как заставить мою службу WCF обрабатывать запросы от клиента. (Клиент никак не может быть изменен)
Я пробовал настроить customBinding
<customBinding>
<binding name="myCustomBinding">
<textMessageEncoding messageVersion="Soap12" />
<httpTransport/>
</binding>
</customBinding>
с различными значениями messageVersion. Но мне еще предстоит найти комбинацию, которая работает.