ID: 45521 Updated by: [email protected] Reported By: sanderovich at avaya dot com -Status: Open +Status: Feedback Bug Type: SOAP related Operating System: * PHP Version: 5.2.6 New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://windows.php.net/snapshots/ Previous Comments: ------------------------------------------------------------------------ [2008-07-15 13:46:55] sanderovich at avaya dot com Description: ------------ Hello All, I am trying to use soap php's soap client(version 5.2.6) with axis 1.4. The axis's wsdl is WSI compliant and doc\literal\wrapped. The problem is that the soap client does not create the soap body correctly, e.g it uses SOAP-ENC structures(both on wsdl and on non-wsdl modes). For example, the following php structure: stdClass Object ( [pagingFilteringSortingParameters] => stdClass Object ( [startItemIndex] => 0 [endItemIndex] => 34 [filterList] => Array ( [0] => filterList Object ( [fieldName] => IPAddress [fieldValue] => 149 [filterType] => likeFilterType ) [1] => filterList Object ( [fieldName] => gatewayType [fieldValue] => i40 [filterType] => likeFilterType ) ) ) ) is translated into the following soap body: <SOAP-ENV:Body> <ns1:getBranchPartialList> <pagingFilteringSortingParameters> <startItemIndex> 0 </startItemIndex> <endItemIndex> 34 </endItemIndex> <filterList> <SOAP-ENC:Struct> <fieldName> IPAddress </fieldName> <fieldValue> 149 </fieldValue> <filterType> likeFilterType </filterType> </SOAP-ENC:Struct> <SOAP-ENC:Struct> <fieldName> gatewayType </fieldName> <fieldValue> i40 </fieldValue> <filterType> likeFilterType </filterType> </SOAP-ENC:Struct> </filterList> </pagingFilteringSortingParameters> </ns1:getBranchPartialList> </SOAP-ENV:Body> Instead of the following structure: <SOAP-ENV:Body> <ns1:getBranchPartialList xmlns:ns1="http://xml.avaya.com/im/decm/guiws/07062006"> <pagingFilteringSortingParameters> <startItemIndex> 0 </startItemIndex> <endItemIndex> 34 </endItemIndex> <filterList> <fieldName> IPAddress </fieldName> <fieldValue> 149 </fieldValue> <filterType> likeFilterType </filterType> </filterList> <filterList> <fieldName> gatewayType </fieldName> <fieldValue> i40 </fieldValue> <filterType> likeFilterType </filterType> </filterList> <sorterList> <fieldName> branchName </fieldName> <descending> true </descending> </sorterList> </pagingFilteringSortingParameters> </ns1:getBranchPartialList> What i suggest is to add a flag to the soapClient\SoapServer feature flag that will use the array name instead of SOAP-ENC:Struct. The same rule should apply for arrays. If anyone wishes to reproduce this problem, please send an email to [email protected] and i will send the source codes. Thanks, Oren ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=45521&edit=1
