|
From: P O. B. <bo...@po...> - 2002-04-18 09:02:14
|
Well, I have tested it with a few PHP scripts, and the script always dies when it gets to: xmlrpc_server_call_method. Note that the xml you have below SHOULD NOT work. It is not correct according to the spec: http://www.xmlrpc.com/discuss/msgReader$1208 The first name 'params' has a struct rather than an array. The args to system.multiCall should be an array of structs. Those structs should have two fields: methodName which should have a string as it's value which is the method, and here's the wrong part: a second field with name params which has a value of TYPE ARRAY. This array holds all the values which are parameters to your call. Correct me if I am wrong about this. PS: could you try a simple example in PHP to see if it is working in PHP. Like I said, all your system methods work, but if I call a method I wrote in PHP it just dies. Oscar. On Wed, Apr 10, 2002 at 09:55:40AM -0500, Dan Libby wrote: > Well, I haven't tried it with php, but it works fine for me with the=20 > server sample program. >=20 > -danda >=20 > ./server > <?xml version=3D"1.0"?> > <methodCall> > <methodName>system.multiCall</methodName> > <params> > <param> > <value> > <array><data><value> > <struct> > <member> > <name>methodName</name> > <value>method_TestNormal</value> > </member> > <member> > <name>params</name> > <value> > <struct> > <member> > <name>string</name> > <value> > <string>This Is A test</string> > </value> > </member> > <member> > <name>iso_8859_1</name> > <value> > <string>blah, blah</string> > </value> > </member> > <member> > <name>int</name> > <value> > <int>234</int> > </value> > </member> > <member> > <name>double</name> > <value> > <double>234.000000</double> > </value> > </member> > <member> > <name>datetime</name> > <value> > <dateTime.iso8601>19691231T18:00:00</dateTime.iso8601> > </value> > </member> > <member> > <name>base64</name> > <value> > <base64>VGVzdGluZyBCYXNlNjQ=3D > </base64> > </value> > </member> > </struct> > =20 > </value> > </member> > </struct> > </value></data></array> =20 > </value> > </param> > </params> > </methodCall> >=20 > ^D >=20 > <?xml version=3D"1.0"?> > <methodResponse> > <params> > <param> > <value> > <array> > <data> > <value> > <array> > <data> > <value> > <struct> > <member> > <name/> > <value> > <array> > <data> > <value> > <struct> > <member> > <name>Reason</name> > <value> > <string>Whew!!!</string> > </value> > </member> > <member> > <name>Rubadubdub</name> > <value> > <string>Inmytub</string> > </value> > </member> > </struct> > </value> > </data> > </array> > </value> > </member> > <member> > <name/> > <value> > <array> > <data> > <value> > <string>One</string> > </value> > <value> > <string>Two</string> > </value> > <value> > <string>Three and four</string> > </value> > </data> > </array> > </value> > </member> > <member> > <name/> > <value> > <boolean>1</boolean> > </value> > </member> > <member> > <name/> > <value> > <int>25</int> > </value> > </member> > <member> > <name/> > <value> > <string>Hello World</string> > </value> > </member> > <member> > <name/> > <value> > <double>25.000000</double> > </value> > </member> > <member> > <name/> > <value> > <dateTime.iso8601>19980717T14:08:55</dateTime.iso8601> > </value> > </member> > <member> > <name/> > <value> > <base64>VTI5dFpVSmhjMlUyTkZOMGNtbHVadz09 > </base64> > </value> > </member> > </struct> > </value> > </data> > </array> > </value> > </data> > </array> > </value> > </param> > </params> > </methodResponse> >=20 > P Oscar Boykin wrote: >=20 > >A bit more info here, xmlrpc_server_call_method just stops script > >execution when I pass it a multicall to methods I wrote. The method > >never seems to get called (I try to write to a log file as the first > >step in the method, and I am not seeing any entries). > > > >Can anyone confirm or deny that this behavior occurs on their system? > > > >Oscar. > > > >On Tue, Apr 09, 2002 at 01:04:11PM -0700, P Oscar Boykin wrote: > > > >>system.multiCall in xmlrpc-epi-0.50 seems to work for me for system > >>methods. If I try to use it on one of my own methods (which works in a > >>normal call) it seems to die. And by die I mean the socket closes and > >>nothing comes back. > >> > >>Am I missing something obvious here? Do I have to take special care to > >>make sure methods work with system.multiCall? I thought I would get > >>that for free? > >> > >>Oscar. > >>--=20 > >>bo...@po... http://pobox.com/~boykin jabber: johnynek@jabber= .org > >>fingerprint=3D159A FA02 DF12 E72F B68F 5B2D C368 3BCA 36D7 CF28 > >>code is speech. support freedom on the net. http://www.eff.org/ > >> > > > > > > >=20 --=20 bo...@po... http://pobox.com/~boykin jabber: joh...@ja... fingerprint=3D159A FA02 DF12 E72F B68F 5B2D C368 3BCA 36D7 CF28 don't send word docs: http://www.gnu.org/philosophy/no-word-attachments.html |