Доброго времени суток. Помогите пожалуйста разобраться в следующей ситуации. Есть CMS Magento, к ней происходит соединенние по SOAP. Я сгенерировал client и использую BasicHttpBinding. В ответе от Magento содержаться сжатые данные т.к. BasicHttpBinding запрос содержит Accept-Encoding, но при попытке распаковать сообщение я получаю исключение:
1.
The CRC in GZip footer does not match the CRC calculated from the decompressed data.
При помощи снифера удалось выяснить что если удалить из заголовка сообщения Accept-Encoding: gzip, deflate то вызов отрабатывает нормально и возвращает данные.
Как удалить этот заголовок в WCF?
Так же я пробовал использовать CustomHttpBinding, но при этом я получаю по SOAP ответ "Invalid api path." - CustomHttpBinding отправляет отличное от BasicHttpBinding тело,
как превратить это тело в такое же как в Basic?
Нужно срочно, пожалуйста помогите, перерыл все форумы ничего не могу найти толкового. Спасибо.
BasicHttpBinding:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
POST http://www.xxx.com/index.php/api/v2_soap/index/ HTTP/1.1
Content-Type: text/xml; charset=utf-8
VsDebuggerCausalityData: uIDPo2WgIzzqP3NFoh8dSqBySAEAAAAAIlS7ppJXIEi6w/ilF8vNVyJ/xJiHyO5PnOMwScAqcGUACQAA
SOAPAction: ""
Host: www.xxx.com
Content-Length: 645
Expect: 100-continue
Accept-Encoding: gzip, deflate
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><salesOrderListRequestParam xmlns="urn:Magento"><sessionId xmlns="">c969499d41f05e30a095e7a1300be889</sessionId><filters xmlns=""><complex_filter><complexObjectArray><key>updated_at</key><value><key>to</key><value>2014-07-23 13:42:55</value></value></complexObjectArray><complexObjectArray><key>updated_at</key><value><key>from</key><value>2014-06-23 13:42:55</value></value></complexObjectArray></complex_filter></filters></salesOrderListRequestParam></s:Body></s:Envelope>
CustomBinding:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
POST http://www.xxx.com/index.php/api/v2_soap/index/ HTTP/1.1
Content-Type: text/xml; charset=utf-8
Accept-Encoding:
SOAPAction: ""
Host: www.xxx.com
Content-Length: 871
Expect: 100-continue
Connection: Keep-Alive
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Header><VsDebuggerCausalityData xmlns="http://schemas.microsoft.com/vstudio/diagnostics/servicemodelsink">uIDPo7ytubyFHgFGor/FURu7090AAAAANlkGeK1pmU2dbZWzBxhRE89ZkA+WYOtEjDr/R5seAbUACQAA</VsDebuggerCausalityData></s:Header><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><salesOrderListRequestParam xmlns="urn:Magento"><sessionId xmlns="">c969499d41f05e30a095e7a1300be889</sessionId><filters xmlns=""><complex_filter><complexObjectArray><key>updated_at</key><value><key>to</key><value>2014-07-23 13:42:55</value></value></complexObjectArray><complexObjectArray><key>updated_at</key><value><key>from</key><value>2014-06-23 13:42:55</value></value></complexObjectArray></complex_filter></filters></salesOrderListRequestParam></s:Body></s:Envelope>