| XML-RPC: getchallenge: Can't use an undefined value as an ARRAY reference |
[Sep. 14th, 2006|02:24 pm] |
| [ | mood |
| | working | ] |
| [ | music |
| | Daler Mehndi - Tunak Tunak Tun | ] | I'm building a Flash based client and while trying to generate an XML-RPC call to "getchallenge" I'm getting this error message:
Application failed during request deserialization: Can't use an undefined value as an ARRAY reference at /usr/share/perl5/SOAP/Lite.pm line 1802.
Which leads me to believe that I've not defined a value in my call that the server expects. Can anyone clarify for me what value is being used in /usr/share/perl5/SOAP/Lite.pm line 1802...?
Thank you. :) |
|
|
| Comments: |
SOAP::Lite is a standard perl library and not specific to LJ, so it's going to be impossible to diagnose which value isn't being set by the line number in the library that's experiencing an error.
I'd say (assuming there isn't a huge bug in the LJ server that no one else has been reporting here) that you're probably sending malformed XML.
i was getting this error when i was dealing with PHP making a client in that.
i can't really suggest a way to fix it, except i got it sorted by using a different routine to sent the request, instead of sending it using the socket extension to PHP, i used fputs() i didn't really change the XML i was sending, i changed the way i was generating it, but that didn't change the overall XML
i'm not too familiar with flash, so i can't really suggest anything other than is there some kind of XML-RPC lib for flash that could generate the XML and parse the returned XML for your application to read easily?
I have found an old XML-RPC library for Flash, but it's written in ActionScript 1.0, whereas I'm writing mine in 2.0.. and looking at it's code I don't see anything that I'm not doing in mine. So it would likely have the same error.
Thank you for the suggestion. :)
![[User Picture]](http://l-userpic.livejournal.com/56984852/655588) | From: int 2006-09-15 01:44 am (UTC)
| (Link)
|
Can you monitor the data being sent out and post the XML here?
I don't think so. Flash's reporting on the XML Object doesn't show any of the header information, which is where I suspect the problem is.
for historical purposes and all that: when actionscript parses the xml into an xml object and then spits it out again it changes it slightly, the xml that ends up getting sent is actually
<methodCall> <methodName>LJ.XMLRPC.getchallenge</methodName> <params> <param/> </params> </methodCall> </xmp>
and its that param object that causes all the problem.. if you put a valid value in the param field it will fix the problem.
ie <xmp> <methodCall> <methodName>LJ.XMLRPC.getchallenge</methodName> <params> <param> <string>string</string> </param> </params> </methodCall>
uhmm ignore the xmp tag... I had some problems formatting it so that html would show up correctly in the post | |