Как создать WSDL с использованием мыла Zend - PullRequest
1 голос
/ 13 января 2011

Я пытаюсь сгенерировать файл wsdl, используя класс автообнаружения из среды Zend. Полученное определение, кажется, не становится доступным, а последующая функциональность не работает.

Ниже приведен код, который я использую ...

<?php

/**
 * Returns Hello World as a string.
 *
 * @return string
 */
 function hello( )
 {
  return "Hello World";
 }


 if( isset( $_GET['wsdl'] ) )
 {
  $autodiscover = new Zend_Soap_AutoDiscover();
  $autodiscover->addFunction( 'hello' );
  $autodiscover->handle();
 }
 else if( isset( $_GET['client'] ) )
 {
  $client = new Zend_Soap_Client( "http://localhost/service.php" );
  echo $client->hello();
 }
 else
 {
  $server = new Zend_Soap_Server( "http://localhost/service.php?wsdl" );
  $server->addFunction( 'hello' );
  $server->handle();
 }

?>

Это все время молча проваливается, вызов http://localhost/service.php?wsdl просто умирает и не генерирует определения WSDL. Может кто-нибудь, пожалуйста, дайте мне представление о том, что я делаю неправильно:)

Большое спасибо

Ответы [ 3 ]

2 голосов
/ 27 января 2011

Я попробовал опубликованный вами код, кроме того, что добавил: require('Zend/Soap/AutoDiscover.php'); Это сработало.

1 голос
/ 13 января 2011

Попробуйте добавить docblocking в функцию hello.генератор WSDL использует его для создания правильного файла WSDL.http://framework.zend.com/manual/en/zend.soap.autodiscovery.html См. Важные примечания в этой ссылке.

0 голосов
/ 06 мая 2011

Да, вам не хватает require ('Zend / Soap / AutoDiscover.php');и все.

...