nusoap codeigniter webservice serveur et le client
Je suis nouveau dans webservice, et ont été à la recherche dans la façon de créer des web service, pour le moment, je pense que j'ai un peu réussi à faire un, mais il ne renvoie aucun résultat. Je suis à l'aide de nusoap et aussi Codeigniter.
Le WebService Serveur dans une application appelée WebServiceTester
ci-dessous est le code pour le Bills_WS
contrôleur qui servent le serveur:
class Bills_WS extends CI_Controller
{
function __construct()
{
parent:: __construct ();
}
public function index()
{
$this->load->library('Nusoap_lib');
$namespace = "http://localhost:8080/webservicetester/bills_ws.php?wsdl";
$server = new nusoap_server;
$server->configureWSDL('WebServiceTester');
$server->wsdl->schemaTargetNamespace = $namespace;
$server->register('hello');
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
}
function hello()
{
return "greetings from server";
}
}
et de l'appeler, je l'appelle dans une autre application(même machine) appelé ussccsv1 sous ws_client de la bibliothèque qui est utilisé dans le contrôleur de transaction:
class Ws_client
{
private $CI = null;
function __construct()
{
$this->CI =& get_instance();
}
public function transaction_send_ws($param)
{
$this->CI->load->library('nuSoap_lib');
$url = 'http://localhost/webservicetester.php/bills_ws?wsdl';
$client = new nusoap_client($url);
$response = $client->call('hello');
if($client->fault)
{
echo "FAULT:".$client->faultcode;
echo "string: ".$client->faultstring;
}
else
{
$r = $response;
count($r);
echo "count".count($r);
}
}
}
Je suis également, y compris le nusoap_lib
je suis en utilisant:
class Nusoap_lib
{
function nusoap_lib()
{
include(APPPATH.'libraries/nusoap/nusoap'.EXT);
}
}
mes questions sont les suivantes:
1. Comment puis-je invoquer le service web dans le bills_ws
? est le $url
correct? coz jusqu'à présent, il me donne erreur 404 HTTP introuvable.
2. La faute est dans ws_client
ou bills_ws
?
3. mais il me donne une count($r)
dans ws_client = 1
quand je l'écho.
Tentent de suivre ce tutoriel, mais je ne semble pas le comprendre pleinement:
-http://www.phpeveryday.com/articles/PHP-Web-Services-Fetching-Data-From-Database-P105.html
-http://ellislab.com/forums/viewthread/59710/
Vous en remercie d'avance.
- A résolu le problème: utilisé cet exemple pour le résoudre: board.phpbuilder.com/...
- Si vous avez résolu le problème, merci de poster la réponse ici et d'accepter votre réponse, afin que d'autres en profiteront également.
Vous devez vous connecter pour publier un commentaire.
Solution pour le code ci-dessus.
De Votre Contrôleur:
Faire Entrée dans /config/routes.php
Accès WSDL Cette URL
j'espère que vous pouvez voir XML sur navigateur maintenant.
Le Code Client SOAP.
Accès Client SOAP Maintenant
Fait.