当我调用远程 echo 过程时,我的调用到达rpc服务器,该服务器是用python编写的,带有txjsonrpc模块。但是这个剧本说:
格式错误的JSON字符串,无论是数组,对象,数字,字符串还是原子,都在字符偏移0处(在“读取失败:at / us ...”之前)/usr/local/lib/perl/5.14.2/ Moose / Meta / Method / Delegation.pm第110行
有什么想法吗?代码在这里:
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=>['param']});
print $result->result, "\n";
答案 0 :(得分:2)
您使用的是哪个版本的JSON :: RPC :: Client?如果它是最新的,则发生该错误,因为服务器返回的不是JSON对象。