1

我正在尝试使用 NuSoap 从 PHP (5.3.5) 调用 AspNet WebService (C# 3.5)。

<?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;
  }

当我在 VisualStudio 2008 中设置断点时, token可以,但ppp= 空数组 int(非空)。

知道我的代码有什么问题吗?

4

2 回答 2

0

如果第二个参数名称是callParams,那么您应该在从 php 调用方法时使用相同的名称(不是'ppp')。

于 2011-01-11T17:14:53.503 回答
0

我不了解 nusoap,但是原生 PHP SoapClient 类有一个方法可以转储发送到 Web 服务的最后一个 XML 请求,这可能是一个不错的起点

于 2011-01-11T17:27:01.420 回答