ID:               45404
 Updated by:       j...@php.net
 Reported By:      oamblet at vmware dot com
-Status:           Open
+Status:           Feedback
 Bug Type:         SOAP related
 Operating System: MacOSX 10.5
 PHP Version:      5.2.6
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/




Previous Comments:
------------------------------------------------------------------------

[2008-07-01 14:59:22] oamblet at vmware dot com

Perhaps a good alternative could be to add the extension information in

the output of __getTypes().

------------------------------------------------------------------------

[2008-07-01 14:42:39] oamblet at vmware dot com

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 this bug report at http://bugs.php.net/?id=45404&edit=1

Reply via email to