#38703 [Fbk->Opn]: SOAP Basic Authentication Failure Error Messages
ID: 38703
User updated by: chris at reeltwo dot com
Reported By: chris at reeltwo dot com
-Status: Feedback
+Status: Open
Bug Type: SOAP related
Operating System: Windows XP
PHP Version: 5.1.6
New Comment:
The problem still occurs using the latest snapshot.
Previous Comments:
------------------------------------------------------------------------
[2006-09-04 08:34:21] tony2001@php.net
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
Thread (8 messages)