Edit report at http://bugs.php.net/bug.php?id=53293&edit=1
ID: 53293 User updated by: dpholden at gmail dot com Reported by: dpholden at gmail dot com Summary: WSDL error when schemaLocation includes port number Status: Open Type: Bug Package: XML related Operating System: Windows 7 PHP Version: 5.3SVN-2010-11-11 (snap) Block user comment: N Private report: N New Comment: Ok I've just run the same script on a Linux server PHP Version 5.1.6 Apache/2.2.3 (Red Hat) SimpleXML revisions differ WAMP Revision $Revision: 1.151.2.22 $ Linux Revision $Revision: 1.151.2.22.2.35.2.32 $ On the linux version, I am getting the same result as you iliaa: Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing Schema: unresolved element 'ref' attribute Previous Comments: ------------------------------------------------------------------------ [2010-11-26 03:52:03] dpholden at gmail dot com I've just tried this again, using the same code I've posted here and only that and it is still giving me the same error. iliaa, what version of PHP are you using and which environment? I am using WAMP server, PHP Version 5.3.0 soap Soap Client enabled Soap Server enabled Directive Local Value Master Value soap.wsdl_cache 1 1 soap.wsdl_cache_dir /tmp /tmp soap.wsdl_cache_enabled 1 1 soap.wsdl_cache_limit 5 5 soap.wsdl_cache_ttl 86400 86400 And in case it is relevant my SimpleXML version. Simplexml support enabled Revision $Revision: 1.151.2.22.2.35.2.32 $ Schema support enabled ------------------------------------------------------------------------ [2010-11-25 22:27:10] il...@php.net Seems to work fine here. The only error I am seeing is: Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing Schema: unresolved element 'ref' attribute ------------------------------------------------------------------------ [2010-11-11 04:37:18] dpholden at gmail dot com <xs:schema> <xs:import namespace="http://www.jtg.com.au/qh/supplierAPI" schemaLocation="http://supplier.readyrooms.com.au:80/readyrooms/supplierAPI?xsd=15"/> </xs:schema> The above is where in the WSDL that it appears to fail parsing ------------------------------------------------------------------------ [2010-11-11 04:35:18] dpholden at gmail dot com Description: ------------ When trying to parse a WSDL document using SoapClient and the WSDL document contains <imports> or <includes> and the schemaLocation includes a port number (ie. :80) it fails and produces a Soap Fault. Test script: --------------- $client = new SoapClient('http://supplier.readyrooms.com.au:80/readyrooms/supplierAPI?WSDL', array('trace' => 1)); print_r($client->__getFunctions()); Expected result: ---------------- A list of functions related to the WSDL. Actual result: -------------- SOAP_FAULT: Code: WSDL Error: SOAP-ERROR: Parsing Schema: can't import schema from 'http://supplier.readyrooms.com.au:80/readyrooms/supplierAPI?xsd=15' ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=53293&edit=1