Search code examples
c#phpweb-servicesasmxnusoap

Php, Soap & ASMX WebService


I'm trying to call an AspNet WebService (C# 3.5) from PHP (5.3.5) using NuSoap.

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

My WebMethod is very simple:

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

When I set a breakpoint in VisualStudio 2008, token is OK but ppp = empty array of int (not null).

Any idea of what is wrong with my code?


Solution

  • i don't know about nusoap, but the native PHP SoapClient class has a method to dump out the last XML request sent to the web service, this is probably a good place to start