PHP'nin SOAP sınıfını kullanırken WSDL oluşturuluyor?

4 Cevap php

Ben, PHP 5 yerli SOAP sınıfını kullanarak yaşıyorum yerli sınıf hızlıdır NuSOAP değişti olan (ve NuSOAP gelişimi durdurmuş gibi görünmektedir). Ancak PHP 5 SOAP WSDL oluşturmak için yeteneği yoktur.

PHP WSDL üreten herkes deneyim mi? Eğer öyleyse, tercih ettiğiniz yöntemi tavsiye edin.

Teşekkürler.

4 Cevap

Stuart

Sizin veya bir başkasının burada bu soruna bir çözüm arıyorsa ben yaptım.

İlk olsun bu script: http://www.phpclasses.org/browse/download/zip/package/3509/name/php2wsdl-2009-05-15.zip

Sonra onun örnek dosyalarına bakmak. Ben CodeIgniter kullanıyorum çünkü bundan sonra ben sadece bunu gerekli şekilde dilimlenmiş:

function wsdl(){
  error_reporting(0);
  require_once(APPPATH."/libraries/WSDLCreator.php"); //Path to the library
  $test = new WSDLCreator("Webservice", $this->site."/wsdl");
  //$test->includeMethodsDocumentation(false);

  $test->addFile(APPPATH."/controllers/gds.php");

  $test->addURLToClass("GDS", $this->site);

  $test->ignoreMethod(array("GDS"=>"GDS"));
  $test->ignoreMethod(array("GDS"=>"accessCheck"));

  $test->createWSDL();

  $test->printWSDL(true); // print with headers
 }

That it, your all done. Btw, I'm using SoapServer and SoapClient in php5+

Anında bir WSDL oluşturma çok sık olur şey değil - bu hizmetin istikrarı hakkında bir kaç soru yükseltmek eğiliminde olacaktır!

Zend Studio PHP sınıftan bir WSDL oluşturabilir, ve birkaç diğer benzer araçlar vardır.

Dinamik WSDL oluşturmak gerekiyor yoksa, Zend_Soap_AutoDiscover bir göz atın

Zend_Soap_AutoDiscover NuSOAP için iyi bir alternatiftir. Ama, aynı zamanda eğilimli çok karmaşık ve hata olabilir sıfırdan WSDL dosyası oluşturabilirsiniz. Bu süreci kolaylaştırmak için, PHP fonksiyonları için WSDL dosyası oluşturmak ve PHP SoapServer sınıf bir parametre olarak geçirmek için bir IDE kullanabilirsiniz. How to generate wsdl for php native soap class üzerinde tam bir öğretici kontrol

You can try these options:
- https://code.google.com/p/php-wsdl-creator/ (GPLv3)
- https://github.com/piotrooo/wsdl-creator/ (GPLv3)
- http://www.phpclasses.org/package/3509-PHP-Generate-WSDL-from-PHP-classes-code.html (BSD like)

Lisansı projeyi uygun olmadığını İlki en iyi seçenek olabilir.