PHP'nin SoapServer-> kolu () yönteminde hata işleyemez

0 Cevap php

PHP 5.3 kullanan bir WSDL tabanlı SOAP web hizmeti oluşturduk. Ben hizmet işlemek için Zend Framework kullanıyorum, ve sırayla ZF PHP'nin yerleşik SoapServer sınıfının üstüne katmanlı.

SoapUI ile test, ben geçersiz türü (örneğin, bir tamsayı WSDL tarafından tanımlanan zaman bir dize geçen) bir parametre geçirerek boş bir yanıt sonuçlandı keşfetti. Koduna kazma, ben ZF SoapServer-> kolunu () çağırdığında, yürütme bu ölümcül hata ile ölür keşfetti:

Fatal error: SOAP-ERROR: Encoding: Violation of encoding rules

Hata mantıklı, ama beni yaşam için, ben incelikle ele böylece onu yakalamak için nasıl anlamaya olamaz. Benim anlayış kolu () bir istisna atmak gerektiğini, ancak bunun yerine sadece ölüyor olmasıdır.

Gerçekten garip olur Ama nerede burada ....

Kod herhangi bir değişiklik yapmadan SoapUI ile çoklu testler, Koşu, farklı sonuçlar üretir. Çoğu zaman, ben boş bir yanıt olsun, ama bazen, (Ben ne beklediğiniz!) Bir SoapFault geri almak. Ancak, tutarlı değil, ve ben bunu iki şekilde tetikler anlamaya olamaz. Bildiğim kadarıyla söyleyebilirim, ben SoapUI olarak önbelleğe alma özellikleri kapalı, yanı sıra WSDL önbelleğe sahip. Bu SoapUI veya PHP ile bir şey olmadığını bilmiyorum. Ben, tuhaf dediğim gibi.

İlgili, ben bu eski PHP hata buldum:

http://bugs.php.net/36629

bu benim kendi sorunu gibi korkunç geliyor. Ben tüm bu kapsayan PHP belgeleri yanı sıra, ZF için docs, ne yazık ki eksik, çoğunlukla çünkü bu benim mesele olsa da, tamamen ikna değilim. Böylece, çok iyi sadece çok yanlış bir şey yapıyor ve bunu bilmiyor olabilir. Bunun ışığında, ben yakalamak için doğru yolu gösterir ve hataları işlemek basit bir kabuk görmek isteriz. Ama ben orada millet sunmak mümkün olabilecek herhangi bir yardım alacağım.

0 Cevap