Какие инструменты для создания SOAP-сервера в PHP? - PullRequest
3 голосов
/ 12 октября 2010

Мы изучаем варианты создания SOAP-веб-сервиса на PHP. У нас есть некоторые требования:

  • Аутентификация через заголовки SOAP
  • HTTPS
  • Точный контроль над XML, используемым в ответе SOAP
  • Хорошая документация и поддержка сообщества.
  • (Необязательно) Поддержка WS Security

Существуют следующие инструменты, предоставляющие такую ​​функциональность:

  • Собственный PHP SoapServer
  • Zend_Soap
  • NuSOAP
  • WSO2 WSF / PHP
  • PEAR :: SOAP

Zend_Soap на самом деле является фреймворком, совместимым с фреймворком для нативной реализации PHP Soap. У нас есть несколько простых тестов, но заголовки SOAP не поддерживаются, и мы не имеем полного контроля над ответом XML. Например, XML-ответ имеет пространство имен в корневом элементе, но не в его дочерних элементах. Довольно раздражает.

NuSoap больше не поддерживается, и я читал, что у него есть некоторые проблемы с соглашениями об именах в PHP 5.3.

WSO2 WSF / PHP использует расширение php, которое должно быть скомпилировано вручную. Существуют некоторые зависимости, и весь процесс компиляции четко не задокументирован. Документация разбросана по всему сайту (иногда устаревшему) и в пакетных загрузках. Упоминается бинарный файл Linux, но нигде не предоставлен для загрузки (по крайней мере, в последних 5/6 выпусках).

Я не очень много знаю о PEAR :: SOAP, но у меня есть некоторый опыт работы с классами PEAR. Обычно они плохо документированы и не улавливают ошибки, из-за чего вы гуглите каждое сообщение об ошибке с разными результатами.

Известны ли вам какие-либо другие инструменты, которые могут помочь мне построить полноценный SOAP-сервер на PHP с учетом наших требований?

Ответы [ 2 ]

1 голос
/ 30 ноября 2010

Если вам нужен WS-Security, тогда WSO2 может быть вашим единственным вариантом.Вы установили все необходимые пакеты (openssl, libxml2) перед компиляцией.Компиляция проста с ./configure, make && make install (у меня не было проблем с 2.1.0 по сравнению с компиляцией).WSO2 предлагает полный контроль над структурой полезной нагрузки XML.

Если вы можете жить без WS-Security, тогда любые другие варианты хороши.Я бы порекомендовал PHP собственную библиотеку SOAP.Он довольно приличный, но не обеспечивает хорошего контроля над XML и не поддерживает автогенерацию WSDL.

1 голос
/ 12 октября 2010

Я не знаю другого. Раньше я всегда использовал PEAR SOAP, но, к сожалению, похоже, он больше не поддерживается. Там вам не нужна документация, она довольно проста в использовании.

Но я бы пошел по пути Zend-SOAP, если бы мне пришлось создавать другой клиент / сервер SOAP, потому что все остальные не устарели.

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