0

当我调用远程显程序时,我的调用会到达 rpc 服务器,该服务器是用 python 编写的,带有 txjsonrpc 模块。但这个脚本说:

在 /usr/local/lib/perl/5.14.2/Moose/Meta 处的字符偏移量 0(在“读取失败:在 /us...”之前)处的格式错误的 JSON 字符串,既不是数组、对象、数字、字符串也不是原子/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";
4

1 回答 1

2

您使用的是什么版本的 JSON::RPC::Client?如果它是最新的,则该错误正在发生,因为服务器返回的不是 JSON 对象。

于 2012-11-22T20:40:02.787 回答