Ошибка запроса SOAP

Я хочу использовать SOAP и xQuery для запроса XML-файла в локальной базе данных, но в браузере я получаю следующую ошибку:

Функции:

array (10) {[0] => string (56) «getResourceResponse getResource (getResource $ parameters)» [1] => string (38) «queryResponse query (query $ parameters)» [2] => string (44) «connectResponse connect (connect $ parameters)» [3] => строка (47) «retrieveResponse retrieve (получение $ параметров)» [4] => string (53) «disconnectResponse disconnect (disconnect $ parameters)» [5] => string (68) «getResourceDataResponse getResourceData (getResourceData $ parameters)» [6] => string (41) «xqueryResponse xquery (xquery $ parameters)» [7] => string (59) «retrieveDataResponse retrieveData (параметры retrieveData $))» [ 8] => string (77) «retrieveByDocumentResponse retrieveByDocument (retrieveByDocument $ parameters)» [9] => string (65) «listCollectionResponse listCollection (listCollection $ parameters)»}

Исключение SoapFault: [soapenv: Server.userException] java.lang.NullPointerException в C: \ xampp \ htdocs \ phexist \ helloclient.php: 8 Трассировка стека: # 0 [внутренняя функция]: SoapClient -> __ call (‘xquery’, Array ) # 1 C: \ xampp \ htdocs \ phexist \ helloclient.php (8): SoapClient-> xquery (‘Ross’) # 2 {main}

Код сервера:

<?php
include ('include/eXist.php');
function xquery($firstName) {
return "Hello ".$firstName;
//sayhello

try
{
$db = new eXist();
# Connect
$db->connect() or die ($db->getError());

$query = 'for $line in //Orders/Taxes return $line';

print "<p><b>XQuery:</b></p><pre>$query</pre>";

# XQuery execution
//$db->setDebug(TRUE);
$db->setHighlight(FALSE);
$result = $db->xquery($query) or die ($db->getError());
}ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache
$server = new SoapServer("http://localhost:8080/exist/services/Query?wsdl");
$server->addFunction("xquery");
$server->handle();
?>

Код клиента:

<?php
$client = new SoapClient("http://localhost:8080/exist/services /Query?wsdl");
echo "Functions:<br/><br/>";
echo var_dump($client->__getFunctions());
echo "<br/><br/>";
try
{
$return = $client->xquery("Ross");
echo($return."<br>");
}
catch(SoapFault $soapFault)
{
echo ($soapFault);

}

?>

0

Решение

Вы возвращаете результат ‘sayhello’, а не xquery. Модуль распределенных вычислений

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]