2011-03-01 173 views
0

我想寫一個簡單的web服務服務器和客戶端使用nusoap。我認爲我的服務器工作正常,因爲VB.NET客戶端可以調用它。但是,PHP客戶端的加載時間非常長,並且不提供任何輸出。nusoap客戶端沒有響應

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。

回答

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允許訪問肥皂端口,而PHP不是。 (懷疑它是一切都是本地的)