ホームページ >バックエンド開発 >PHPチュートリアル >PHP SOAP サーバーサイド C# client_PHP チュートリアル
最近、PHP 用の SOAP サーバーを作成し、PHP クライアントの呼び出しを可能にしましたが、マニュアルを読んだ後、長い間探しましたが、最終的にアクセスできませんでした。 NuSOAPを試してみました
SF.netのオープンソースプロジェクトで、効果は非常に高く、Eacyは必要な機能を実現できます
C# Web サービス (サーバー側) は実装が非常に簡単で、C# クライアント呼び出しも非常に便利です
PHP の Web サーバーは通常、提供されるサービスを記述する .wsdl ファイルを生成します
。
私の最初の PHP Web サービスを見てみましょう
/**
* ProcessSimpleType メソッド
* @param string $who 挨拶する人の名前
* @return string $helloText hello 文字列
*/
関数 ProcessSimpleType($who) {
「こんにちは $who さん、ようこそ http://www.my400800.cn";";
を返します
}
?>
最初に nusoap を忘れずにダウンロードしてくださいhttp://www.BkJia.com/uploadfile/2011/0825/20110825031745407.zip
require_once("lib/nusoap/nusoap.php");
$namespace = "http://www.my400800.cn";
// 新しいソープサーバーを作成します
$server = 新しいsoap_server();
// WSDL を設定します
$server->configureWSDL("SimpleService");
// 名前空間を設定します
$server->wsdl->schemaTargetNamespace = $namespace;
// WebMethod を登録します
$server->登録(
// メソッド名:
'プロセスシンプルタイプ'、
// パラメータリスト:
array('name'=>'xsd:string'),
// 戻り値:
array('return'=>'xsd:string'),
// 名前空間:
$名前空間、
//soapaction: (デフォルトを使用)
偽、
// rpc またはドキュメント
「rpc」、
// エンコードまたはリテラルを使用します
「エンコード済み」、
// 説明: メソッドのドキュメント
'単純な Hello World Web メソッド');
// サービスが使用されている場合は、投稿されたデータを取得します
// それ以外の場合は、このデータを空白のままにしておきます。
$POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) $GLOBALS['HTTP_RAW_POST_DATA'] : '';
// 投稿されたデータ (または何も) を SOAP サービスに渡します
$server->service($POST_DATA);
exit();
?>
書いてから使えます
.net を開いて引用を追加します
次に wsdl をクリックすると、以下に示すように、提供されているサービスが表示されます
C# 呼び出しコード
private void button1_Click(オブジェクト送信者, EventArgs e) {
SimpleService svc = new SimpleService();
string s = svc.ProcessSimpleType("400 電話 VIP ユーザー");
MessageBox.Show(s);
}
結果