[phpxmlrpc] Undefined index: ac in xmlrpc.inc
Miles Lott
milos@speakeasy.net
Wed, 09 Oct 2002 18:24:44 -0500
I am pretty sure this is fixed in cvs. It should be simple to fix
in your copy by adding a line:
$_xh[$parser]['ac'] = '';
Under the other, similar lines near the top of the same function.
Kevin Woolley wrote:
>
> I've been developing a system using the xmlrpc libraries on linux for a
> couple of weeks now, and everything is looking good on my code. However
> we've a requirement to run the system under windows, so I've just spent the
> last day trying to achieve this - without success.
>
> using the standard testsuite.php in the included 1.02 distribution I see the
> following error
>
> <br />
> <b>Notice</b>: Undefined index: ac in
> <b>c:\inetpub\wwwroot\projects\xmlrpc\xmlrpc.inc</b> on line <b>333</b><br
> />
> <br />
>
> Which translates to this statement
>
> $_xh[$parser]['ac'].=str_replace('$', '\$',
> str_replace('"', '\"', str_replace(chr(92),
> $xmlrpc_backslash, $data)));
>
> I'm running php Version 4.2.2 installed on a windows 2000 advanced server
> system. Everything else appears to run fine. The error occurs on the first
> call to xmlrpc and is completely reproducable - everything I try gives the
> same error even if I cut the system down to a 'bare bones' file.
>
> Obviously the error occurs because $_xh[$parser]['ac'] is unitialized at
> this point, so I tried adding code of the form
>
> if (array_key_exists('ac',$_xh[$parser])) {
>
> around the statement. This threw up a similar error further up the code
>
> case "METHODNAME":
> if (array_key_exists('ac',$_xh[$parser])) { // kjw
> $_xh[$parser]['method']=ereg_replace("^[\n\r\t ]+", "",
> $_xh[$parser]['ac']);
> }
> break;
>
> which I tried adding a an if test around too. If I do this I then get
>
> <?xml version="1.0"?>
> <methodResponse>
> <fault>
> <value>
> <struct>
> <member>
> <name>faultCode</name>
> <value><int>1</int></value>
> </member>
> <member>
> <name>faultString</name>
> <value><string>Unknown method</string></value>
> </member>
> </struct>
> </value>
> </fault>
> </methodResponse>
> ---END---
> ---EVALING---[129 chars]---
> new xmlrpcval(array('faultCode' => new xmlrpcval(1, 'int'),'faultString' =>
> new xmlrpcval("Unknown method", 'string')), 'struct');
> ---END---
>
> Fatal error: Call to a member function on a non-object in
> c:\inetpub\wwwroot\projects\xmlrpc\testsuite.php on line 33
>
> using the standard testsuite.php code again.
>
> I see this error seems to have been reported on several occassions further
> down this board. Has anyone managed to solve it? Looks like a problem with
> the xml parser to me - the results suggest the $_xh[$parser]['ac'] value
> should be defined at the point where it is called so something is going
> wrong with the initialization of this value.
>
> kevin woolley
> geomantics
>
> _______________________________________________
> phpxmlrpc mailing list
> phpxmlrpc@usefulinc.com
> http://lists.usefulinc.com/cgi-bin/mailman/listinfo/phpxmlrpc
--
Miles Lott
http://milosch.net