我需要使用网址连接 OSTR 以通过 webservice 创建故障单,但我遇到证书的问题。< / p>
错误(picture here):
500 Can't connect to (certificate verify failed)
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
my $UA = LWP::UserAgent->new( ssl_opts => { verify_hostname => 0, } );
我还尝试在C:\otrs\Kernel\cpan-lib\Mozilla\CA\cacert.pem.
答案 0 :(得分:0)
好吧,请尝试使用此代码并添加/删除设置env变量的行,对我来说正常工作。
use strict;
use warnings;
use SOAP::Lite;
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
my $URL = 'https://self-signed.badssl.com/foo';
my $NameSpace = 'https://self-signed.badssl.com/';
my $Operation = 'TicketCreate';
my $XMLData = <<'XML';
<UserLogin>login</UserLogin>
<Password>pass</Password>
<Ticket>
<Title>Title</Title>
</Ticket>
XML
my $SOAPObject = SOAP::Lite->uri($NameSpace)->proxy($URL)->$Operation($XMLData);
如果没有$ENV{}
行,它会500 Can't connect ... (certificate verify failed)
,而它会提供405 Not Allowed
(因为测试网址实际上并不运行SOAP网络服务)。
另外,请将实际的代码段放在SO上,文本中而不是屏幕截图中,请尝试将它们缩短。
哦,顺便说一句,我写了一个小脚本,使用网络服务在OTRS中创建门票,就在这里,也许它对你很有用 - &gt; https://github.com/mbeijen/App-OTRS-CreateTicket