| 
        php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits             
             [2010-06-08 11:50 UTC] tony2001@php.net
 
-Status:      Open
+Status:      Assigned
-Assigned To:
+Assigned To: dmitry
  [2010-06-15 11:52 UTC] dmitry@php.net
 
-Status: Assigned
+Status: Feedback
  [2010-06-15 11:52 UTC] dmitry@php.net
  [2013-02-18 00:34 UTC] php-bugs at lists dot php dot net
  | 
    |||||||||||||||||||||||||||
            
                 
                Copyright © 2001-2025 The PHP GroupAll rights reserved.  | 
        Last updated: Tue Nov 04 01:00:02 2025 UTC | 
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.