VMware Perlライブラリ(ESXiホストでSOAPサービスを呼び出すように見える)を使用して、LinuxボックスとESXiホスト間の相互作用をスクリプト化しようとしています。
解決策が見つからないエラーが発生しました:Undefined subroutine &LWP::Protocol::https::Socket::can_read called at /usr/local/share/perl5/LWP/Protocol/http.pm line 22
現在、Net-HTTP-6.03を実行しています。私はNet-HTTP-6.05を試してみましたが、Webベースの呼び出しが非常に遅くなります(その後の呼び出しも最終的に失敗し、エラーメッセージとして約1.2MBのXMLが表示されます)-さまざまなフォーラムが示唆していることは、元に戻すことによってのみ解決できます6.03まで(経由cpan install GAAS/Net-HTTP-6.03.tar.gz
)。
私のコードの核心は次のとおりです。
use VMware::VIRuntime;
my $context = {
options => ParseOptions(), # result of using GetOpts::Long to parse command-line
session => undef
};
$ENV{PERL_NET_HTTPS_SSL_SOCKET_CLASS} = "Net::SSL"; # Suppresses SSL_VERIFY_NONE
if ($context->{options}->{'ignore-ssl-errors'}) {
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0; # Ignores certificate errors
}
## next line fails
$context->{session} = Vim::login(
service_url => $context->{options}->{url},
username => $context->{options}->{username},
password => $context->{options}->{password}
);
これを機能させるために私が(できる|必要がある)他に何かすることはありますか?