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

Reply via email to