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

Reply via email to