Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services delphi standalone webservice在通过php使用时返回http错误_Web Services_Delphi_Nusoap - Fatal编程技术网

Web services delphi standalone webservice在通过php使用时返回http错误

Web services delphi standalone webservice在通过php使用时返回http错误,web-services,delphi,nusoap,Web Services,Delphi,Nusoap,我对WS编程相当陌生。 我使用delphi-7创建了WS(我从中选择了基础) 当我通过安装在PC上的XAMPP php nusoap使用它时,它运行良好,我得到了要求的结果。 但是,当我在我的web主机上通过php nusoap使用它时,它没有返回任何内容。 当我在php代码中加入debug时,它说:HTTP错误:无法打开到服务器的套接字连接。错误(110):连接超时。 以下是我的php代码: <?php require_once('../lib/nusoap.php');

我对WS编程相当陌生。
我使用delphi-7创建了WS(我从中选择了基础) 当我通过安装在PC上的XAMPP php nusoap使用它时,它运行良好,我得到了要求的结果。
但是,当我在我的web主机上通过php nusoap使用它时,它没有返回任何内容。
当我在php代码中加入debug时,它说:HTTP错误:无法打开到服务器的套接字连接。错误(110):连接超时。
以下是我的php代码:

    <?php
    require_once('../lib/nusoap.php');
    $aparams = 'kode_query='.'TRIPS_ALL'.'&'.
               'kode_user='.$username.'&'.
               'kode_id='.$uid;
    $client = new nuSoap_Client('http://110.139.181.78:9696/wsdl/IVSoftWS');
    $xml_data = $client->call('GetXMLDataTable',$aparams);
    echo '<h2>Debug</h2>';
    echo '<pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>';
    echo '<h2>Error</h2>';
    echo '<pre>' . htmlspecialchars($client->getError(), ENT_QUOTES) . '</pre>';
    ?>
调用('GetXMLDataTable',$aparams);
回声“调试”;
回显“”。htmlspecialchars($client->debug_str,ENT_QUOTES)。”;
回声“错误”;
回显“”。htmlspecialchars($client->getError(),ENT_引号)。“”;
?>
信息:我的web主机使用PHP5.2.9,而我的XAMPP使用PHP5.3.1
问题:如何通过web托管php代码获得相同的结果?

非常感谢您的帮助。

您是否检查了防火墙设置?服务器似乎在端口9696上运行,需要在服务器(更准确地说:运行Delphi 7 web service server应用程序的服务器)上打开此端口以进行传入连接


要进行验证,您可以使用其他计算机上的web浏览器(或),并尝试打开服务URL

谢谢。但正如我所提到的,使用XAMPP从PC访问相同的WS没有问题。防火墙很好,因为我可以从我的电脑上得到结果。可能防火墙配置为只接受特定IP地址范围的请求。您能从web托管环境ping或telnet到web服务吗?是的,我尝试使用其他具有不同连接的计算机(带有XAMPP和WAMP),我发现它也工作得很好。防火墙似乎没有问题。但是,我没有尝试从网络主机ping/telnet。我不知道该怎么做。仅供参考,网络托管cpanel版本:Pro 1.0(RC1)。非常感谢你的帮助。谢谢。您是否检查了从所有其他服务器到web服务服务器的ping和telnet使用情况,结果正常,但仅从PHP web托管服务器失败?那么它可能是PHP web托管服务器上用于传出连接的防火墙设置,您检查过这个吗?例如,您可以从PHP脚本中访问端口80、8080或非标准端口上的其他网页吗?谢谢您的建议。我联系了web主机,他们为传入和传出打开了端口9696,但我在尝试web服务时得到了相同的结果。