ID: 41151 User updated by: m dot necib at akrobat dot fr Reported By: m dot necib at akrobat dot fr -Status: No Feedback +Status: Open Bug Type: SOAP related Operating System: Windows XP PHP Version: 5.2.1 Assigned To: dmitry New Comment:
Hello Dmitry, Our situation is a bit different than what you have tested. Here is the link to the WSDL : http://213.41.94.84/wsPricing/services/PricingSNC?wsdl Look at the complexType named "WSParameters". It contains an element "loan" which type is "WSLoan". But two types extend WSLoan : "WSLoanClassic" and "WSLoanPerso". The Web Service expects us to send either of the inherited type. WSLoan is an abstract type. So in our case the correct type is not directly defined like in your test case. We are using SoapVar to specify the correct type of our object. Then the generated SOAP request references the correct type. But the fields are in the wrong order. As you can see the WSDL file is generated by Apache Axis. Previous Comments: ------------------------------------------------------------------------ [2007-05-10 01:00:00] 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". ------------------------------------------------------------------------ [2007-05-02 08:40:33] [EMAIL PROTECTED] I just committed test file ext/soap/tests/schema/schema085.phpt, that demonstrates proper element ordering. In your example you probably do somthing wrong. I cannot say that exactly is wrong as you didn't provide full reproduce case, probably you object isn't encoded using WSDL. In case if you like me to look into problem please provide full example (without ...) including full WSDL file. ------------------------------------------------------------------------ [2007-04-20 16:55:19] m dot necib at akrobat dot fr WSDL : <complexType name="A"> <sequence> <element name="a" type="xsd:int"/> </sequence> </complexType> <complexType name="B"> <complexContent> <extension base="impl:A"> <sequence> <element name="b" type="xsd:int"/> </sequence> </extension> </complexContent> </complexType> ------------------------------------------------------------------------ [2007-04-20 16:47:37] m dot necib at akrobat dot fr Description: ------------ When using subclass as a value in WSDL mode, the properties are written in the wrong order : the child class properties are written _before_ the parent properties. Reproduce code: --------------- PHP: class A { public $a ; } class B extends A { public $b ; } $client = new SoapClient(...) ; $var = new SoapVar( new B(), SOAP_ENC_OBJECT, 'B', 'http://myns/' ) ; $client->foo($var) ; Expected result: ---------------- SOAP request : <parametres xsi:type="B" > <a></a> <b></b> </parametres> Actual result: -------------- SOAP request : <parametres xsi:type="B" > <b></b> <a></a> </parametres> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41151&edit=1