LINUX.ORG.RU

Php + Apache + SOAP Приём xml в сжатом виде

 , , ,


0

2

Есть приложение на php, с использованием zend фреймворка, для взаимодействия с клиентами использует протокол soap. Клиентская часть на c++, через gsoap. В общем, задача при передаче данных использовать сжатие. С клиентом вроде разобрался, смотрел дампы взаимодействия, похоже на, что сжимает xml перед передачей, всё ок. Только в этом случае сервер возвращает ошибку Invalid XML, что в общем-то не лишено смысла. Вопрос в том, на каком уровне нужно указать, что необходимо разжимать данные перед попыткой их считать? Настройки apache копать или ковырять zend?


Ответ на: комментарий от Infra_HDC

AddOutputFilterByType DEFLATE text/xml

Это я пробовал, и сопутствующие. Но это и не должно по идее работать. Как бы сжимается ответ сервера клиенту, а мне наоборот нужно, чтобы мог распознавать сжатые и на лету их разжимать.

SvSon
() автор топика
Ответ на: комментарий от SvSon

Но это и не должно по идее работать. Как бы сжимается ответ сервера клиенту

Кто тебе сказал? Сходи-ка почитай доки к mod_deflate.

no-such-file ★★★★★
()

Посмотри, что за Request получаешь в Zend. Наверняка, его надо разжать. Можешь создать собственную модель Request'а, который будет использоваться для таких запросов, их, если надо, предварительно разжимая. На Apache, как тут нубы советует, наверное, такое тоже можно, но я бы так не делал. Вдруг сменишь на Nginx и что тогда? :)

anonymous
()
Ответ на: комментарий от anonymous

Спасибо, тоже думал так делать, но не был уверен в правильности подхода. Наверное самым разумным будет.

SvSon
() автор топика
Ответ на: комментарий от anonymous

Да, нужно было лишь немного контроллер подправить, чтобы смотреть используемое сжатие в хедерах пакета и, в случае необходимости, разворачивать. Ну и для обратной передачи я туда же по аналогии впихнул сжатие. Спасибо за совет)

SvSon
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.