私はWebサービスが初めてで、Webサービスを作成する方法を探していましたが、現時点では何とか作成できたと思いますが、結果は返されません。私はnusoapとCodeigniterを使用しています。
WebService サーバーは、というアプリケーションにあります。WebServiceTester
Bills_WS
以下は、サーバーとして機能するコントローラーのコードです。
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";
}
}
それを呼び出すには、トランザクション コントローラーで使用されている ws_client ライブラリの下にある ussccsv1 という別のアプリケーション (同じマシン) で呼び出しています。
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);
}
}
}
私もnusoap_lib
使用しています:
class Nusoap_lib
{
function nusoap_lib()
{
include(APPPATH.'libraries/nusoap/nusoap'.EXT);
}
}
私の質問は次のとおりです。 1. で Web サービスを呼び出すにはどうすればよいbills_ws
ですか? は$url
正しいですか?これまでのところ、404 エラー HTTP が見つかりません。2. 障害はws_client
またはにありbills_ws
ますか? 3.しかし、私がそれをエコーするときcount($r)
、それは私に与えます。ws_client = 1
このチュートリアルに従おうとしていますが、完全には理解していないようです: - http://www.phpeveryday.com/articles/PHP-Web-Services-Fetching-Data-From-Database-P105.html - http ://ellislab.com/forums/viewthread/59710/
前もって感謝します。