#50298 [NEW]: SOAP response object returned from SoapClient call not fully populated
| From: | jassenm at gmail dot com | Date: | Wed, 25 Nov 2009 20:43:35 +0000 |
| Subject: | #50298 [NEW]: SOAP response object returned from SoapClient call not fully populated | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-145079@lists.php.net to get a copy of this message | ||
From: jassenm at gmail dot com
Operating system: Windows Server 2008
PHP version: 5.2.11
PHP Bug Type: SOAP related
Bug description: SOAP response object returned from SoapClient call not fully populated
Description:
------------
SOAP response object returned from PHP5 SoapClient call contains only one
element of request. The actual SOAP Response received passes XML validation
via firefox browser.
Note: Operating system is Windows Server 2008, but web server is running
Apache.
Reproduce code:
---------------
$serverpath
=http://services.eventinventory.com/webservices/ticketsearch.asmx?WSDL
$soapclient = new SoapClient($serverpath, array("trace" => 1));
$param = array( "SecurityToken" => "$securitytoken", "ProductionID"
=>
"882731", "MaximumPrice" => "");
print_r($param);
try
{
$result = $soapclient->SearchTickets($param);
$soapclient->__getLastResponseHeaders():
$soapclient->__getLastResponse():
var_dump($result); :
print_r($result->SearchTicketsResult);
...
..
Expected result:
----------------
Expect the $result to be populated with the two rows of data received in
the SOAP response after "</METHODINFO>", beginning with "<DATA>" . I
need
the data within "<row>...</row>"
Actual result:
--------------
$result is only populated with the data received between the
"<SearchTicketsResult>" and the "</METHODINFO>". two rows of data
received
in the SOAP response
$soapclient->__getLastResponseHeaders():
HTTP/1.1 200 OK Date: Wed, 25 Nov 2009 20:31:51 GMT Server:
Microsoft-IIS/6.0 X-Powered-By: ASP.NET X-AspNet-Version: 2.0.50727
Cache-Control: private, max-age=0 Content-Type: text/xml; charset=utf-8
Content-Length: 1145
$soapclient->__getLastResponse():
<?xml version="1.0" encoding="utf-8"?><soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><SearchTicketsResponse
xmlns="http://www.eventinventory.com/webservices/"><SearchTicketsResult><ROOT
xmlns=""><METHODINFO><channelName>TicketSearch</channelName><methodName>SearchTickets</methodName><parameters>SecurityToken=ABCDEFG&ProductionID=882731&MaximumPrice=</parameters><processTime
type="milliseconds">11.7487</processTime></METHODINFO><DATA
xmlns:sql="urn:schemas-microsoft-com:xml-sql"><row TicketID="38481612"
Available="2" EventDate="2010-01-18T11:00:00" SeatSection="Lower 20"
SeatRow="V" SeatFrom="" SeatThru="" SeatDescription="In
Hand"
TicketPrice="300" BrokerPrice="0" BrokerID="0" /><row
TicketID="36689402"
Available="6" EventDate="2010-01-18T11:00:00" SeatSection="Upper
Level"
SeatRow="N/A" SeatFrom="" SeatThru="" SeatDescription=""
TicketPrice="198"
BrokerPrice="0" BrokerID="0"
/></DATA></ROOT></SearchTicketsResult></SearchTicketsResponse></soap:Body></soap:Envelope>
var_dump($result); :
object(stdClass)#4 (1) { ["SearchTicketsResult"]=> object(stdClass)#5 (1)
{ ["any"]=> string(756)
"TicketSearchSearchTicketsSecurityToken=ABCDEFG&ProductionID=882731&MaximumPrice=11.7487"
} }
$result->SearchTicketsResult
stdClass Object ( [any] =>
TicketSearchSearchTicketsSecurityToken=ABCDEFG&ProductionID=882731&MaximumPrice=11.7487
)
Request
====================
POST /webservices/ticketsearch.asmx HTTP/1.1 Host:
services.eventinventory.com Connection: Keep-Alive User-Agent:
PHP-SOAP/5.2.11 Content-Type: text/xml; charset=utf-8 SOAPAction:
"http://www.eventinventory.com/webservices/SearchTickets"
Content-Length:
414
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://www.eventinventory.com/webservices/"><SOAP-ENV:Body><ns1:SearchTickets><ns1:SecurityToken>ABCDEFG</ns1:SecurityToken><ns1:ProductionID>882731</ns1:ProductionID><ns1:MaximumPrice></ns1:MaximumPrice></ns1:SearchTickets></SOAP-ENV:Body></SOAP-ENV:Envelope>
--
Edit bug report at http://bugs.php.net/?id=50298&edit=1
--
Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=50298&r=trysnapshot52
Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=50298&r=trysnapshot53
Try a snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=50298&r=trysnapshot60
Fixed in SVN: http://bugs.php.net/fix.php?id=50298&r=fixed
Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=50298&r=needdocs
Fixed in release: http://bugs.php.net/fix.php?id=50298&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=50298&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=50298&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=50298&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=50298&r=support
Expected behavior: http://bugs.php.net/fix.php?id=50298&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=50298&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=50298&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=50298&r=globals
PHP 4 support discontinued: http://bugs.php.net/fix.php?id=50298&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=50298&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=50298&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=50298&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=50298&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=50298&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=50298&r=mysqlcfg