|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2016-09-08 04:10 UTC] requinix@php.net
-Status: Open
+Status: Feedback
[2016-09-08 04:10 UTC] requinix@php.net
[2016-09-09 12:42 UTC] filip dot rydlo at gmail dot com
[2016-09-09 13:20 UTC] filip dot rydlo at gmail dot com
[2016-09-09 14:06 UTC] requinix@php.net
-Status: Feedback
+Status: Not a bug
[2016-09-09 14:06 UTC] requinix@php.net
[2016-09-09 14:22 UTC] filip dot rydlo at gmail dot com
[2016-09-09 14:26 UTC] requinix@php.net
[2016-09-09 15:48 UTC] filip dot rydlo at gmail dot com
[2016-09-09 18:35 UTC] filip dot rydlo at gmail dot com
[2016-09-20 13:39 UTC] dzuelke at gmail dot come
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 21:00:01 2025 UTC |
Description: ------------ When loading WSDL: PHP SoapClient FAILs to find *.XSD files despite the fact that they are properly defined in the WSDL file downloaded from the server. They are defined like this: <wsdl:definitions ... ... <wsdl:types> <xsd:schema> <xsd:import namespace="http://fs.mfcr.cz/eet/schema/v3" schemaLocation="EETXMLSchema.xsd"/> </xsd:schema> </wsdl:types> ... WSDL addr. : https://pg.eet.cz/eet/services/EETServiceSOAP/v3?wsdl Test script: --------------- <?php define('WSDL', 'https://pg.eet.cz:443/eet/services/EETServiceSOAP/v3?wsdl'); // EET srvr NETOLERUJE koncove '/' za "v3"!!! define('ENDPOINT_LOCATION', 'https://pg.eet.cz:443/eet/services/EETServiceSOAP/v3/'); // NETOLERUJE koncove '/', bacha! $options= array( 'cache_wsdl' => WSDL_CACHE_NONE, 'encoding' => 'utf-8', 'soap_version' => SOAP_1_1, 'exceptions' => true, 'trace' => 1, 'location' => ENDPOINT_LOCATION ); $test_msg= "<EmptyTest>NODATA</EmptyTest>"; $input_args= new SoapVar($test_msg, XSD_ANYXML); try { xdebug_disable(); //------------------------------------- $soap= new SoapClient(WSDL, $options); //------------------------------------- xdebug_enable(); xdebug_disable(); $out = $soap->__soapCall('OdeslaniTrzby', array($input_args), $options, null, $output_headers); xdebug_enable(); echo("<br />REQUEST :<br />". htmlspecialchars($eet->__getLastRequest()) ."<br />"); echo("<br />RESPONSE:<br />". htmlspecialchars($eet->__getLastResponse()) ."<br />"); } catch (SoapFault $fault) { xdebug_enable(); echo "Error:<br />" . nl2br($fault->faultcode) . '<br /><br />Error Details:<br />'. nl2br($fault->faultstring) . '<br />'; } Expected result: ---------------- REQUEST : <dumped-xml-request..........> In short: It should successfully import the XSD schema from the correct location - DESPITE the webservice location does NOT end with a slash "/". In short: It should have looked for it here: https://pg.eet.cz:443/eet/services/EETServiceSOAP/v3/EETXMLSchema.xsd NOT here: https://pg.eet.cz:443/eet/services/EETServiceSOAP/EETXMLSchema.xsd Actual result: -------------- PHP Fatal error: SOAP-ERROR: Parsing Schema: can't import schema from 'https://pg.eet.cz:443/eet/services/EETServiceSOAP/EETXMLSchema.xsd' in /home/username/EET/src/testscript.php on line 21 Error: WSDL Error Details: SOAP-ERROR: Parsing Schema: can't import schema from 'https://pg.eet.cz:443/eet/services/EETServiceSOAP/EETXMLSchema.xsd'