Issues

ZF-12190: Zend_Soap_AutoDiscover shows stranger behavior after migration on productive server

Issue Type: Bug Created: 2012-05-08T14:49:04.000+0000 Last Updated: 2012-10-29T21:42:30.000+0000 Status: Open Fix version(s): Reporter: Andre Flathmann (anfla) Assignee: Alexander Veremyev (alexander) Tags: - Zend_Soap_Wsdl

Related issues: Attachments:

Description

First of all: On my local installation, the WSDL shows all datatypes correct by their type: xsd:string, xsd:int, soap-enc:Array, and so on..! On my webserver, the WSDL shows ALL datatypes as xsd:anyType..!

My Soap-Client, which I use to test the functionality, doesn't show any results of my calls. There are no errors and even the easiest data dumps aren't displayed.

The configuration of my webserver and my local server are almost identical. I'm using, in both cases, lighttpd as server.

PHP version local: 5.3.5 PHP version productive: 5.3.2

Comments

Posted by Andre Flathmann (anfla) on 2012-05-09T07:10:54.000+0000

Small update: The methods of my webservice DO work. I let them write some textfiles on my server. But none of them returns any data. I assume it's because of the wrong data types inside of my wsdl. (As said in my first post) But I can't explain how it's possible, that my webserver can't identify any data type. It makes no sense to me.

Posted by Andre Flathmann (anfla) on 2012-05-09T08:16:40.000+0000

I was able to fix the problem with the incorrect data types. My webserver used eAccelerator, which doesn't work well with Zend_Soap_AutoDiscover. But my main problem remains: My webservice methods still don't return any values if I call them on my webserver. (Doesn't matter where they are called from)

Posted by Andre Flathmann (anfla) on 2012-05-09T11:30:24.000+0000

Resolved.. I needed to filter the file with ini_set(). Disabling eAccelerator didn't work.

Posted by Adam Lundrigan (adamlundrigan) on 2012-05-09T12:32:43.000+0000

Could you explain how ini_set fixed your problem, so future visitors can learn from your experience?

Posted by Christoph Roensch (croensch) on 2012-10-29T21:42:30.000+0000

Had that too long time ago. eAccelerator makes reflection blind to what you have documented on your server class. Still you can disable it on a script basis before including your server class. To use the manual as an example:

<pre class="highlight">
/**
 * disable eAccelerator when installed
 */
if (ini_get('eaccelerator.enable')) {
    ini_set('eaccelerator.enable', 0);
}
/**
 * include 'My_SoapServer_Class' or let the autoloader include it
 */ 
$autodiscover = new Zend_Soap_AutoDiscover();
$autodiscover->setClass('My_SoapServer_Class');
$autodiscover->handle();

Have you found an issue?

See the Overview section for more details.

Copyright

© 2006-2016 by Zend, a Rogue Wave Company. Made with by awesome contributors.

This website is built using zend-expressive and it runs on PHP 7.

Contacts