клиент nusoap не отвечает

Я пытаюсь написать простой сервер и клиент веб-службы, используя 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.


person wannik    schedule 01.03.2011    source источник


Ответы (1)


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

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

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

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

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

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

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

person Paul McCarthy    schedule 11.03.2011