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

Reply via email to