Я получил запрос на создание Сервиса для обработки трафика от предварительно спроектированного клиента.
В документации указано, что сервис является сервисом SOAP, но позже я узнал, что протокол, используемый предварительно спроектированным клиентом, - это gSOAP с использованиемSOAP 1.2
Проблема, с которой я сталкиваюсь, заключается в том, что при назначении привязки для basicHttpBinding
я получаю ошибку i Action '' not supported
, поскольку клиент не отправляет заголовок SOAPAction
(так как он не используется в SOAP1.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-Тип SOAP 1.1
Мой вопрос в этом заключается в том, как получить службу WCF для обработки запросов от клиента.(Клиент никак не может быть изменен)
Я попытался настроить customBinding
<customBinding>
<binding name="myCustomBinding">
<textMessageEncoding messageVersion="Soap12" />
<httpTransport/>
</binding>
</customBinding>
с различными значениями messageVersion.Но мне еще предстоит найти комбинацию, которая работает.