From: jchernia at netsuite dot com Operating system: Windows XP PHP version: 5.1.6 PHP Bug Type: SOAP related Bug description: Abstract types not handled by SoapClient in WSDL mode
Description: ------------ This is very similar to bug 36575 http://bugs.php.net/bug.php?id=36575), but I still see this in the latest code. If an operation takes an abstract type, I can not get SoapClient (in WSDL mode) to produce one of the subclass instances of it, even if I set type, etc. Both Axis and .NET generated client classes will send the correct subclass if you specify it. NuSoap does not, but allows you to specify additional attributes in WSDL mode. Reproduce code: --------------- Operation <complexType name="GetRequest"> <sequence> <element name="baseRef" type="platformCore:BaseRef"/> </sequence> </complexType> <element name="get" type="platformMsgs:GetRequest"/> XSD: <complexType name="BaseRef" abstract="true"> <sequence> <element name="name" type="xsd:string" minOccurs="0"/> <!-- record name --> </sequence> </complexType> <element name="baseRef" type="platformCore:BaseRef"/> <complexType name="RecordRef"> <complexContent> <extension base="platformCore:BaseRef"> <attribute name="internalId" type="xsd:string"/> <attribute name="externalId" type="xsd:string"/> <attribute name="type" type="platformCoreTyp:RecordType"/> </extension> </complexContent> </complexType> Expected result: ---------------- <ns1:get> <ns1:baseRef internalId="17" type="customer" xsi:type="ns1:RecordRef"/> </get> Either this, or the ability to set these attributes in WSDL mode. Actual result: -------------- <ns1:get> <ns1:baseRef/> </ns1:get> -- Edit bug report at http://bugs.php.net/?id=39179&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=39179&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=39179&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=39179&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=39179&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=39179&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=39179&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=39179&r=needscript Try newer version: http://bugs.php.net/fix.php?id=39179&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=39179&r=support Expected behavior: http://bugs.php.net/fix.php?id=39179&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=39179&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=39179&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=39179&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=39179&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=39179&r=dst IIS Stability: http://bugs.php.net/fix.php?id=39179&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=39179&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=39179&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=39179&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=39179&r=mysqlcfg
