| 
 
 
			| Joined: 24 Jul 2013 |  | Posts: 2 |  | Location: HYD |    |  | 
	
		|  Posted: Wed Jul 24, 2013 2:14 am |  |  |  |  
		|  |  |  Hi all,
 I am learning php.
 
 I have created Web Service in php using nusoap.dll. I have written price test method it's return integer it's working fine, but when I fetch database, to return array it's returning error. I had tried to resolve the error, but it's still giving error.
 
 Could you tell me where I went wrong.
 
 my php code is:
 //service.php
 
 <?php
 
 /**
 * @author
 * @copyright 2013
 */
 
 require 'lib/nusoap.php';
 require 'functions.php';
 
 $server = new nusoap_server();
 $server -> configureWSDL('WS'.'urn:WS');
 $server -> register(
 "price", //name of the function
 array("name" => 'xsd:string'), //inputs
 array("return" => 'xsd:inter')  //outputs
 );
 
 $server -> register(
 "ReadBooks", //name of the function
 array("productid" => 'xsd:inter'), //inputs
 array("return" => 'xsd:unbounded')  //outputs
 );
 
 /**
 * $server -> register(
 *                     "countbooks", //name of the function
 *                     array(), //inputs
 *                     array()  //outputs
 *                     );
 */
 
 $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
 $server->service($HTTP_RAW_POST_DATA);
 
 ?>
 
 //functions.php
 
 <?php
 
 /**
 * @author
 * @copyright 2013
 */
 
 function price($name){
 
 $details=array('abc'=>100,
 'xyz'=>200);
 foreach($details as $n => $p){
 if($name==$n){
 $prices = $p;
 }
 }
 return $prices;
 }
 
 function ReadBooks($productid)
 {
 mysql_connect("localhost","root","") or die(mysql_error());
 mysql_select_db("Sample") or die(mysql_error());
 $myQuery='Select * from php_shop_products where product_id='.$productid;
 $results = mysql_query($myQuery);
 if($results===false){
 return die($myQuery."<br/><br/>".mysql_error());
 }
 else{
 return $results;
 }
 return die(mysql_error());
 }
 
 /*$results =ReadBooks(1);
 
 while($row =mysql_fetch_array($results)){
 echo $row['name'];
 }*/
 
 
 ?>
 
 //client.php
 
 <?php
 
 /**
 * @author
 * @copyright 2013
 */
 
 require 'lib/nusoap.php';
 
 $client = new nusoap_client("http://localhost:8080/myfiles/examples/WS/service.php?wsdl");
 $book_name="xyz";
 $prices=$client->call('price',array("name"=>"$book_name"));
 
 echo $prices . '<br/>';
 
 
 $productid=1;
 $results=$client->call('ReadBooks',array("productid"=>$productid));
 
 while($row =mysql_fetch_array($results)){
 echo $row['name'];
 }
 
 
 
 ?>
 
 
 
 it's returning error:
 
 First function result : 200 //success
 
 //second function error
 
 Fault:
 
 Array
 (
 [faultcode] => SOAP-ENV:Server
 [faultactor] =>
 [faultstring] => unable to serialize result
 [detail] =>
 )
 
 
 Could you tell me where I went wrong.
 
 Thanks in advance..........
 | 
	| 
 |