From: Operating system: Ubuntu 11.04 PHP version: 5.3.6 Package: SOAP related Bug Type: Feature/Change Request Bug description:Invalid SOAPAction when connceting to .NET service
Description: ------------ When making a SOAP call in non-WSDL mode toward a .NET service, SoapClient adds a pound sign (#) instead of a slash (/) between URI and action, which makes the .NET service return: "Server did not recognize the value of HTTP Header SOAPAction: <uri>#<action>". According to previous bug-report #30370 (which is similar), this is not a bug: "If you don't use WSDL then you should specify "soapaction" by your self". However, adding a soapaction definition is only possible with __call / __soapCall and not when calling a WSDL function directly. I think this is not an issue when calling a PHP SOAP server since it probably interprets the pound sign correctly. A .NET SOAP service will not, however. To make it easier, it would be desirable to be able to define SOAPAction, or be able to define a .NET compability mode even when calling a WSDL function, since being limited to using the low- level __soapCall requires structuring the call by yourself. Test script: --------------- $client = new SoapClient(NULL,array( "host"=>"http://host/action.asmx", "uri"=>"http://host/webservices/soaprequest" ); $info = $client->Action($options,$ctx,$wfl); Expected result: ---------------- Fatal error: Uncaught SoapFault exception: [soap:Client] Server did not recognize the value of HTTP Header SOAPAction: http://host/webservices/soaprequest#Action -- Edit bug report at http://bugs.php.net/bug.php?id=54791&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=54791&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=54791&r=trysnapshot53 Try a snapshot (trunk): http://bugs.php.net/fix.php?id=54791&r=trysnapshottrunk Fixed in SVN: http://bugs.php.net/fix.php?id=54791&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=54791&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=54791&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=54791&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=54791&r=needscript Try newer version: http://bugs.php.net/fix.php?id=54791&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=54791&r=support Expected behavior: http://bugs.php.net/fix.php?id=54791&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=54791&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=54791&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=54791&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=54791&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=54791&r=dst IIS Stability: http://bugs.php.net/fix.php?id=54791&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=54791&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=54791&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=54791&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=54791&r=mysqlcfg
