2012-05-24 2 views
3

Я читал где-то здесь, в stackoverflow, что использование NuSoap не является хорошей идеей и ее мертвой. Если да, то каково наилучшее возможное решение для создания файлов WSDL. Я был просто nusoap только для создания файлов wsdl, и я никогда не получал работу webserviceИспользует PHP NuSOAP плохую идею?

ответ

1

Если вы работаете с PHP4, это может быть ваша единственная альтернатива.

С помощью PHP5 вы можете использовать Zend Soap. http://framework.zend.com/manual/en/

+0

Я не хочу использовать другую Framework, поскольку все функции были созданы. Мне просто нужно что-то твердое, чтобы построить WSDL. Спасибо за быстрый ответ – Indy

+0

Какие рамки вы используете? Например, с Symfony вы можете легко интегрировать Zend. – Anas

+0

Я не использую никаких фреймворков. – Indy

1

Я использую Nusoap с php 5.2.5. Отлично работает для меня. Но я никогда не тестировал его с более высокой скоростью.

3

NuSOAP больше не разрабатывается и не использовался какое-то время.

Я рассмотрел большинство вариантов PHP Soap и решил установить Zend_Soap_Server, в частности, из-за его компонента AutoDiscovery.

Главное в AutoDiscovery заключается в том, что WSDL генерируется из докблоков в вашем коде. Поэтому, пока вы выполняете правильные соглашения, компонент будет создавать хорошо сформированный WSDL для вас.

Если вы не хотите использовать фреймворк, вы можете просто включить файлы Server.php, AutoDiscover.php и Wsdl.php. Я делаю это так:

require_once 'Zend/Loader.php'; 
    require_once "Zend/Loader/Autoloader.php"; 

    $autoloader = Zend_Loader_Autoloader::getInstance(); 

    Zend_Loader::loadClass('Zend_Soap_Server'); 
    Zend_Loader::loadClass('Zend_Soap_AutoDiscover'); 
    Zend_Loader::loadClass('Zend_Soap_Wsdl'); 

Стоит также помнить, что в одиночку AutoDiscovery не является сервером SOAP, он просто создает свой WSDL. Поэтому теоретически вы могли бы использовать его для создания WSDL, но использовать другой SOAP-сервер, если хотите, например, собственный PHP-файл (который не создает WSDL). Однако, поскольку вы загрузите Zend Soap Server, кажется немного расточительным, чтобы не использовать его IMO.

+0

Я согласен с вами. В то же время в php 5 есть встроенная поддержка для написания мыльных серверов и клиентов с поддержкой спецификаций SOAP 1.1 и SOAP 1.2 и WSDL 1.1 нет возможности автоматически генерировать wsdl-документ, если вы попробуете? wsdl на вашем сервере, который он утверждает: «SOAP-ENV: генерация ServerWSDL еще не поддерживается». – sandino

0

Точно так же, как MacMan, я использую php 5.2.17, и он работает отлично, легко, что родной PHP SOAP, я думаю.

Смежные вопросы