ID: 44686 User updated by: dmittner at llnw dot com Reported By: dmittner at llnw dot com Status: Open Bug Type: SOAP related Operating System: Gentoo PHP Version: 5.2.5 New Comment:
I've narrowed it down, I think. Relevant excerpts from the WSDL: <s:element name="ProvisionMonitors"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" ref="ProvisioningOrder" /> </s:sequence> </s:complexType> </s:element> <s:element name="ProvisioningOrder" type="ProvisioningOrder" /> <s:complexType name="ProvisioningOrder"> <s:complexContent mixed="false"> <s:extension base="CServiceObject"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="MonitorOrders" type="ArrayOfMonitorOrder" /> ... </s:sequence> <s:attribute name="name" type="s:string" /> ... </s:extension> </s:complexContent> </s:complexType> No "name" is specified in the upper block of XML, for the line with the "ref=". If I specify a name the WSDL parses. I believe the correct behavior would be for PHP to acquire the name from the complexType declaration. I don't know if this should always be the case for references, or only when no name is provided - if providing a name is even valid for them. This is just a guess, though. I've dealt very little with references so do not know the standards surrounding them; only what digging into the XML has revealed. Previous Comments: ------------------------------------------------------------------------ [2008-04-11 05:54:01] dmittner at llnw dot com I have also found this to occur on PHP 5.0.5, also on Gentoo. ------------------------------------------------------------------------ [2008-04-10 23:52:37] dmittner at llnw dot com Description: ------------ Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing Schema: unresolved element 'ref' attribute. C# generated WSDL. I saw an older bug with similar characteristics, but that was 4 years old, supposedly resolved, and on a different OS. Several validators I tried are able to consume the WSDL. Reproduce code: --------------- <?php $wsdl = "http://gpn.webservice.gomez.com/GpnProvisioningService/ProvisioningWS.asmx?wsdl"; $soap = new SoapClient($wsdl,array("trace"=>true,"features"=>SOAP_SINGLE_ELEMENT_ARRAYS)); ?> Expected result: ---------------- No explicit output. Actual result: -------------- Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing Schema: unresolved element 'ref' attribute in /home/dmittner/temp.php:3 Stack trace: #0 /home/dmittner/temp.php(3): SoapClient->SoapClient('http://gpn.webs...', Array) #1 {main} thrown in /home/dmittner/temp.php on line 3 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=44686&edit=1