Cześć muszę zrobić niewielki projekt na podstawie nuSoap lub po prostu SOAP mam zamiar napisać funkcję na serwerze ,która pozwoli na wyciągnięcie calej tabeli z bazy ,ale mi nie wychodzi (IMG:
style_emoticons/default/sad.gif) zerknijcie proszę dlaczego:
serwer:
<?php
class Ksiazka {
var $id,$tytul,$cena;
public function Ksiazka($id,$tytul,$cena) {
$this->id = $id;
$this->tytul = $tytul;
$this->cena = $cena;
}
}
function pobierzCene(){
$dbConnection = new mysqli('localhost','root','','ksiegarnia');
$query = "SELECT * from KSIAZKI";
$result = $dbConnection->query($query);
$ile = $result->num_rows;
for($i=0;$i<$ile;$i++) {
$row = $result->fetch_assoc();
$ksiazki[] = new Ksiazka($row['id'],$row['tytul'],$row['cena']);
}
return $ksiazki;
}
require_once ('nusoap.php');
$server = new soap_server();
$server->configureWSDL('server','ksiegarnia');
$server->wsdl->addComplexType('ksiazki',
'complexType',
'struct',
'all',
'',
array('id' =>array
('name'=>'id', 'type'=>'xsd:integer'), 'tytul'=>array('name'=>'tytul', 'type'=>'xsd:string'),
'cena' =>array('name'=>'cena', 'type'=>'xsd:integer')
)
);
$server->register("pobierzCene",
array('tytul'=> 'xsd:string'), array('return' => 'tns:ksiazki'), 'ksiegarnia',
'ksiegarnia#pobierzCene'
);
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ?
$HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
klient:
require_once ('nusoap.php');
$client = new soapclient('http://localhost/Soap/server.php?wsdl');
$cena = $client->__call('pobierzCene',
);
A wynik działania:
stdClass Object ( [id] => [tytul] => [cena] => )
Przy czym tabela pusta nie jest są w niej 3 rekordy (IMG:
style_emoticons/default/sad.gif)
Ten post edytował Robert1985 7.06.2010, 19:51:04