From: zippy1981 at gmail dot com Operating system: Windows XP PHP version: 5.2.12 PHP Bug Type: Feature/Change Request Bug description: SoapClient should handle wsdls with some incompatiable endpoints
Description: ------------ I have a WCF web service written in .NET that has different endpoints. I want .NET clients to be able to talk to it using nettcp (a propietary microsoft protocol) and PHP to be able to talk to it using basicHttp (soap 1.1). However, if WSDL contains any endpoints other than http or https endpoints I get the following error: PHP Fatal error: SOAP-ERROR: Parsing WSDL: PHP-SOAP doesn't support transport 'http://schemas.microsoft.com/soap/tcp' I think the following should occur: If no endpoint is explicitly specified in the constructor, PHP should pick the first compatible endpoint available in the wsdl and use it. If the endpoint is explicitly declared in the constructor, then PHP should not care about the available endpoints. Reproduce code: --------------- <?php // .NET Service that this calls exists at http://github.com/zippy1981/EchoService $client = new SoapClient ('http://localhost:8731/EchoService/?wsdl', array( 'location' => 'http://localhost:8731/EchoService/Basic', 'trace' => true, 'soap_version' => SOAP_1_1, 'connection_timeout' => 5 ) ); echo $client->echo(array('request' => "Hello World"))->EchoResult; ?> Expected result: ---------------- c:\php\php.exe EchoClient.php Hello World Actual result: -------------- PHP Fatal error: SOAP-ERROR: Parsing WSDL: PHP-SOAP doesn't support transport 'http://schemas.microsoft.com/soap/tcp' -- Edit bug report at http://bugs.php.net/?id=50698&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=50698&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=50698&r=trysnapshot53 Try a snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=50698&r=trysnapshot60 Fixed in SVN: http://bugs.php.net/fix.php?id=50698&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=50698&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=50698&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=50698&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=50698&r=needscript Try newer version: http://bugs.php.net/fix.php?id=50698&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=50698&r=support Expected behavior: http://bugs.php.net/fix.php?id=50698&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=50698&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=50698&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=50698&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=50698&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=50698&r=dst IIS Stability: http://bugs.php.net/fix.php?id=50698&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=50698&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=50698&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=50698&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=50698&r=mysqlcfg