|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2007-04-04 11:27 UTC] dmitry@php.net
[2007-04-04 15:16 UTC] php dot ajr at vitalphone dot net
[2007-04-04 15:41 UTC] php dot ajr at vitalphone dot net
[2011-02-21 21:09 UTC] jani@php.net
-Package: Feature/Change Request
+Package: SOAP related
[2015-03-26 16:17 UTC] aavindraa at gmail dot com
[2017-10-24 07:56 UTC] kalle@php.net
-Status: Assigned
+Status: Open
-Assigned To: dmitry
+Assigned To:
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 09:00:02 2025 UTC |
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" } }