#40922 [Opn->Asn]: parse_packet_soap does not decode objects properties from local message schema

From: Date: Tue, 03 Apr 2007 18:50:55 +0000
Subject: #40922 [Opn->Asn]: parse_packet_soap does not decode objects properties from local message schema
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-111060@lists.php.net to get a copy of this message
ID: 40922 Updated by: tony2001@php.net Reported By: php dot ajr at vitalphone dot net -Status: Open +Status: Assigned -Bug Type: SOAP related +Bug Type: Feature/Change Request Operating System: Mandriva Linux 2007.0 PHP Version: 5.1.6 -Assigned To: +Assigned To: dmitry Previous Comments: ------------------------------------------------------------------------ [2007-03-31 16:10:48] php dot ajr at vitalphone dot net Best category about this bug or featur ------------------------------------------------------------------------ [2007-03-26 15:00:43] php dot ajr at vitalphone dot net Removed version at the first time. ------------------------------------------------------------------------ [2007-03-26 14:42:11] php dot ajr at vitalphone dot net Description: ------------ Hi, Our script are using PHP5/SOAP functionality. It interoperates with .Net Webservices. The server WSDL does not content the description of object properties. The Microsoft Server return the XML Schema for the object properties into the response with the data in the "Diffgr" contener like : <xs:element name="InfoEligibilite"> -<xs:complexType> --<xs:sequence> ---<xs:element name="offercode" type="xs:string"/> ---<xs:element name="bandwidthadsl1" type="xs:string"/> ---<xs:element name="bandwidthadsl2plus" type="xs:string"/> ---<xs:element name="upload" type="xs:string"/> ---<xs:element name="accesstype" type="xs:string"/> --</xs:sequence> -</xs:complexType> </xs:element> and <diffgr:diffgram> -<WSSignup_Dataset> --<InfoEligibilite diffgr:id="InfoEligibilite1" msdata:rowOrder="0"> ---<offercode>DSLFMTIF</offercode> ---<bandwidthadsl1>6048</bandwidthadsl1> ---<bandwidthadsl2plus>14528</bandwidthadsl2plus> ---<upload>256</upload> ---<accesstype>SHARED</accesstype> --</InfoEligibilite> --<InfoEligibilite diffgr:id="InfoEligibilite2" msdata:rowOrder="1"> ---<offercode>DSLFMDTTIF</offercode> ---<bandwidthadsl1>6048</bandwidthadsl1> ---<bandwidthadsl2plus>14528</bandwidthadsl2plus> ---<upload>256</upload> ---<accesstype>FULL</accesstype> --</InfoEligibilite> -</WSSignup_Dataset> </diffgr:diffgram> The parse_packet_soap.c programm decodes the object properties only from the WSDL schema, see the lines between 257 and 342. For the compatibility with all webservice form, it is necessary to add the property decoding from the response XML schema. Reproduce code: --------------- $client = new SoapClient('http://test.isdbwssignup.telecomitalia-entreprises.fr/WSSignup.asmx?WSDL', array('trace' => 1, 'soap_version' => SOAP_1_1)); $resultat = $client->GetInfoEligibility($parametres); // // Affichage du resultat // echo '</br />Analyse du resultat</br />'; var_dump($resultat); Expected result: ---------------- <diffgr:diffgram> -<WSSignup_Dataset> --<InfoEligibilite diffgr:id="InfoEligibilite1" msdata:rowOrder="0"> ---<offercode>DSLFMTIF</offercode> ---<bandwidthadsl1>6048</bandwidthadsl1> ---<bandwidthadsl2plus>14528</bandwidthadsl2plus> ---<upload>256</upload> ---<accesstype>SHARED</accesstype> --</InfoEligibilite> --<InfoEligibilite diffgr:id="InfoEligibilite2" msdata:rowOrder="1"> ---<offercode>DSLFMDTTIF</offercode> ---<bandwidthadsl1>6048</bandwidthadsl1> ---<bandwidthadsl2plus>14528</bandwidthadsl2plus> ---<upload>256</upload> ---<accesstype>FULL</accesstype> --</InfoEligibilite> -</WSSignup_Dataset> </diffgr:diffgram> Actual result: -------------- object(stdClass)#3 (1) { ["GetInfoEligibilityResult"]=> object(stdClass)#4 (1) { ["any"]=> string(10418) "DSLFMTIF604814528256SHAREDDSLFMDTTIF604814528256FULL" } } ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=40922&edit=1

« previous php.bugs (#111060) next »