Re: [SOAP] NuSoap transition -- Question on parameter ordering.
| From: | Justin Dearing | Date: | Mon, 08 Nov 2010 14:47:36 +0000 |
| Subject: | Re: [SOAP] NuSoap transition -- Question on parameter ordering. | ||
| References: | 1 2 | Groups: | php.soap |
| Request: | Send a blank email to php-soap+get-3128@lists.php.net to get a copy of this message | ||
Peter,
Mikes suggestion should help. Also, if you turn on the trace option in the
SoapClient() constructor, you can use the __getLastRequest() and
__getLastResponse() APIs as an alternative to membrane.
Justin
2010/11/8 Mike Van Riel <mike.vanriel@naenius.com>
> Dear Peter,
>
> I had a similar issue recently which was caused because I didn't provide a
> WSDL url to my SoapServer constructor.
>
> Apparently the soap server can only map message arguments / parameters when
> it has a valid WSDL for reference (which more or less made sense to me
> afterwards).
>
> I hope this is indeed the solution to your problem,
>
> --
> Kind regards,
>
> Mike van Riel
>
>
> On 7 nov 2010, at 23:25, Peter Brunnengräber <pbrunnen@bccglobal.com>
> wrote:
>
> Hello all,
>> Question for the experts here as I am not sure what my options are... I
>> searched around but the information on the php soap parameters for its
>> options is not well documented (that I have found). So I am not sure and I
>> thought I would ask here.
>>
>> I have an application that I wrote against nusoap a little while ago. Its
>> been working well, but the nusoap library slows things down quite a bit.
>> Since I have had increased usage and server load is becoming an issues to
>> watch, I decided to rewrite my internal api to make use of php's internal
>> soap client versus using the nusoap add-on. Rewriting my api was not a big
>> deal and I was so happy to finish. But when I swapped php soap calls with
>> the nusoap calls my application broke in many places...
>>
>> From looking at membrane, it looks like the parameters array which I am
>> passing to the soap call is processed differently by php's soap than it was
>> by nusoap. Nusoap would use the array key as the soap parameter for the
>> value. Php's soap seems to ignore the key and only likes the values in the
>> proper order. This would mean a complete rewrite as many of my parameter
>> arrays are built on the fly. Either that or build some sort of
>> reorganizer...
>>
>> Anyone have any ideas? Is there an option to make the behavior similar
>> to nusoap?
>>
>>
>> example:
>> ---------- Parameters array in:
>> Array
>> (
>> [module_name] => rht_units
>> [select_fields] => Array
>> (
>> [0] => id
>> [1] => name
>> )
>> [deleted] => 0
>> [session] => bs06v3iq0ar17rif26h1kc1im8iluqcs
>> )
>>
>> --------- Soap call captured:
>> <SOAP-ENV:Body>
>> <ns1:get_entry_list>
>> <session xsi:type="xsd:string">rht_units</session>
>> <module_name xsi:type="xsd:string">Array</module_name>
>> <query xsi:type="xsd:string">0</query>
>> <order_by xsi:type="xsd:string">200</order_by>
>> <offset xsi:type="xsd:int">0</offset>
>> <select_fields xsi:type="ns1:select_fields" />
>> <max_results xsi:nil="true" />
>> <deleted xsi:nil="true" />
>> </ns1:get_entry_list>
>> </SOAP-ENV:Body>
>>
>>
>>
>>
>>
>> With kind regards. -Peter
>>
>> --
>> PHP Soap Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
> --
> PHP Soap Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>