Page 1 of 1

NUSOAP

Posted: Thu Feb 03, 2011 11:49 am
by flaviusilaghi
Hy.I have a problem. I want to return the data from a database using the nusoap library but i only get is "array" . Here is my Server:

Code: Select all

<?php

require_once('lib/nusoap.php'); 
/*
		$connection = mysql_connect('localhost', 'root', '');
		if(!$connection)
		{
			die('Not connected:'.mysql_error());
		}
		$db_selected = mysql_select_db('convertor',$connection);
		if(!$db_selected) {
			die('eroare database '.mysql_error());
		}
		$rates=array();
		$query="Select * FROM curs ";
		$result=mysql_query($query);
		//$row = mysql_fetch_array($result, MYSQL_ASSOC);
		//print_r($row);
*/
$server = new nusoap_server;
 
$server->configureWSDL('server', 'urn:server');
 
$server->wsdl->schemaTargetNamespace = 'urn:server';

$server->wsdl->addComplexType(
    'curs',
    'complexType',
    'struct',
    'all',
    '',
    array(
	
     'Id'=>array('name'=>'Id','type'=>'xsd:int'),
	 'Moneda'=>array('name'=>'Moneda','type'=>'xsd:string'),
     'Curs'=>array('name'=>'Curs','type'=>'xsd:double'),
	 'Multiplier'=>array('name'=>'Multiplier','type'=>'xsd:int'),
	 'Data'=>array('name'=>'Data','type'=>'xsd:date'))
    );
 
$server->register('getData',
			array('value' => 'xsd:string'),
			array('return' => 'xsd:curs'),
			'urn:server',
			'urn:server#getData');
			
		//$row = mysql_fetch_array($result, MYSQL_ASSOC);
		/*
		while($row = mysql_fetch_array($result, MYSQL_ASSOC))
		{
			array_push($rates,$row);
		}
		*/
		//print_r($row);
 
function getData(){
		$connection = mysql_connect('localhost', 'root', '');
		if(!$connection)
		{
			die('Not connected:'.mysql_error());
		}
		$db_selected = mysql_select_db('convertor',$connection);
		if(!$db_selected) {
			die('eroare database '.mysql_error());
		}
		$rates=array();
		$query="Select * FROM curs";
		$result=mysql_query($query);
		$row = mysql_fetch_array($result, MYSQL_ASSOC);
		
		while($row = mysql_fetch_array($result, MYSQL_ASSOC))
		{
			array_push($rates,$row);
		}
		
		//var_dump($test);
		return $rates;
}

$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
 
$server->service($HTTP_RAW_POST_DATA);
?>
And here is my client:

Code: Select all

<?php

require_once('lib/nusoap.php');

$url = "http://localhost/nusoap/server.php?wsdl";
 
$client = new nusoap_client($url);
 
$err = $client->getError();
 
if ($err) {
    echo '<p><b>Error: ' . $err . '</b></p>';
}
 
//$args = array('value' => 'Bad');
 
$return = $client->call('getData');

print_r($return) ;
// Display the request and response
echo '<h2>Request</h2>';
echo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2>';
echo '<pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';

?>
Please someone help me.