Я использую nusoap lib с приложением cakephp для целей устаревания/совместимости, мне просто интересно, нужно ли вообще создавать экземпляр nusoap_server, я не могу понять какой-либо очевидной причины для этого, когда я могу просто выводить любые данные, отформатированные как xml nilly willy, без создания экземпляра сервера - возможно, это только для целей отладки?Необходимо ли создать экземпляр «SOAP-сервера»?
ответ
(я никогда не использовал nuSOAP
, но я предполагаю, что это совершенно так же, как PEAR::SOAP
, родной SoapServer
расширения и Zend_Soap
)
Ваш экземпляр сервера будет:
- синтаксического анализа XML-данные SOAP, полученные вашим приложением, и отправить его в нужный класс/метод
- инкапсулировать возврат этого метода в SOAP XML
Учитывая, насколько сложным является формат SOAP, я бы определенно не хотел его самостоятельно анализировать, и я бы не хотел перестроить некоторую строку SOAP, особенно если библиотека, которая может сделать это для меня, уже существует!
Это зависит от того, выполняете ли вы SOAP-вызовы или получаете вызовы SOAP.
Чтобы сделать их, вам нужно создать соответствующий клиент экземпляр, чтобы сделать обработку WDSL и ассемблировать XML.
Чтобы получить их, вам нужно создать сервер экземпляр и сказать ему, как направить различные вызовы.
Для вашего приложения вполне разумно только сделать один из них.
im, просто пытаясь окутать голову, почему мне нужно использовать SOAP (или почему мои старшие разработчики говорят, что я должен), почему бы просто не вывести xml на основе URL, например REST, SOAP, похоже, слишком сложно ... – brndnmg
SOAP - это протокол абзаца сообщений/RPC. Из-за этого это кажется большим и тяжелым. Если вы вписываетесь в среду, в которой уже используется SOAP, у вас действительно мало выбора. Кроме того, реализация SOAP на некоторых других платформах довольно проста и поэтому имеет тенденцию быть очевидным выбором. PHP, тем не менее, занимает немного больше подхода бит-n-штук, что делает его немного сложнее. – staticsan