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

Reply via email to