Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

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/Client.pm 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";

Comment on JSON::RPC::Client Not a HASH reference Error
Select or Download Code
Re: JSON::RPC::Client Not a HASH reference Error (the source)
by tye (Cardinal) on Nov 22, 2012 at 21:45 UTC

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

    I went to search.cpan.org 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?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1005184]
Front-paged by tye
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (4)
As of 2015-07-04 03:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (57 votes), past polls