Dl
Новичок
Ответ и формирование post запроса в скрипте, вызванном методом post
Добрый вечер!
Не знал, как лучше назвать тему...
Объясню задачу. Есть веб-сервис (SOAP-сервер, скажем server) и клиентский php-скрипт (client), который отвечает на запросы server.
Обмен данными между ними должен происходить по следующей схеме:
server посылает post-запрос на client, client должен сразу послать ответ (client_response) в виде xml, потом произвести некоторые вычисления и в свою очередь сформировать post запрос на server и получить от него ответ (server_response).
Пытаюсь реализовать так:
client_response отдается командой echo, после этого открывается сокет, отправляется запрос на server и читается server_response.
Проблема в том, что client_response не отдается до отработки скрипта, то есть запрос на server происходит раньше отдачи ответа.
Пробовал работу с сокетами заменить curl-ом, результат такой же.
Можно как-то побороть эту проблему? Может можно как-то указать server, что следует закрыть соединение?
Как вариант, можно запросы писать в базу и другим скриптом по таймауту их отправлять. Но это "выход на случай, если выхода нет".
PHP Version 5.2.4, поддержки SOAP нет, PEAR не установлен.
P.S. Задача из области обработки e-commerce-заказов при асинхронных запросах
Добрый вечер!
Не знал, как лучше назвать тему...
Объясню задачу. Есть веб-сервис (SOAP-сервер, скажем server) и клиентский php-скрипт (client), который отвечает на запросы server.
Обмен данными между ними должен происходить по следующей схеме:
server посылает post-запрос на client, client должен сразу послать ответ (client_response) в виде xml, потом произвести некоторые вычисления и в свою очередь сформировать post запрос на server и получить от него ответ (server_response).
Пытаюсь реализовать так:
client_response отдается командой echo, после этого открывается сокет, отправляется запрос на server и читается server_response.
Проблема в том, что client_response не отдается до отработки скрипта, то есть запрос на server происходит раньше отдачи ответа.
Пробовал работу с сокетами заменить curl-ом, результат такой же.
Можно как-то побороть эту проблему? Может можно как-то указать server, что следует закрыть соединение?
Как вариант, можно запросы писать в базу и другим скриптом по таймауту их отправлять. Но это "выход на случай, если выхода нет".
PHP Version 5.2.4, поддержки SOAP нет, PEAR не установлен.
P.S. Задача из области обработки e-commerce-заказов при асинхронных запросах