我正在尝试使用nusoap编写一个简单的Web服务服务器和客户端。我认为我的服务器工作正常,因为VB.NET客户端可以调用它。但是,PHP客户端的加载时间非常长,并且不提供任何输出。
server1.php
<?
require_once("nusoap/lib/nusoap.php");
$ns="localhost/";
$server = new soap_server();
$server->configureWSDL('TaxCalculator', $ns);
$server->wsdl->schemaTargetNamespace = $ns;
$server->register('TaxCalc', array('amount'=>'xsd:string'),array('return'=>'xsd:string'),$ns);
function TaxCalc($amount) {
$tax = $amount * 0.5;
return new soapval('return', 'xsd:string', $tax);
}
$server->service($HTTP_RAW_POST_DATA);
?>
client1.php
<?
require_once('nusoap/lib/nusoap.php');
$client=new soapclient('http://localhost/server1.php?wsdl', 'wsdl');
echo $client->call('TaxCalc', array('amount'=>'15.00'));
?>
我正在使用PHP版本5.2.6和nusoap版本0.9.5。
答案 0 :(得分:1)
我会说使用任何有用的东西。
我使用了nusoap.php,v 1.114,它对我有用。
我拥有的nuspoap_client电话与您上面的电话不同。你的没有关于使用哪个端口的参数。
$client = new nusoap_client("http://127.0.0.1:1024/soap/IApp", false,
$proxyhost, $proxyport, $proxyusername, $proxypassword);
上面的第二个参数表示不使用wsdl文件。 我猜你的VB客户端也许使用相同的方法。
您的代码看起来好像要使用本地wsdl文件。
或许可能存在权限问题,其中允许VB访问soap端口而PHP不允许。 (怀疑一切都是本地的)