From: sanderovich at avaya dot com Operating system: PHP version: 5.2.6 PHP Bug Type: SOAP related Bug description: SoapClient is not working with wsi compliant web services
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 bug report at http://bugs.php.net/?id=45521&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=45521&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=45521&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=45521&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=45521&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=45521&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=45521&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=45521&r=needscript Try newer version: http://bugs.php.net/fix.php?id=45521&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=45521&r=support Expected behavior: http://bugs.php.net/fix.php?id=45521&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=45521&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=45521&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=45521&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=45521&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=45521&r=dst IIS Stability: http://bugs.php.net/fix.php?id=45521&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=45521&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=45521&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=45521&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=45521&r=mysqlcfg