From: egos at biz-club dot biz
Operating system: debian Lenny
PHP version: 5.2.10
PHP Bug Type: SOAP related
Bug description: SOAPClient interprets the parameters array incorrectly
Description:
------------
on Debian Lenny (php 5.2.6.dfsg.1-1+lenny3) i run the simple call.
please, take a look at var_dump of the parameters variable and at the
generated xml code
Before xml is generated, it sorts the parameters, so that values loose
bindings to the keys of the array.
Reproduce code:
---------------
$client->__soapCall("updateMonitoring", $parameters);
var_dump($parameters);
echo "<br><hr>";
echo " REQUEST:\n" . $client->__getLastRequest() . "\n<br><hr>";
Expected result:
----------------
correct xml, based on $parameters. Here,s the var_dump of it $parameters I
put there
["login"]=>
string(4) "***"
["password"]=>
string(32) "***"
["monitoring_id"]=>
string(5) "18700"
["plan_budget_total"]=>
string(2) "70"
["plan_budget_navigation"]=>
string(1) "0"
["plan_pay"]=>
string(2) "25"
["total"]=>
int(66)
["task_training"]=>
int(0)
["without_preliminary_examination"]=>
int(0)
["without_competition"]=>
int(0)
["city_0_59"]=>
int(0)
["city_60_100"]=>
int(0)
["city_101_110"]=>
int(0)
["city_111_120"]=>
int(0)
["city_121_130"]=>
int(0)
["city_131_140"]=>
int(0)
["city_141_150"]=>
int(1)
["city_151_160"]=>
int(1)
["city_161_170"]=>
int(2)
["city_171_180"]=>
int(0)
["city_181_190"]=>
int(2)
["city_191_200"]=>
int(2)
["city_201_210"]=>
int(5)
["city_211_220"]=>
int(3)
["city_221_230"]=>
int(1)
["city_231_240"]=>
int(8)
["city_241_250"]=>
int(1)
["city_251_260"]=>
int(4)
["city_261_270"]=>
int(2)
["city_271_280"]=>
int(5)
["city_281_290"]=>
int(5)
["city_291_300"]=>
int(3)
["city_301_310"]=>
int(10)
["city_311_320"]=>
int(3)
["city_321_330"]=>
int(2)
["city_331_340"]=>
int(2)
["city_341_400"]=>
int(1)
["country_0_59"]=>
int(0)
["country_60_100"]=>
int(0)
["country_101_110"]=>
int(0)
["country_111_120"]=>
int(0)
["country_121_130"]=>
int(0)
["country_131_140"]=>
int(0)
["country_141_150"]=>
int(0)
["country_151_160"]=>
int(0)
["country_161_170"]=>
int(0)
["country_171_180"]=>
int(0)
["country_181_190"]=>
int(0)
["country_191_200"]=>
int(0)
["country_201_210"]=>
int(1)
["country_211_220"]=>
int(1)
["country_221_230"]=>
int(0)
["country_231_240"]=>
int(0)
["country_241_250"]=>
int(1)
["country_251_260"]=>
int(0)
["country_261_270"]=>
int(0)
["country_271_280"]=>
int(0)
["country_281_290"]=>
int(0)
["country_291_300"]=>
int(0)
["country_301_310"]=>
int(0)
["country_311_320"]=>
int(0)
["country_321_330"]=>
int(0)
["country_331_340"]=>
int(0)
["country_341_400"]=>
int(0)
}
Actual result:
--------------
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="urn:abiturient" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:updateMonitoring><login
xsi:type="xsd:string">***</login><password
xsi:type="xsd:string">***</password><monitoring_id
xsi:type="xsd:int">18700</monitoring_id><plan_budget_total
xsi:type="xsd:int">70</plan_budget_total><plan_budget_navigation
xsi:type="xsd:int">0</plan_budget_navigation><plan_pay
xsi:type="xsd:int">25</plan_pay><total
xsi:type="xsd:int">66</total><task_training
xsi:type="xsd:int">0</task_training><without_preliminary_examination
xsi:type="xsd:int">0</without_preliminary_examination><without_competition
xsi:type="xsd:int">0</without_competition><city_341_400
xsi:type="xsd:int">0</city_341_400><country_341_400
xsi:type="xsd:int">0</country_341_400><city_331_340
xsi:type="xsd:int">0</city_331_340><country_331_340
xsi:type="xsd:int">0</country_331_340><city_321_330
xsi:type="xsd:int">0</city_321_330><country_321_330
xsi:type="xsd:int">0</country_321_330><city_311_320
xsi:type="xsd:int">1</city_311_320><country_311_320
xsi:type="xsd:int">1</country_311_320><city_301_310
xsi:type="xsd:int">2</city_301_310><country_301_310
xsi:type="xsd:int">0</country_301_310><city_291_300
xsi:type="xsd:int">2</city_291_300><country_291_300
xsi:type="xsd:int">2</country_291_300><city_281_290
xsi:type="xsd:int">5</city_281_290><country_281_290
xsi:type="xsd:int">3</country_281_290><city_271_280
xsi:type="xsd:int">1</city_271_280><country_271_280
xsi:type="xsd:int">8</country_271_280><city_261_270
xsi:type="xsd:int">1</city_261_270><country_261_270
xsi:type="xsd:int">4</country_261_270><city_251_260
xsi:type="xsd:int">2</city_251_260><country_251_260
xsi:type="xsd:int">5</country_251_260><city_241_250
xsi:type="xsd:int">5</city_241_250><country_241_250
xsi:type="xsd:int">3</country_241_250><city_231_240
xsi:type="xsd:int">10</city_231_240><country_231_240
xsi:type="xsd:int">3</country_231_240><city_221_230
xsi:type="xsd:int">2</city_221_230><country_221_230
xsi:type="xsd:int">2</country_221_230><city_211_220
xsi:type="xsd:int">1</city_211_220><country_211_220
xsi:type="xsd:int">0</country_211_220><city_201_210
xsi:type="xsd:int">0</city_201_210><country_201_210
xsi:type="xsd:int">0</country_201_210><city_191_200
xsi:type="xsd:int">0</city_191_200><country_191_200
xsi:type="xsd:int">0</country_191_200><city_181_190
xsi:type="xsd:int">0</city_181_190><country_181_190
xsi:type="xsd:int">0</country_181_190><city_171_180
xsi:type="xsd:int">0</city_171_180><country_171_180
xsi:type="xsd:int">0</country_171_180><city_161_170
xsi:type="xsd:int">0</city_161_170><country_161_170
xsi:type="xsd:int">0</country_161_170><city_151_160
xsi:type="xsd:int">0</city_151_160><country_151_160
xsi:type="xsd:int">1</country_151_160><city_141_150
xsi:type="xsd:int">1</city_141_150><country_141_150
xsi:type="xsd:int">0</country_141_150><city_131_140
xsi:type="xsd:int">0</city_131_140><country_131_140
xsi:type="xsd:int">1</country_131_140><city_121_130
xsi:type="xsd:int">0</city_121_130><country_121_130
xsi:type="xsd:int">0</country_121_130><city_111_120
xsi:type="xsd:int">0</city_111_120><country_111_120
xsi:type="xsd:int">0</country_111_120><city_101_110
xsi:type="xsd:int">0</city_101_110><country_101_110
xsi:type="xsd:int">0</country_101_110><city_60_100
xsi:type="xsd:int">0</city_60_100><country_60_100
xsi:type="xsd:int">0</country_60_100><city_0_59
xsi:type="xsd:int">0</city_0_59><country_0_59
xsi:type="xsd:int">0</country_0_59></ns1:updateMonitoring></SOAP-ENV:Body></SOAP-ENV:Envelope>
--
Edit bug report at http://bugs.php.net/?id=49013&edit=1
--
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=49013&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=49013&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=49013&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=49013&r=fixed
Fixed in SVN and need be documented:
http://bugs.php.net/fix.php?id=49013&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=49013&r=alreadyfixed
Need backtrace:
http://bugs.php.net/fix.php?id=49013&r=needtrace
Need Reproduce Script:
http://bugs.php.net/fix.php?id=49013&r=needscript
Try newer version:
http://bugs.php.net/fix.php?id=49013&r=oldversion
Not developer issue:
http://bugs.php.net/fix.php?id=49013&r=support
Expected behavior:
http://bugs.php.net/fix.php?id=49013&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=49013&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=49013&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=49013&r=globals
PHP 4 support discontinued: http://bugs.php.net/fix.php?id=49013&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=49013&r=dst
IIS Stability:
http://bugs.php.net/fix.php?id=49013&r=isapi
Install GNU Sed:
http://bugs.php.net/fix.php?id=49013&r=gnused
Floating point limitations:
http://bugs.php.net/fix.php?id=49013&r=float
No Zend Extensions:
http://bugs.php.net/fix.php?id=49013&r=nozend
MySQL Configuration Error:
http://bugs.php.net/fix.php?id=49013&r=mysqlcfg