Bug #51944 [Fbk->NoF]: One-way SOAP requests are not sent, and no error is reported
| From: | php-bugs at lists dot php dot net | Date: | Mon, 18 Feb 2013 00:34:17 +0000 |
| Subject: | Bug #51944 [Fbk->NoF]: One-way SOAP requests are not sent, and no error is reported | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-176854@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=51944&edit=1
ID: 51944
Updated by: php-bugs@lists.php.net
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] dmitry@php.net
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