Есть люди, разбирающиеся в soap?

интернет компьютеры php SOAP

Есть такой код

<?php
/*
* Example using PHP5 and the nativ SOAP classes
*/

//define the options for the soapclass
//set trace to true to get more information back from the soap class
$options = array("trace" => true);
$soapClient = new SoapClient("example.ru/SoapServer.php?wsdl", $options); // здесь вписано нормальный сервер, который 100% верный
// $soapClient->__envprefix('SOAP-ENV'); // эту штуку посоветовали вставить, чтоб решить проблему, но результат никакой


//call the checkUniqueData method
try{
$params = array('NICK'=>'Delfi','USERNAME'=>'test123','EMAIL'=>'[email protected]');
$result = $soapClient->__soapCall('checkUniqueData',$params);

}
catch(SoapFault $e){
//echo some usefull information
echo('Something went wrong: '.$e->faultstring);
}

//echo the last response - this is available because of trace is true
// echo("---------------------\n<br>");
echo($soapClient->__getLastResponse()."<br>");
// echo("---------------------\n<br>");
echo("xmlstring:\n".$result."\n<br>");
echo("---------------------\n<br>");

//parse the simple xml string
$xml = new SimpleXMLElement($result);
printf("Nickname is %s \n",$xml->nick);
printf("Username is %s \n",$xml->username);
printf("Email is %s \n",$xml->email);
echo("---------------------\n");

?>

Выдает ошибку

Something went wrong: Wrong VersionNOACCESS
xmlstring:
---------------------

Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /www/htdocs/test.php:32 Stack trace: #0 /www/htdocs/test.php(32): SimpleXMLElement->__construct('') #1 {main} thrown in /www/nevskypo/www/htdocs/test.php on line 32

fatal error так понимаю выдается из за первой ошибки, что мы не имеем доступа или не верная версия чего-то

Wrong VersionNOACCESS - как понять эту строку? Что за версия? Или чтобы подключиться к soap серверу, то нужно чтобы мой ip был внесен в список доверенных? Не значит ли строка NOACCESS, что как раз таки меня не занесли в этот список, поэтому ответа от soap у меня нет?



Примечание:
NOACCESS - это относится к выводу вывода... Так что просто вопрос, что значит wrong version?

Примечание:
Сервисом пользуются уже довольно давно многие люди.
Почему вернул no access?
Может потому что он не смог сначала сделать
$options = array("trace" => true);
$soapClient = new SoapClient("http://nevskypoker.rptest.info/SoapServer.php?wsdl", $options);

//call the checkUniqueData method
try{
$params = array('NICK'=>'Delfi89','USERNAME'=>'test123','EMAIL'=>'[email protected]');
$result = $soapClient->__soapCall('checkUniqueData',$params);
}
catch(SoapFault $e){
//echo some usefull information
echo('Something went wrong: '.$e->faultstring);
}
это?

Поэтому и вернулось no access как мне кажется...
Ответы:
Точно утверждать не берусь, но по-моему твой веб-сервис вернул в качестве ответа строку "NOACCESS", которая не является нормальным SOAP-ответом, потому как это даже не XML. А soap-клиент не смог разобрать этот ответ и определить версию протокола. В общем, по-моему, проблема в том "100% верном" веб-сервисе, потому что он возвращает некорректный ответ.
Возможно, этот сервис фильтрует запросы по IP, возможно, нужно указывать какой-то пароль, возможно, твои входные данные некорректны - тут можно только гадать. Но факт в том, что этот сервис возвращает некорректный ответ:
<message method="error"><errtxt>NOACCESS</errtxt></message>


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.