У меня есть веб-сервис php soap, который я создал с помощью NuSOAP. Я использую файл test.php для проверки его в браузере как «http://www.mydowmain.com:8080/webservice/5/test.php».PHP SOAP webservice с NuSOAP не дает результата, если WSDL настроен
Мой код:
webservice.php
<?php
require_once('../lib/nusoap.php');
$server = new nusoap_server();
$server ->configureWSDL('server', 'urn:server'); //this line causes to 'no result'
$server ->wsdl->schemaTargetNamespace = 'urn:server'; //this line causes to 'no result'
$server -> register('getData');
function getData()
{
$items = array(array("item1"),array("item2"));
return $items;
}
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server ->service($HTTP_RAW_POST_DATA);
?>
test.php
<?php
require_once('../lib/nusoap.php');
$client = new nusoap_client("http://www.mydowmain.com:8080/webservice/5/webservice.php?wsdl");
$result = $client ->call('getData');
print_r($result);
?>
Проблема:
Если удалить эти строки
$server ->configureWSDL('server', 'urn:server');
$server ->wsdl->schemaTargetNamespace = 'urn:server';
он показывает мне результат штраф. В противном случае я получаю пустой экран, ничего не получаю. Но мне действительно нужно настроить WSDL.
Как я могу редактировать webservice.php так, что WSDL будет настроен, и я могу получить массив результатов на test.php?
Таким образом, пространство имен является '$ namespace =" urn: server "' Я предполагаю? –
Я обновил свой ответ .. – Matheno