Ошибка веб-сервиса - PullRequest
       10

Ошибка веб-сервиса

0 голосов
/ 29 апреля 2010

Я новичок в веб-сервисах, Я создал базовый веб-сервис фондовой биржи, успешно создал для него серверный сценарий и поместил его на свой сервер. Теперь я также создал сценарий очистки и получил доступ к нему через тот же сервер. Это действительно? Можно ли получить доступ к файлам boh с того же сервера? или я должен разместить их на разных серверах? Если да, то Y? Если нет, то почему я получаю пустую страницу? Я использую библиотеку nusoap для веб-сервиса.

Когда я использую свой сценарий очистки с локального компьютера, я получаю эти ошибки

"Устаревший: назначение возврата Значение нового по ссылке устарел в D: \ WAMP \ WWW \ pranav_test \ NuSOAP \ Lib \ nusoap.php по линии 6506

Неустранимая ошибка: класс «мыльный клиент» отсутствует нашел в D: \ WAMP \ WWW \ pranav_test \ stockclient.php на линии 3 "

stockserver.php на сервере

<?php
function getStockQuote($symbol) {
mysql_connect('localhost','root','******');
mysql_select_db('pranav_demo');
$query = "SELECT stock_price FROM stockprices "
. "WHERE stock_symbol = '$symbol'";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
return $row['stock_price'];
}
require('nusoap/lib/nusoap.php');
$server = new soap_server();
$server->configureWSDL('stockserver', 'urn:stockquote');
$server->register("getStockQuote",
array('symbol' => 'xsd:string'),
array('return' => 'xsd:decimal'),
'urn:stockquote',
'urn:stockquote#getStockQuote');
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA)
? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?>

stockclient.php

<?php
require_once('nusoap/lib/nusoap.php');
$c = new soapclient('http://192.168.1.20/pranav_test/stockserver.php');
$stockprice = $c->call('getStockQuote',
array('symbol' => 'ABC'));
echo "The stock price for 'ABC' is $stockprice.";
?>

пожалуйста, помогите ...

Ответы [ 3 ]

1 голос
/ 05 июля 2010

Я действительно очень плохо знаком с PHP, но обнаружил ту же ошибку, когда работал с nusoap. что я понял, что в php 5 вы не можете назначить возвращаемое значение нового объекта, используя ссылки (используя оператор &) так просто ... Удалить его: D ... Я сделал это, это сработало.

1 голос
/ 27 декабря 2010

для запуска мыльного клиента с новой версией php 5x - конфликт с мыльной библиотекой PHP5 и библиотекой NuSoap.

загрузите последнюю версию библиотеки nusoap.php для PHP версии 5.3.x (вы можете получить ее из sourceforge)

Измените следующий вызов класса в вашем клиенте на:

 $c = new soapclient

до

  $c = new nusoap_client

Вы также можете добавить в свой PHP-файл следующее:

[nusoap_deprecated]
; Turn off deprecated messages on rendered pages
error_reporting = E_ALL & ~E_DEPRECATED
1 голос
/ 29 апреля 2010

Пожалуйста, отправьте кусок исходного кода.

Да, вы можете получить доступ к своему веб-сервису с клиента, который также находится на том же сервере.

Для тестирования веб-сервисов я рекомендую SoapUI , который доступен для всех платформ.

Рекомендую использовать встроенное мыльное расширение php, а затем nusoap, это довольно старая библиотека.

...