Edit report at https://bugs.php.net/bug.php?id=73089&edit=1
ID: 73089
User updated by: matteo dot veggia at gmail dot com
Reported by: matteo dot veggia at gmail dot com
Summary: SOAP pass dictionary parameter
-Status: Feedback
+Status: Open
Type: Bug
Package: SOAP related
Operating System: Windows
PHP Version: 7.1.0
Block user comment: N
Private report: N
New Comment:
@nikic: With what snapshot?
Previous Comments:
------------------------------------------------------------------------
[2016-12-13 17:02:10] nikic@php.net
I've applied a few more fixes in https://github.com/php/php-src/commit/4b2cc62e266cb39d0728dc473435fdf6ab4e8e89,
based on guesswork as to where the issue might be. Can you please test a snapshot build
(http://windows.php.net/snapshots/ from tomorrow) to see if the issue is resolved?
------------------------------------------------------------------------
[2016-12-13 13:24:51] matteo dot veggia at gmail dot com
I've found another element which it can explain more considerations:
If I use
$argsSOAP->Data = Array();
array_push($argsSOAP->Data, Array("Key"=>"A",
"Value"=>"1"));
array_push($argsSOAP->Data, Array("Key"=>"B",
"Value"=>"2"));
$resSOAP = $soapClient->TestRoutineDictionary($argsSOAP);
the XML is wrong (read last posts).
BUT... if I use a "support" variable called "tmparr":
$tmparr = Array();
array_push($tmparr, Array("Key"=>"A", "Value"=>"1"));
array_push($tmparr, Array("Key"=>"B", "Value"=>"2"));
$argsSOAP->Data = $tmparr;
$resSOAP = $soapClient->TestRoutineDictionary($argsSOAP);
IT WORKS!!!
Simple question... why?
------------------------------------------------------------------------
[2016-12-13 12:50:06] matteo dot veggia at gmail dot com
Same problem with PHP 7.0.14.
Have you tried my code? Have you the same problem?
------------------------------------------------------------------------
[2016-12-05 07:27:56] matteo dot veggia at gmail dot com
@sjon: the problem persist without apache, executing manually in cmd the php.exe with a php test
file.
Can you try this problem? Why you don't simulate it? It is easy, you need only an iis server, a
simple wcf and the php code.
Am I the only person who has this problem?
------------------------------------------------------------------------
[2016-12-04 15:43:05] sjon at hortensius dot net
@matteo - if the php.exe works then this is probably not a bug in php but in your apache
configuration. You should verify what dll apache uses, check your configuration for the LoadModule
call for php and make sure it looks like this:
LoadModule php7_module "c:/php/php7apache2.dll"
Obviously the php7apache2.dll you reference here should be 7.0.12 or higher. This is also explained
in the "install.txt" that is in the file you download from http://windows.php.net/download
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=73089
--
Edit this bug report at https://bugs.php.net/bug.php?id=73089&edit=1