ID:               38703
 Updated by:       [EMAIL PROTECTED]
 Reported By:      chris at reeltwo dot com
-Status:           Open
+Status:           Assigned
 Bug Type:         SOAP related
 Operating System: Windows XP
 PHP Version:      5.1.6
 Assigned To:      dmitry
 New Comment:

Dmitry, so what's the status of this report?
"Won't fix"?


Previous Comments:
------------------------------------------------------------------------

[2006-09-06 20:54:45] chris at reeltwo dot com

Thanks, I've used the set_error_handler() workaround.

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

[2006-09-05 12:43:23] [EMAIL PROTECTED]

ext/soap reuses libxml and php streams API code to load WSDL files. I
don't like rewrite streams code in ext/soap, but this code is not able
throw exceptopns.

As a workarounf I suggest tricks with set_error_handler().

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

[2006-09-04 23:52:22] chris at reeltwo dot com

The problem still occurs using the latest snapshot.

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

[2006-09-04 08:34:21] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip



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

[2006-09-03 22:18:53] chris at reeltwo dot com

Description:
------------
When an incorrect user name or password is passed to a SoapClient in
WSDL mode, the resulting SoapFault exception which is thrown contains
the generic faultstring of "SOAP-ERROR: Parsing WSDL: Couldn't load
from..." and faultcode of "WSDL". A warning is given with "HTTP request
failed! HTTP/1.1 401 Unauthorized", however this is not catchable. The
more desirable result in the case would be the same as non-WSDL mode
where the faultstring is "Unauthorized" and faultcode is "HTTP".

Reproduced on Windows XP with Apache/2.0.55 PHP 5.1.6, Apache/2.2.3 PHP
5.2.0 (20060830) and Apache/2.2.3 PHP 6.0.0 (20060830).

Reproduce code:
---------------
/* WSDL is behind basic authentication */
try {
  $soap = new SoapClient('http://localhost/some.wsdl', array('login' =>
'badlogin', 'password' => 'badpass'));
} catch (SoapFault $e) {
  echo '<p>Fault String: '.$e->faultstring.'<p>';
  echo '<p>Fault Code: '.$e->faultcode.'<p>';
}

Expected result:
----------------
Fault String: Unauthorized

Fault Code: HTTP

Actual result:
--------------
Warning: SoapClient::__construct({snip:wsdl})
[function.SoapClient---construct]: failed to open stream: HTTP request
failed! HTTP/1.1 401 Unauthorized in {snip:path}

Warning: SoapClient::__construct() [function.SoapClient---construct]:
I/O warning : failed to load external entity "{snip:wsdl}" in
{snip:path}

Fault String: SOAP-ERROR: Parsing WSDL: Couldn't load from
'http://localhost/some.wsdl'

Fault Code: WSDL


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


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

Reply via email to