Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

JSON::RPC::Client Not a HASH reference Error

by gpost (Initiate)
on Nov 22, 2012 at 20:38 UTC ( #1005184=perlquestion: print w/replies, xml ) Need Help??
gpost has asked for the wisdom of the Perl Monks concerning the following question:

When i call remote 'echo' procedure my call reachs to rpc server, it processes parameters and return value. But response doesnt reach to client. Error:

Not a HASH reference at /usr/share/perl5/JSON/RPC/ line 193

Any idea? Code is here:

use LWP::UserAgent; use JSON::RPC::LWP; use Net::SSL (); use JSON::RPC::Client; $ENV{HTTPS_DEBUG} = 1; # CA cert peer verification $ENV{HTTPS_CA_FILE} = 'ca_file'; $ENV{HTTPS_CA_DIR} = 'ca_dir'; # Client PKCS12 cert support $ENV{HTTPS_PKCS12_FILE} = 'pkcs12 cert'; $ENV{HTTPS_PKCS12_PASSWORD} = 'password'; my $ua = eval { LWP::UserAgent->new() } or die "Could not make user-agent! $@"; $ua->ssl_opts( verify_hostname => 0); print "JSON RPC CONNECTION\n"; my $rpc = JSON::RPC::Client->new( ua => $ua, version => '2.0' ); my $result = $rpc->call( 'https://...', {method=>'echo', params=>['par +am']}); print $result->result, "\n";

Replies are listed 'Best First'.
Re: JSON::RPC::Client Not a HASH reference Error (the source)
by tye (Sage) on Nov 22, 2012 at 21:45 UTC

    Why did you not look at "line 193" of "/usr/share­/perl5/JSO­N/RPC/Clie­" ? Wouldn't that be the first logical thing to do?

    I went to and searched for that module, JSON::RPC::Client, clicked the "Source" link, pasted that into my editor, and jumped to line 193.

    I don't know if this is the same version of the module that you are using, but getting that error at that line appears to make sense:

    sub new { my ($class, $obj, $json) = @_; my $content = ( $json || JSON->new->utf8 )->decode( $obj->content +); my $self = bless { jsontext => $obj->content, content => $content, }, $class; $content->{error} ? $self->is_success(0) : $self->is_success(1); # ^line 193 $content->{version} ? $self->version(1.1) : $self->version(0) ; $self; }

    I'll give you a chance to diagnose the problem from there. It doesn't appear particularly difficult to me.

    - tye        

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1005184]
Front-paged by tye
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (7)
As of 2018-06-17 23:14 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (107 votes). Check out past polls.