From: oamblet at vmware dot com Operating system: OS X 10.5 PHP version: 5.2.6 PHP Bug Type: SOAP related Bug description: SoapClient.__getTypes don't care about inheritance
Description: ------------ the __getTypes() function return a list of structs which represents the various types from the parsed WSDL. However, the inherited attributes are not listed in the struct. It becomes hard to introspect a WSDL file with this __getTypes() give this limitation. Reproduce code: --------------- Given this WSDL fragment: ... <xs:element name="Entry" type="tns:Entry"/> <xs:element name="ManagedEntry" type="tns:ManagedEntry"/> <xs:complexType name="ManagedEntry"> <xs:complexContent> <xs:extension base="tns:Entry"> <xs:sequence> <xs:element minOccurs="0" name="id" type="xs:string"/> <xs:element minOccurs="0" name="stringRepresentation" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="Entry"> <xs:sequence> <xs:element minOccurs="0" name="name" type="xs:string"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" nillable="true" type="tns:EntryProperty"/> <xs:element minOccurs="0" name="type" type="xs:string"/> </xs:sequence> </xs:complexType> ... <?php $client = new SoapClient("http://x.x.x.x/echo?WSDL"); $client->__getTypes(); ?> Expected result: ---------------- [ struct ManagedEntry { string id; string stringRepresentation; string name; EntryProperty properties; string type; }, struct Entry { string name; EntryProperty properties; string type; } ] Actual result: -------------- [ struct ManagedEntry { string id; string stringRepresentation; }, struct Entry { string name; EntryProperty properties; string type; } ] -- Edit bug report at http://bugs.php.net/?id=45404&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=45404&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=45404&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=45404&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=45404&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=45404&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=45404&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=45404&r=needscript Try newer version: http://bugs.php.net/fix.php?id=45404&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=45404&r=support Expected behavior: http://bugs.php.net/fix.php?id=45404&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=45404&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=45404&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=45404&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=45404&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=45404&r=dst IIS Stability: http://bugs.php.net/fix.php?id=45404&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=45404&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=45404&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=45404&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=45404&r=mysqlcfg