$server = new SoapServer($this->_wsdl, $options);in Zend_Soap_Server::_getSoap().
If I request the WSDL, the server sends it back properly on BOTH environments.
I enabled the SOAP server on PHP the same way on testing and production environments (both Linux Debian 1.6.x):
extension=php_soap.so [soap] soap.wsdl_cache_enabled=0Any idea? Here is the controller action:
public function importAction() { $this->_helper->ViewRenderer->setNoRender(); $this->_helper->layout->disableLayout(); $uri = 'http://' . $_SERVER['HTTP_HOST'] . '/shipment/import?wsdl'; if (isset($_GET['wsdl'])) { $wsdl = new Zend_Soap_AutoDiscover(); // The default URI is set to // 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'] // which is exactly what we want. No need to specify it. $wsdl->setClass('ShipmentSynchronization'); $wsdl->handle(); } else { $server = new Zend_Soap_Server($uri, array('soap_version' => SOAP_1_2)); $server->setClass('ShipmentSynchronization'); $server->handle(); } }And here is the service class skeleton:
class ShipmentSynchronization { /** * Send a flat table resulting of an inner join between... * @return string The shipments, containers and references. */ public function getData() { // ... } /** * Transfer data from temporary table into history table after... * @param string $data * @return boolean Dummy value without which WinDev is unable to build its SOAP client */ public function acknowledgeData($data) { // ... } }
Guillaume ORIOL
Sofware architect
Technema
Sofware architect
Technema
View this message in context: Zend_Soap_Server not working on a production environment
Sent from the Zend Web Services mailing list archive at Nabble.com.
没有评论:
发表评论