2010-04-29 7 views
0

Я новичок в webservices, Я создал базовый товарный веб-сервис, я успешно создал для него серверный скрипт и поместил его на свой сервер. Теперь я также создал скрипт clent и получил доступ к нему hruogh на том же сервере .. Действительно ли это? могут ли файлы boh быть подключены с одного и того же сервера? или мне нужно разместить их на разных серверах? Если да, то Y? Если нет, то почему я получаю пустую страницу? Я использую библиотеку nusoap для webservice.Ошибка Webservice

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

"Deprecated: Assigning the return value of new by reference is deprecated in D:\wamp\www\pranav_test\nusoap\lib\nusoap.php on line 6506

Fatal error: Class 'soapclient' not found in D:\wamp\www\pranav_test\stockclient.php on line 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."; 
?> 

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

+0

php не может загрузить файл nusoap.php, попробуйте абсолютный путь к файлу nusoap/libnusoap.php. – Alex

ответ

1

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

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

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

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

+0

U означает сказать, что тот же самый аппарат может работать для меня, не так ли? –

+0

Да, это так. – Alex

1

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

1

, чтобы инициировать мыльный клиент с новой версией 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