Php, Soap & ASMX WebService - PullRequest
       11

Php, Soap & ASMX WebService

1 голос
/ 11 января 2011

Я пытаюсь вызвать AspNet WebService (C # 3.5) из PHP (5.3.5) с помощью 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);
?>

Мой WebMethod очень прост:

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

Когда я устанавливаю точку останова в VisualStudio 2008, token в порядке, но ppp = пустой массив целых (не нулевых).

Есть идеи, что не так с моим кодом?

Ответы [ 2 ]

0 голосов
/ 11 января 2011

я не знаю о nusoap, но у нативного класса PHP SoapClient есть метод для выгрузки последнего XML-запроса, отправленного веб-службе, это, вероятно, хорошее место для запуска

0 голосов
/ 11 января 2011

Если имя второго параметра callParams, то вы должны использовать то же имя при вызове метода из php (не 'ppp').

...