SOAP :: Lite客户端无法在Centos 7上连接

时间:2018-10-03 23:22:29

标签: perl web-services soap connection centos7

我有一个大型应用程序,无法连接到与客户端在同一服务器上运行的端点。

同一台服务器可以在其他客户端主机上工作,因此它是与perl模块和或ssl设置相关的本地服务器。我还可以使用另一个用C编写的本地客户端连接到服务器。

我在这里重新创建了问题:

#!/usr/bin/perl

use strict;
use SOAP::Lite +trace => 'debug';

my $soap;

$soap = SOAP::Lite->new(proxy => "https://localhost:1800", ssl_opts => [ 
SSL_verify_mode => 0 ])->on_fault(\&report_error);
$soap->ns('urn:edge', 'ns');

my $som = $soap->call('edgeWsdl');

sub report_error {
    print "SOAP error: " . $_[1] . "\n";
}

这将生成:

SOAP::Transport::HTTP::Client::send_receive: POST https://localhost:1800 
HTTP/1.1
Accept: text/xml
Accept: multipart/*
Accept: application/soap
Content-Length: 417
Content-Type: text/xml; charset=utf-8
SOAPAction: "urn:edge#edgeWsdl"

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope 
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:ns="urn:edge" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body> 
<ns:edgeWsdl xsi:nil="true" /></soap:Body></soap:Envelope>
SOAP::Transport::HTTP::Client::send_receive: 500 Can't connect to 
localhost:1800
Content-Type: text/plain
Client-Date: Wed, 03 Oct 2018 23:13:27 GMT
Client-Warning: Internal response

Can't connect to localhost:1800

SOAP error:
not well-formed (invalid token) at line 1, column 3, byte 3 at 
/usr/lib64/perl5/vendor_perl/XML/Parser.pm line 187.
Can't connect to localhost:1800

由于我可以从其他客户端连接,所以这不是网络或防火墙问题。 我该如何追踪呢?可以肯定这是一个SSL问题。但是不知道如何发现问题。

账单

0 个答案:

没有答案