Мы изучаем варианты создания 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 с учетом наших требований?