2011-11-14 10 views
2

私の石鹸クライアントは正常に動作しており、私は石鹸クライアント(Cで書かれた)からPHPで書かれた石鹸サーバーにデータを送信する方法を探しています。私は基本的には、以下のどのようにPHPの石鹸サーバーは、石鹸クライアントのCプログラムを聞くことができますか?

$soapServer= new SoapServer("test.wsdl"); 
$soapServer->setClass('myClass'); 
$data = file_get_contents('php://input'); 
$soapServer->handle(); 

ようなPHPで開始する。しかし、正確にどのように私はPHPが「聞く」とSOAPクライアントからのデータを受信させることができますか?知っている何

答えて

1

あなたはSOAPサーバーを生成する場合は、あなたの関数を定義する必要があります。

あなたが機能

<?php 
function getItemCount($upc){ 
//in reality, this data would be coming from a database 
$items = array('12345'=>5,'19283'=>100,'23489'=>234); 
return $items[$upc]; 
} 
?> 

今すぐ

<?php 
ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache 
$server = new SoapServer("inventory.wsdl"); 
$server->addFunction("getItemCount"); 
$server->handle(); 
?> 

あなたのSOAPサービスにその機能をその機能を追加しますgetItemCountがSOAPサービスに追加されます

これをacでテストするにはlient:

<?php 
ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache 
$client = new SoapClient("http://[path to the service]/inventory.wsdl"); 
$return = $client->getItemCount('12345'); 
print_r($return); 
?> 

詳細情報および詳細についてはhttp://jimmyzimmerman.com/blog/2007/02/soap-server-with-php5-part3-the-glue-code.html