Позволяет ли класс PHP SoapServer передавать большие объемы данных? - PullRequest
0 голосов
/ 23 июня 2010

возможно ли с помощью класса PHP SoapServer передавать данные обратно клиенту по ходу вычислений?

я знаю, что это возможно при использовании ASP.NET

http://msdn.microsoft.com/en-us/library/aa528818.aspx

если нет, то возможно ли это реализовать? насколько я понимаю, мыло php позволяет только моим функциям возвращать большой кусок данных, а после завершения библиотека преобразует его в большое мыльное сообщение ...: - /

спасибо заранее:)

1 Ответ

0 голосов
/ 23 июня 2010

Краткий ответ: это невозможно с классом SoapServer.

Текущая реализация создает результирующий XML-документ, поскольку он проверяет параметры на достоверность (чтобы убедиться, что вы не отправляете сумасшедшие недопустимые параметры SOAP).

Хотя может быть возможно реализовать то, что вы спрашиваете в расширении, я был бы существенным изменением, так как он должен был бы дважды зацикливаться на параметрах, один раз, чтобы проверить на валидность (чтобы они могли выбросить ошибку Soap ), а затем во второй раз выполнить сериализацию для клиента.

Также возможно реализовать это в пользовательском пространстве в вашем PHP-скрипте, но это потребует от вас сериализации всех ваших данных ответов вручную (поскольку встроенный класс не предоставляет вам эту функциональность) , Это неплохой вариант, если вы управляете обеими сторонами запроса (клиентом и сервером), и вам не нужно использовать какие-либо «продвинутые» функции мыла, предоставляемые библиотекой сервера.

Для этого вы просто отправляете стандартный мыльный XML-заголовок, а затем зацикливаете свои данные, преобразуя их в XML, когда вы пишете их непосредственно клиенту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...