Приветствую. Хочу разобрться как SOAP сервис работает на PHP (Сервер-Клиент) и наткнулся на такую проблему: Есть описание WSDL:
<?php
/**
* smsservice.wsdl.php
*/
header("Content-Type: text/xml; charset=utf-8");
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
?>
Есть серверная функция:
<?php
header("Content-Type: text/html; charset=utf-8");
header('Cache-Control: no-store, no-cache');
header('Expires: '.date('r'));
ini_set("soap.wsdl_cache_enabled", "0"); // отключаем кеширование WSDL-файла для тестирования
ini_set('display_errors', 1);
file_put_contents("log.txt","smsservice_1 \r\n",FILE_APPEND);
class TestClass
{
function getUserINFO($ID)
{
file_put_contents("log.txt","call getInfoUser \r\n",FILE_APPEND);
return array("FIO" => "Сидоров Иван Андреевич","ADRES"=>"Трудовая 160","STATUS"=>"Открыто","ID"=>$ID);
}
function getOrganINFO($ID)
{
file_put_contents("log.txt","call getInfoUser \r\n",FILE_APPEND);
return array("FIO" => "РОГА И КОПЫТА","ADRES"=>"Казыбек би","STATUS"=>"Свернулась","ID"=>$ID);
}
}
$server = new SoapServer("
www.sp.com/smsservice.wsdl.php");
$server->setClass("TestClass");
$server->handle();
?>
И есть клиент:
<?php
header("Content-Type: text/html; charset=utf-8");
header('Cache-Control: no-store, no-cache');
header('Expires: '.date('r'));
ini_set("soap.wsdl_cache_enabled", "0" );
ini_set('display_errors', 1);
ini_set("soap.wsdl_cache_ttl", "0" );
error_reporting(E_ALL & ~E_NOTICE);
$client = new SoapClient("
www.sp.com/smsservice.wsdl.php",array( 'soap_version' => SOAP_1_2));
//$rez=$client->getOrganINFO(50000);
echo '
---------------getUserINFO-------------
';
$rez=$client->__soapCall('getUserINFO',array("a",50000));
var_dump($rez);
echo '
--------------getOrganINFO--------------
';
$rez=$client->__soapCall('getOrganINFO',array("a",10000));
var_dump($rez);
?>
В WSDL описал что у меня есть две функции на сервере getUserINFO, getOrganINFO
но когда я вызываю из клиента getOrganINFO ,у меня всегда вызывается getUserINFO ...
Почему так ? Да ,у них параметры одинаковые , но тем не менее это разные функции и должны быть разные вызвовы.