Запрос PHP SoapClient: недействительный метод для этой службы

Ладно, мне кажется, мне нужны еще две глаза, чтобы посмотреть на это. Я делаю простой вызов phap soapclient веб-службе echo на удаленном сервере. Я уверен, что у меня нет опечаток и что вызов функции верен. Тем не менее, я получаю фатальную ошибку, заявляя, что функция не является допустимым методом. Ниже приведен параметр var_dump типов веб-сервисов.

array (4) {[0] => string (88) "struct EspException {string Code; string Аудитория; string Source; string Message;}" [1] => string (71) "struct ArrayOfEspException {string Source; EspException Exception ;} "[2] => string (43)" struct EchoTestRequest {string ValueIn;} "[3] => string (45)" struct EchoTestResponse {string ValueOut;} "}

Неустранимая ошибка: исключить исключение SoapFault: функция [Client] («EchoTestRequest») не является допустимым методом для этой службы в /home/grafixst/public_html/cpaapp/echo_test.php:38 Трассировка стека: # 0 / home / grafixst / public_html /cpaapp/echo_test.php(38): SoapClient -> __ call ('EchoTestRequest', Array) # 1 /home/grafixst/public_html/cpaapp/echo_test.php(38): SoapClientAuth-> EchoTestRequest (Array) # 2 {main } брошен в /home/grafixst/public_html/cpaapp/drew/echo_test.php в строке 38

Вот код, который я использую для вызова:

<?php require_once('SoapClientAuth.php'); ini_set("soap.wsdl_cache_enabled", "0"); #- Loading the WSDL document $server = "https://wsonline.seisint.com/WsAccurint/EchoTest?ver_=1.65"; $wsdl = $server . "&wsdl"; $client = new SoapClientAuth($wsdl, array( 'login' => $username, 'password' => $password )); $types = $client->__getTypes(); var_dump($types); echo "</br>"; $req = $client->EchoTestRequest(array('ValueIn' => 'echo')); print $req->ValueOut; echo "</br>"; ?> 

Related of "Запрос PHP SoapClient: недействительный метод для этой службы"

Простой запрос доступных функций веб-службы решил проблему.

 $functions = $client->__getFunctions (); var_dump ($functions); 

EchoTestRequest не был действительным вызовом функции. Правильным вызовом функции был EchoTest, который иллюстрируется дампом переменных функций.

 array(1) { [0]=> string(54) "EchoTestResponse EchoTest(EchoTestRequest $parameters)" } 

Я предполагаю, что вы не опечатка, и метод действительно доступен.

Попробуй это

 ini_set("soap.wsdl_cache_enabled", "0"); 

Возможно, из-за wsdl был кэширован.