[英]creating a simple php web service using nusoap
我想在客戶端向多行顯示服務器數據。 當前的實現僅顯示一行,即客戶端的'ABC'值。這是服務器端:
<?php
function getStockQuote($symbol) {
mysql_connect('server','user','pass');
mysql_select_db('test');
$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.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);
?>
這是客戶端:
<?php
require_once('nusoap.php');
$c = new soapclient('http://localhost/stockserver.php');
$stockprice = $c->call('getStockQuote',
array('symbol' => 'ABC'));
echo "The stock price for 'ABC' is $stockprice.";
?>
您必須將WSDL指定為端點,因此使用wsdl更改端點,並需要調用您的方法(服務器上不存在call
方法)
我測試並工作的客戶代碼:
<?php
require_once('nusoap.php');
$c = new soapclient('http://localhost/stockserver.php?wsdl');
$stockprice = $c->getStockQuote('ABC');
echo "The stock price for 'ABC' is $stockprice.";
?>
並且請停止使用不推薦使用的mysql_ *函數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.