Re: [SOAP] NuSoap transition -- Question on parameter ordering.
| From: | Peter Brunnengräber | Date: | Mon, 08 Nov 2010 15:00:06 +0000 |
| Subject: | Re: [SOAP] NuSoap transition -- Question on parameter ordering. | ||
| References: | 1 | Groups: | php.soap |
| Request: | Send a blank email to php-soap+get-3129@lists.php.net to get a copy of this message | ||
Hello,
Thank you for your point. For better or worse, I am coding against sugar-crm community edition.
I thought that I was doing this correctly, but maybe this is my problem... below is what I am using
for my ...
$sugar_ws_uri = "http://127.0.0.1:2000/sugarcrm/soap.php?wsdl";
$soapOptions = array(
'style' => SOAP_RPC,
'use' => SOAP_ENCODED,
'soap_version' => SOAP_1_1,
'location' => $sugar_ws_uri,
'uri' => 'http://127.0.0.1:2000/sugarcrm',
'namespace' => 'urn:MyApp',
'trace' => false,
'exceptions' => true,
'encoding' => 'UTF-8'
);
$soap_client = new SoapClient($sugar_ws_uri, $soapOptions);
The "http://127.0.0.1:2000/sugarcrm/soap.php?wsdl"
url does return with the wsdl when I open it in a browser.
Thank you again for all your help!
With kind regards. -Peter
----- Original Message -----
From: "Mike Van Riel" <mike.vanriel@naenius.com>
To: "Peter Brunnengräber" <pbrunnen@bccglobal.com>
Cc: soap@lists.php.net
Sent: Monday, November 8, 2010 2:00:39 AM
Subject: Re: [SOAP] NuSoap transition -- Question on parameter ordering.
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
>