From: Operating system: Mac OS X 10.5.8 PHP version: 5.3.2 Package: SOAP related Bug Type: Bug Bug description:One-way SOAP requests are not sent, and no error is reported
Description: ------------ One-way soap requests appear to fail silently. A one-way soap request is a request which only defines an input message, and has no output message. When making such a soap request, the request is never sent but no errors are generated. The call just returns. My php configure line was: ./configure --with-curl --enable-exif --enable-soap --with-snmp --with-openssl Here is a sample WSDL entry that fails: <definitions name="TestSoap" targetNamespace="urn:TestSoap" xmlns:tns="urn:TestSoap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <message name="OneWayRequest"> <part name="oneArg" type="xsd:string"/> </message> <portType name="TestSoapPort"> <operation name="OneWay"> <input message="OneWayRequest"/> </operation> </portType> <binding name="TestSoapBinding" type="tns:TestSoapPort"> <operation name="OneWay"> <soap:operation soapAction="urn:TestSoapAction"/> <input> <soap:body use="encoded" namespace="urn:TestSoap" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input> </operation> </binding> <service name="TestSoapService"> <port name="TestSoapPort" binding="tns:TestSoapBinding"> <soap:address location="https://127.0.0.1/soap"/> </port> </service> </definitions> Test script: --------------- /* Using the above WSDL */ $user = 'someuser'; $password = 'password'; $client = new SoapClient($wsdl, array( "location" => "https://127.0.0.1/soap", "login" => "$user", "password" => "$password", "trace" => 1, "exceptions" => 0, "authentication" => SOAP_AUTHENTICATION_DIGEST ) ); $result = $client->OneWay('foo'); if(is_soap_fault($result)) { print "SOAP Fault: (faultcode: ($result->faultcode), " . "faultstring: ($result->faultstring))\n"; } else { print_r($result); } exit; Expected result: ---------------- The script should open a connection to the specified soap server and send a request to call the OneWay function. This does not happen. Actual result: -------------- Fails silently -- no error, no backtrace, and no output. -- Edit bug report at http://bugs.php.net/bug.php?id=51944&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=51944&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=51944&r=trysnapshot53 Try a snapshot (trunk): http://bugs.php.net/fix.php?id=51944&r=trysnapshottrunk Fixed in SVN: http://bugs.php.net/fix.php?id=51944&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=51944&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=51944&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=51944&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=51944&r=needscript Try newer version: http://bugs.php.net/fix.php?id=51944&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=51944&r=support Expected behavior: http://bugs.php.net/fix.php?id=51944&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=51944&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=51944&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=51944&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=51944&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=51944&r=dst IIS Stability: http://bugs.php.net/fix.php?id=51944&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=51944&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=51944&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=51944&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=51944&r=mysqlcfg