Edit report at http://bugs.php.net/bug.php?id=45404&edit=1

 ID:                 45404
 Comment by:         ujl at topdanmark dot dk
 Reported by:        oamblet at vmware dot com
 Summary:            SoapClient.__getTypes don't care about inheritance
 Status:             No Feedback
 Type:               Bug
 Package:            SOAP related
 Operating System:   MacOSX 10.5
 PHP Version:        5.2.6
 Block user comment: N
 Private report:     N

 New Comment:

Hello,



I've same problem. I'm using a WSDL generator which read the WSDL file
and the extension doesn't work. I've tried with windows PHP 5.2.17 and
PHP 5.3.5. Is the problem solved on the *nix platform and not Windows?



The problem is extactly the same as described by oamblet 2008-07-01 and
I didn't understand the issue is not solved in the windows version of
PHP??


Previous Comments:
------------------------------------------------------------------------
[2009-05-06 01:00:02] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".

------------------------------------------------------------------------
[2009-04-28 18:44:21] j...@php.net

Please try using this CVS snapshot:

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

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



------------------------------------------------------------------------
[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/bug.php?id=45404&edit=1

Reply via email to