NuSOAP을 사용하여 작성한 PHP 비누 웹 서비스가 있습니다. 'test.php'파일을 사용하여 브라우저에서 'http://www.mydowmain.com:8080/webservice/5/test.php'으로 테스트합니다.NuSOAP을 사용하는 PHP SOAP 웹 서비스는 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을 구성해야합니다.
은 어떻게 WSDL 구성됩니다 그래서 webservice.php을 편집 할 수 있습니다와 나는 test.php에 결과 배열을받을 수 있나요? 이 변경
그래서 네임 스페이스는'$ namespace = "urn : server"'내가 맞습니까? –
내 대답이 업데이트되었습니다. – Matheno