Issues

ZF-6607: Problem with Zend_Soap_Wsdl class loading

Description

{panel} 2) testSettingUnknownStrategyThrowsException(Zend_Soap_WsdlTest) Zend_Loader::include(Zend/Soap/Wsdl/Strategy/UnknownStrategyType.php): failed to open stream: No such file or directory /home/cawa/ZendFramework/svn/framework/branches/release-1.8/library/Zend/Loader.php:83 /home/cawa/ZendFramework/svn/framework/branches/release-1.8/library/Zend/Loader.php:83 /home/cawa/ZendFramework/svn/framework/branches/release-1.8/library/Zend/Loader.php:83 /home/cawa/ZendFramework/svn/framework/branches/release-1.8/library/Zend/Loader/Autoloader.php:443 /home/cawa/ZendFramework/svn/framework/branches/release-1.8/library/Zend/Loader/Autoloader.php:125 /home/cawa/ZendFramework/svn/framework/branches/release-1.8/library/Zend/Soap/Wsdl.php:144 /home/cawa/ZendFramework/svn/framework/branches/release-1.8/library/Zend/Soap/Wsdl.php:100

3) testAddComplexTypeOfNonExistingClassThrowsException(Zend_Soap_Wsdl_ArrayOfTypeComplexStrategyTest) Zend_Loader::include(Zend/Soap/Wsdl/UnknownClass.php): failed to open stream: No such file or directory /home/cawa/ZendFramework/svn/framework/branches/release-1.8/library/Zend/Loader.php:83 /home/cawa/ZendFramework/svn/framework/branches/release-1.8/library/Zend/Loader.php:83 /home/cawa/ZendFramework/svn/framework/branches/release-1.8/library/Zend/Loader.php:83 /home/cawa/ZendFramework/svn/framework/branches/release-1.8/library/Zend/Loader/Autoloader.php:443 /home/cawa/ZendFramework/svn/framework/branches/release-1.8/library/Zend/Loader/Autoloader.php:125 /home/cawa/ZendFramework/svn/framework/branches/release-1.8/library/Zend/Soap/Wsdl/Strategy/ArrayOfTypeComplex.php:55 /home/cawa/ZendFramework/svn/framework/branches/release-1.8/library/Zend/Soap/Wsdl.php:580 {panel}

Comments

This appears to have been corrected with other updates.

Problem still exists.

Problem appears only if full tests suite is passed. It seems some other test doesn't restore Zend_Loader state.

Problem is caused by registered autoload method (Zend_Loader_Autoloader::autoload()).

It tries to include file which doesn't exists. Thus correct behavior (false returned by class_exists() function) is changed to throwing error.

Fixed.

The problem was caused by Zend_LoaderTest setUp()/tearDown() methods - original loaders state wasn't restored.

BTW It illustrates a real problem of using autoloader with class_exist() method.