Edit report at http://bugs.php.net/bug.php?id=47584&edit=1

 ID:                 47584
 Comment by:         gem at rellim dot com
 Reported by:        gem at rellim dot com
 Summary:            WSDL error in soapClient causes Fatal Error
 Status:             Feedback
 Type:               Bug
 Package:            SOAP related
 Operating System:   Linux
 PHP Version:        5.2.9
 Assigned To:        dmitry
 Block user comment: N

 New Comment:

Your example fails for me, I can not catch the error:



# cat tmp.php

<?php  

try {  

    $x = new SoapClient("non-existent.wsdl");  

} catch (Exception $e) {  

}  

echo "ok\n";

?> 

 





# php tmp.php

PHP Warning:  SoapClient::SoapClient(): I/O warning : failed to load
external 

entity "non-existent.wsdl" in /tmp/tmp.php on line 3

PHP Stack trace:

PHP   1. {main}() /tmp/tmp.php:0

PHP   2. SoapClient->SoapClient() /tmp/tmp.php:3

PHP Fatal error:  SOAP-ERROR: Parsing WSDL: Couldn't load from 'non-

existent.wsdl' : failed to load external entity "non-existent.wsdl"

 in /tmp/tmp.php on line 3

PHP Stack trace:

PHP   1. {main}() /tmp/tmp.php:0

PHP   2. SoapClient->SoapClient() /tmp/tmp.php:3

#


Previous Comments:
------------------------------------------------------------------------
[2010-09-02 10:40:34] dmi...@php.net

BTW despite SoapClient emits a fatal error it already throws exception
which can be caught (even in 5.2 brunch).



<?php

try {

  $x = new SoapClient("non-existent.wsdl");

} catch (Exception $e) {

}

echo "ok\n";'

?>

------------------------------------------------------------------------
[2010-06-24 01:55:11] gem at rellim dot com

This is a still a 100% show  stopper for me.  I can not make PHP pages
live

that will crash on simple network errors.

------------------------------------------------------------------------
[2010-06-22 10:35:23] florent dot biville at insa-rouen dot fr

I can confirm I encounter the same problem.

Despite everything documented, problems with WSDL reading will trigger a
fatal error.

------------------------------------------------------------------------
[2010-04-09 07:41:35] pwb at evanr dot com

This is a real issue, even when the SoapClient is set to throw
exceptions and not 

errors.  This fatal error cannot be defeated even with the exceptions
option set 

to true.



We're experiencing this in 5.2.13 on linux x64.



A fatal error is thrown not only when WSDL can't be loaded but as well
when an 

internal reference in the WSDL (e.g. to a namespace) cannot be
imported/resolved.

------------------------------------------------------------------------
[2009-03-06 17:49:08] gem at rellim dot com

Why does it work OK for you and not for me?  Just because it

works on one host for you does not mean it does not fail for me.



This is the entire program to reproduce:

<?php

$client = new soapClient('http://google.com');

?>



PHP Fatal error:  SOAP-ERROR: Parsing WSDL: XXXX



I can reproduce on several different hosts.  I am not

running Xdebug, eaccelerator, or any other add in.

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    http://bugs.php.net/bug.php?id=47584


-- 
Edit this bug report at http://bugs.php.net/bug.php?id=47584&edit=1

Reply via email to