ID: 38701 Updated by: [EMAIL PROTECTED] Reported By: chmt at gmx dot net -Status: Assigned +Status: Feedback Bug Type: SOAP related Operating System: Windows 2003 server PHP Version: 5.1.6 Assigned To: dmitry New Comment:
Please correct bug in your WSDL file first. It should contain <complexType name="Play"> <complexContent> <extension base="playout:PlayItem"> instead of <complexType name="Play"> <complexContent> <extension base="PlayItem"> If this doesn't help you, please provide server code or at least SOAP response XML. Previous Comments: ------------------------------------------------------------------------ [2006-09-04 10:01:25] chmt at gmx dot net Makes no difference - unfortunaltely. ------------------------------------------------------------------------ [2006-09-04 08:34:32] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip ------------------------------------------------------------------------ [2006-09-03 15:23:56] chmt at gmx dot net The acutal result of course is (copy and paste error) object(stdClass)#2 (1) { ["item"]=> object(PlayItem)#4 (0) { } } ------------------------------------------------------------------------ [2006-09-03 15:19:32] chmt at gmx dot net Description: ------------ My wsdl based SoapClient returns wrong/empty objects. I tried it with and without a classmap. Nothing helps. The only way to get to my Data seems to be to parse the XML Response by hand. The WSDL can be obtained from here: http://media3.hgkz.ch/PlayerRPC.wsdl Reproduce code: --------------- function createWSDLUrl($url) { return 'http://'.$url.'?wsdl'; } class PlayItem { } class Play extends PlayItem { public $url; public $length; public $x; } $classmap = array('PlayItem'=>'PlayItem', 'Play'=>'Play'); $client = new SoapClient(createWSDLUrl($url), array("location"=>"http://".$url, "connection_timeout" => 5, "uri"=>"urn:Playout", "classmap"=>$classmap); $ret = $client->getItem('localhost:18081', 0, 0); var_dump($ret); Expected result: ---------------- A Play object with valid data Actual result: -------------- A PlayItem object and no way to access the data the webservice delivered. object(PlayItem)#4 (0) { } which is wrong. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=38701&edit=1