2011-01-11 130 views
1

我正嘗試使用NuSoap從PHP(5.3.5)調用AspNet WebService(C#3.5)。Php,Soap和ASMX WebService

<?php 
require_once('lib/nusoap.php'); 
$proxyhost = isset($_POST['proxyhost']) ? $_POST['proxyhost'] : ''; 
$proxyport = isset($_POST['proxyport']) ? $_POST['proxyport'] : ''; 
$proxyusername = isset($_POST['proxyusername']) ? $_POST['proxyusername'] : ''; 
$proxypassword = isset($_POST['proxypassword']) ? $_POST['proxypassword'] : ''; 

$client = new nusoap_client("http://localhost:53096/MyWebService.asmx?wsdl", 'wsdl', $proxyhost, $proxyport, $proxyusername, $proxypassword); 

$callParams= array(
'token' => "Token" 
, 'ppp' => array(1,2,3) 
); 

$result = $client->call("MyWebMethod", $callParams); 
?> 

我的WebMethod很簡單:

[WebMethod()] 
    public int[] MyWebMethod(string token, int[] ppp) 
    { 
     return ppp; 
    } 

當我在2008年VisualStudio中設置斷點,token是確定的,但ppp = INT的空數組(不是null)。

任何有關我的代碼出了什麼問題的想法?

回答

0

我不知道的NuSOAP,但原生PHP SoapClient的類有傾倒了發送給Web服務的最後一個XML請求的方法,這可能是開始

+0

謝謝,它一開始幫助我,但現在我堅持int數組的數組... – 2011-01-12 09:42:54

0

如果第二個參數名稱是callParams,那麼您應該在從php調用方法時使用相同的名稱(而不是'ppp')。

+0

對不起的好地方,這是一個錯誤重新格式化我的代碼片段。 – 2011-01-11 17:17:34