"[12 Aug 2:01pm UTC] stig dot woxholt at fotoknudsen dot no
The service works when using a local file.
I did some more tests, and have identified the actual problem.
Its not in the PHP 5.3 release, rather its a "bug" in the Zend
AutoDiscover class provided by Zend.
I assume the reporter also might be using this to generate the WSDL's ?
I guess that in php 5.3 the soap server expects the content length to be
set in the header inorder to parse the complete wsdl, but the
AutoDiscover class does not send this.
By adding header('Content-Length: '.strlen($this->_wsdl->toXML())); to
the handle function in the AutoDiscover class things are working
I'll report the findings on the Zend bugtracker."
Mivel a Zend bugtracker-t sajnos nem érem el, nem tudom, hogy mikorra kerül ez javításra a hivatalos verzióban.
Addig is a legegyszerűbb módja a javításnak, hogy terjesszük ki a Zend_Soap_AutoDiscover osztályt és írjuk felül a handle() függvényt a következő módon:
class My_Soap_AutoDiscover extends Zend_Soap_AutoDiscover
{
/**
* Handle the Request
*
* @param string $request A non-standard request - Not Used
*/
public function handle($request = false)
{
if (!headers_sent()) {
header('Content-Type: text/xml');
header('Content-Length: '.strlen($this->_wsdl->toXML())); // ez a hozzáadott sor
}
$this->_wsdl->dump();
}
}
- sakic blogja
- A hozzászóláshoz be kell jelentkezni
- 1027 megtekintés