клиент nusoap не отвечает - PullRequest
0 голосов
/ 01 марта 2011

Я пытаюсь написать простой сервер и клиент веб-службы, используя nusoap. Я думаю, что мой сервер работает нормально, потому что клиент VB.NET может вызвать его. Однако PHP-клиент очень долго загружается и не выдает никаких результатов.

server1.php

<?
require_once("nusoap/lib/nusoap.php");

$ns="localhost/";

$server = new soap_server();
$server->configureWSDL('TaxCalculator', $ns);
$server->wsdl->schemaTargetNamespace = $ns;
$server->register('TaxCalc', array('amount'=>'xsd:string'),array('return'=>'xsd:string'),$ns);

function TaxCalc($amount) {
  $tax = $amount * 0.5;
  return new soapval('return', 'xsd:string', $tax);
}

$server->service($HTTP_RAW_POST_DATA);
?>

client1.php

<? 
require_once('nusoap/lib/nusoap.php');

$client=new soapclient('http://localhost/server1.php?wsdl', 'wsdl');
echo $client->call('TaxCalc', array('amount'=>'15.00'));
?>

Я использую PHP версии 5.2.6 и nusoap версии 0.9.5.

1 Ответ

1 голос
/ 11 марта 2011

Я бы сказал, используйте все, что работает.

Я использовал nusoap.php, v 1.114, и он работает для меня.

У меня есть вызов nuspoap_client, отличный от того, что вы использовали выше,У вас нет параметра для выбора используемого порта.

$client = new nusoap_client("http://127.0.0.1:1024/soap/IApp", false,
$proxyhost, $proxyport, $proxyusername, $proxypassword);

2-й параметр выше говорит о том, что не следует использовать файл wsdl.Я предполагаю, что, возможно, ваш VB-клиент использует тот же подход.

Ваш код выглядит так, как будто он хочет использовать локальный файл wsdl.

В качестве альтернативы может возникнуть проблема с разрешениями, когда VB разрешенодоступ к мыльному порту и PHP нет.(сомневаюсь, так как все локально)

...