Pull to refresh

Comments 23

UFO just landed and posted this here
вы только забыли осветить один очень важный момент. в PHP пользуясь soap'ом нужно не забывать о кодировании передаваемых переменных. SoapVar в помощь!
Эх… Клевая штука этот SOAP. Спасибо за статью :-)
Сталкивался с некоторыми граблями на серверах когда делал SOAP сервисы (php5 -> php5), в частности если в php все что не пустое приводится к true, а пустое к false (0, пустая строка и т.д.), в соапе 1 это может вызвать ошибку(сталкивался на некоторых серверах). Надо точно соблюдать типы и значения передаваемых параметров.
Если кто будет работать с веб-сервисами на основе NTLM Authentication, то могут быть проблемы, решение которых описано в этом примере.
вопрос. У кого получилось на php с ипользованием soap оправить запрос c document style?
p.s. с rpc style все хорошо работает.
В Zend_Soap имхо пока не очень все хорошо. По крайней мере мне клиента для адвордсов через него написать не удалось, пришлось raw soap экстеншн заюзать.
Кратенько, конечно, но с другой стороны — больше обычно и не нужно.
Мне сейчас приходится общаться со службой FedEx посредством SOAP — просто сказка.
Раньше это делалось какими-то шаманствами на апплетах.

А уж то, что веб-сервис по тому же самому SOAP довольно быстро отдает и большие объемы данных
(например, PDF-файл), вообще супер!
> Под windows это делается просто – необходимо дописать (именно дописать, так как эта строка там не просто закомментирована,
> она отсутствует вообще) в php.ini:
> extension=php_soap.dll
Под Линуксом не сложнее, добавить (или раскоментировать)
extension=soap.so
и перезапустить сервер.
Разве, что в разных дистрибутивах php-модули могут не установлены, тогда менеджер пакетов вам в руки
В заголовке наверное надо исправить: Работа с веб-сервИСами
У SOAP хорошие перспективы, я считаю. :)
хзхз я SOAP ненавижу и люблю REST тем более что у soap'а эти wsdl файлы бывают несколькомеговые, гонять их кешировать. Гемор еще тот.
PHP их сам кэширует, достаточно только включить кэширование в конфигурационном файле php.ini

REST и SOAP, отнюдь, не одно и то же. У REST даже спецификации нет.
А вообще для web-сервисов больше, по-моему, подходит xml-rpc — он проще для понимания и легковеснее. Только вот extension для php еще не stable, но у меня нареканий пока не вызвал.
я в курсе про кеширование. но с некоторыми вебсервисами это работы не упрощает.
согласен, xml-rpc намного легковеснее.
+ soap неудобно дебажить (про trace я конечно тоже в курсе :) )
>Не буду останавливаться на вопросе, что такое веб-сервисы и зачем они нужны. В сети очень много статей на эту >тему.

Статей с примерами о том, как получать курс валют посредством SOAP клиента на php еще больше.
клиент — это просто, а вот сервер — гораздо интереснее. Было бы интересно, почитать статью про создания сервера веб-сервиса, организованного на PHP, а также проблемы, которые могут возникнуть в процессе создания
Вставлю и свои пять копеек. С веб-сервисами работаю уже около 2-х лет (продакшена). Используем не soap а xml-rpc, благо оно нативно встроено в python.

Основные применения:
* Демон реализующий основной функционал (работа с БД, сессиями и т.п.) и морда на php. Два отдельных проекта, следовательно над реализацией работают две группы параллельно.
* Единая точка входа (например статистика) от разных проектов.

В общем, отношение такое, что вроде по-началу легко функционал пишется, но вот при апдейтах продакшена требуется долго гонять на тестах.
Кириллические кавычки («») в коде нужно заменить на обычные ("")
Sign up to leave a comment.

Articles