2011-01-11 57 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