Каков наилучший способ встроить клиент SOAP в плагин WordPress, который можно было бы распространять через репозиторий плагинов WordPress? Лучше всего использовать?
- Мыльный клиент PHP 5.x,
- Клиент Zend Soap,
- Инструментарий NuSoap для PHP,
- Клиент /сервер PEAR SOAP для PHP или
- Какой -то другой клиент SOAP для PHP ?
Более того, зачем рекомендовать тот, который вы делаете? И какие плюсы и минусы у каждого. «Бонусные (кармические) баллы», если у вас есть реальный опыт использования клиента SOAP в широко распространенном плагине. И есть ли разница между вызовом сервера SOAP.NET, сервера SOAP Java или какого-либо другого стека сервера SOAP?
Обратите внимание, что этот вопрос связан с вопросом «Подводные камни при распространении подключаемых модулей, которые обращаются к веб-службам SOAP?» и я также делаю это вики сообщества.
Обновлять
Вот некоторые потенциально полезные ссылки для других, исследующих этот же вопрос:
- Создайте клиент SOAP, используя PHP и NuSoap.
- Мыльный клиент, вызывающий веб-службу.NET
- Использование SOAP с PHP (на Apple.com)
- PHP и веб-сервисы
- Программирование с NuSOAP с использованием WSDL
- Использование Amazon Web Services с PHP и SOAP
- Самый простой PHP-клиент веб-сервиса
- Разработка веб-сервисов SOAP с помощью PHP/C#
- Клиент веб-служб PHP
Я бы абстрагировал конкретную библиотеку SOAP, чтобы позже вы могли добавить поддержку большего количества клиентов. Аналогично тому, как
WP_Http
работает прокси для нескольких реализаций HTTP и выбирается в зависимости от возможностей сервера.Я, должно быть, играл с некоторыми из этих библиотек раньше, но я не помню, с какой именно. В общем, я предпочитаю встроенные модули PHP внешнему коду, потому что они с большей вероятностью будут поддерживаться в актуальном состоянии и не требуют дополнительных накладных расходов (иногда вам нужно загрузить фреймворк, чтобы использовать одну его часть).
Было бы неплохо создать ответ для каждой библиотеки, чтобы мы могли добавить к ним плюсы и минусы. Или этот более общий вопрос лучше подходит для «настоящего» переполнения стека?
Спасибо за ответ. Согласен, хорошо бы абстрагироваться, но не сразу. Я думаю, что нужен достаточный опыт работы с несколькими библиотеками, иначе есть риск нарушить принцип YAGNI. Я спрашивал на StackOverflow, но они обсуждают в абстрактных терминах и не знают ограничений, которые должны учитывать разработчики плагинов WordPress. Кстати, там не особо пригодился. Чего я действительно хочу, так это того, чтобы все клиенты понимали, что у них возникают проблемы с веб-сервисами SOAP и RESTful.
@Mike: Действительно, важное отличие состоит в том, что это для вашего собственного плагина, а не для API, который будут расширять другие? Тогда у вас действительно будет больше свободы изменить свой внутренний код и абстрагироваться позже.