Edit report at https://bugs.php.net/bug.php?id=51944&edit=1

 ID:               51944
 Updated by:       [email protected]
 Reported by:      scottij at arbor dot net
 Summary:          One-way SOAP requests are not sent, and no error is
                   reported
-Status:           Feedback
+Status:           No Feedback
 Type:             Bug
 Package:          SOAP related
 Operating System: Mac OS X 10.5.8
 PHP Version:      5.3.2
 Assigned To:      dmitry

 New Comment:

No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.


Previous Comments:
------------------------------------------------------------------------
[2010-06-15 11:52:26] [email protected]

I can't reproduce it on Linux.

I changed the location URL in WSDL file and got the request as expected.

May be the issue related to your server configuration. Please try to switch 
from https:// to http://, try to remove authentication.

------------------------------------------------------------------------
[2010-05-28 18:38:48] scottij at arbor dot net

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 this bug report at https://bugs.php.net/bug.php?id=51944&edit=1

Reply via email to