NuSOAP チュートリアル_PHP チュートリアル
这个文档描述了如何取得和安装 NuSOAP,然后提供一些实例来说明 NuSOAP 的功能,这并不是一个全面的 NuSOAP 的介绍,但是希望能够然一些 PHP 开发者可以有一个很好的入门。 NuSOAP 是一组 PHP 类,它让开发者可以创建和使用 SOAP web services。它不需要安装任何的 PHP 扩展。它是在2004年12月3日被开发,当前的版本是 NuSOAP(0.6.7) 。支持 SOAP 1.1 规范,它能够生产 WSDL 1.1 ,当然也可以使用它,同时也支持 rpc/encoded and document/literal service。但是,必须注意 NuSOAP 没有像 .NET 和 Apache Axis 那样提供完全的实现。 Hello, World 我们先从服务器端开始,应为没有服务器端,有客户端也是没有意义的。我们将编写一个带有单个参数并返回一个字符串,名叫 Hello 的 SOAP 方法,希望代码中的注释能够提供有效的说明。 // Pull in the NuSOAP code 以下是客户端的代码,有一些重要的事情需要注意:首先,当创建实例 soapclient 时,需要指定一个 service 的 URL 为参数,在这个实例中,helloworld.php 从 http://localhost/phphack 访问的。当然,你要使用的 services 放在不同的 URL;第二,当调用service 时,第一个参数是 service 的名字,必须要匹配有效的方法名(有的服务器是大小写敏感的)。在这个实例,他必须匹配在 helloworld.php 中已经注册了的方法。最后,第二个参数是一个数组,它将是传递给 SOAP service 方法作为参数。既然 helloworld.php 中的方法 hello 只有一个参数,那么数组就只有一个元素。 // Pull in the NuSOAP code Debugging // Pull in the NuSOAP code
我会以 "Hello, World" 为实例做开始,编写基本的 NuSOAP 客户端和服务器端的代码。
require_once(nusoap.php);
// Create the server instance
$server = new soap_server;
// Register the method to expose
$server->register(hello);
// Define the method as a PHP function
function hello($name) {
return Hello, . $name;
}
// Use the request to (try to) invoke the service
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ;
$server->service($HTTP_RAW_POST_DATA);
?>
require_once(nusoap.php);
// Create the client instance
$client = new soapclient(http://localhost/phphack/helloworld.php);
// Call the SOAP method
$result = $client->call(hello, array(name => Scott));
// Display the result
print_r($result);
?>
编程时,当有问题出现的时候你都需要调试。NuSOAP 提供了一组工具来帮助你做这个工作。NuSOAP 调试的时候需要查看的信息是发送的请求信息和返回的相应信息。NuSOAP 的客户端类允许你通过它的两个成员来查看这些信息。例如,这里是显示请求和响应的 helloworldclient.php 的修改版。在下一部分我会回顾显示在客户端代码的请求和响应信息。
require_once(nusoap.php);
// Create the client instance
$client = new soapclient(http://localhost/phphack/helloworld.php);
// Call the SOAP method
$result = $client->call(hello, array(name => Scott));
// Display the result
print_r($result);
// Display the request and response
echo Request
;
echo . htmlspecialchars($client->request, ENT_QUOTES) .
;
echo Response
;
echo . htmlspecialchars($client->response, ENT_QUOTES) .
;
?>
NuSOAP 也提供了一个方法使用它的类就可以通过日志来查看调试信息。加入以下的代码将会显示冗长的调试信息。不幸的是输出的说明必须留给读者。
// Display the debug messages
echo
Debug
;echo
. htmlspecialchars($client->debug_str, ENT_QUOTES) .;
服务器端能够提供相似的调试信息,有趣的是,这些调试信息是在SOAP 的相应的末尾以 xml 格式显示,因此它可以在客户端中查看到。服务器端的调试看起来像这样:
// NuSOAP コードを取り込みます
require_once(nusoap.php);
// サーバー インスタンスを作成する *前* デバッグを有効にします
$debug = 1;
// サーバー インスタンスを作成します
$server = new soap_server;
// 公開するメソッドを登録します
$server->register(hello);
// メソッドを PHP 関数として定義します
function hello($name) {
Return $name;
}
// リクエストを使用してサービスを呼び出します
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ;
$server->service($HTTP_RAW_POST_DATA);
?>
3 番目のデバッグ方法は実際のデバッグではなく、良いプログラミングの練習です。上記の例では、SOAP を呼び出すときにエラー チェックを行いません。より堅牢なクライアントは次のようになります。
// NuSOAP コードを取り込みますrequire_once(nusoap.php);
// クライアント インスタンスを作成します
$client = newsoapclient(http://localhost/phphack/helloworld.php);
/ / エラーを確認します
$err = $client->getError();
if ($err) {
// エラーを表示します
echo
コンストラクタエラー: . /b>
;// この時点で、後続の呼び出しは失敗することがわかります
}
// SOAP メソッドを呼び出します
$result = $client->call(hello, array(name = > Scott));
// 障害をチェックします
if ($client->fault) {
echo
Fault: ;
print_r($result);
echo ;
} else {
// エラーをチェック
$err = $client->getError();
if ($err) {
// エラーを表示
echo
< ;b>エラー: . $err .
;} else {
コードをテストするには、エラーを発生させる必要があります。たとえば、呼び出されるメソッド名 hello を Goodbye に変更します。
リクエストとレスポンス
上記の例では、SOAP リクエストとレスポンス情報を表示するのがいかに簡単かを示しました。hello2client.php のリクエスト情報は次のとおりです。
POST /phphack/helloworld2.php HTTP/1.0ホスト: localhost
ユーザーエージェント: NuSOAP/0.6.8 (1.81)
Content-Type: text/xml; charset=ISO-8859-1SOAPAction: ""
コンテンツの長さ: 538
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
xmlns:si="http:/ /soapinterop.org/xsd">
HTTP ヘッダーでは、SOAPAction が空の文字列。これはデフォルト値です。サービス メソッドで SOAPAction の値を設定し、クライアント コードで SOAPAction をパラメータとして指定してメソッドを呼び出すことができます。
XML ペイロードでは、NuSOAP が Latin-1 としてよく知られている ISO-8859-1 をエンコーディングとして使用していることがわかります。別のエンコーディングを指定するには、クライアントのsoapclient インスタンスにsoap_defencoding 属性を設定します。もちろん、指定されたエンコーディングを使用してパラメータ データをエンコードするのはプログラマの責任です。幸いなことに、PHP には、UTF-8 など、SOAP で最も一般的なエンコード データをエンコードおよびデコードするための関数が多数用意されています。
もう 1 つの注意点は、hello という名前の要素が http://tempuri.org のドメイン名の下に配置されることです。多くのサービスでは、実際のドメイン名を指定するのがベスト プラクティスです。も非常に必要です。将来のドキュメントはここに示されています:
SOAP サービスの応答は次のようになります:
サーバー: Microsoft-IIS/5.0
日付: Wed, 03 Nov 2004 21:32:34 GMTX-Powere

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









夏の雨の後には、美しく魔法のような特別な天気の風景、虹がよく見られます。これも写真撮影ではなかなか出会えない光景で、とてもフォトジェニックです。虹が現れるにはいくつかの条件があります。まず、空気中に十分な水滴があること、そして、低い角度から太陽が当たることです。そのため、雨が上がった午後が最も虹が見えやすいのです。ただし、虹の発生は天候や光などの条件に大きく左右されるため、一般に虹の持続時間は短く、見頃や撮影に最適な時間はさらに短くなります。では、虹に遭遇したとき、どうすれば虹を適切に記録し、高品質の写真を撮ることができるでしょうか? 1. 虹を探す 上記の条件に加えて、虹は通常、太陽光の方向に現れます。つまり、太陽が西から東に輝いている場合、虹は東に現れやすくなります。

Win7 コンピュータに Go 言語をインストールする詳細な手順 Go (Golang とも呼ばれます) は、Google によって開発されたオープン ソース プログラミング言語です。シンプルで効率的で、優れた同時実行パフォーマンスを備えています。クラウド サービス、ネットワーク アプリケーション、およびアプリケーションの開発に適しています。バックエンド システムです。 Win7 コンピューターに Go 言語をインストールすると、その言語をすぐに使い始めて、Go プログラムの作成を開始できるようになります。以下では、Win7 コンピューターに Go 言語をインストールする手順を詳しく紹介し、具体的なコード例を添付します。ステップ 1: Go 言語インストール パッケージをダウンロードし、Go 公式 Web サイトにアクセスします。

PHP チュートリアル: Int 型を文字列に変換する方法 PHP では、整数データを文字列に変換するのが一般的な操作です。このチュートリアルでは、PHP の組み込み関数を使用して int 型を文字列に変換する方法を、具体的なコード例を示しながら紹介します。キャストを使用する: PHP では、キャストを使用して整数データを文字列に変換できます。この方法は非常に簡単で、整数データの前に(文字列)を追加するだけで文字列に変換できます。以下は簡単なサンプルコードです

必須の PHP プログラム: スムーズに実行するには、これらをインストールしてください。 PHP は、Web アプリケーションの開発に広く使用されている人気のあるサーバー側スクリプト言語です。 PHP プログラムを正常に実行するには、まず必要なソフトウェアとツールをサーバーにインストールする必要があります。この記事では、PHP プログラムをスムーズに実行するためにインストールする必要があるソフトウェアとツール、および具体的なコード例を紹介します。 1. PHP インタープリター PHP プログラムの中核は PHP インタープリターであり、PHP コードの解析と実行を担当します。 PHP インタープリターをインストールするには、次のようにします。

PHPFFmpeg 拡張機能インストールガイド: シンプルでわかりやすいチュートリアル Web サイト開発のプロセスでは、オーディオ、ビデオなどのさまざまなマルチメディア ファイルを処理する必要がある場合があります。 FFmpeg は、オーディオ、ビデオ、その他の形式を処理できる強力なマルチメディア処理ツールで、さまざまなトランスコーディング、カット、その他の操作をサポートします。 PHPFFmpeg 拡張機能は、PHP の FFmpeg 関数を呼び出す拡張ライブラリで、マルチメディア ファイルを簡単に処理するために使用できます。以下ではPHPFについて詳しく紹介していきます

360 セキュア ブラウザをコンピュータにダウンロードするにはどうすればよいですか?非常に安全な Web ブラウザ ソフトウェアです。このブラウザは機能が豊富で、操作が非常に簡単です。360 セキュア ブラウザを使用して Web を閲覧すると、ユーザーのプライバシーとセキュリティを非常によく保護できます。多くの人がこのブラウザを使用することを好みます。ブラウザ オフィス、しかし、多くの人はまだ 360 セキュア ブラウザをコンピュータにダウンロードしてインストールする方法を知りません。この記事では、360 セーフ ブラウザ PC 版のインストール プロセスを詳しく紹介し、問題の解決に役立つことを願っています。 360 Secure Browser のコンピュータ バージョンでのインストール プロセスの概要 1. コンピュータのメイン ページで、「360 Software Manager」を見つけて入力します (図を参照)。 2. 360 ソフトウェア マネージャーを開き、検索ボックスを見つけます (図を参照)。 3. 「検索」をクリックします。

モバイル Hejiaqin APP は、家族管理、インテリジェント制御、家族コミュニケーションを統合する包括的なソフトウェアです。インテリジェントで便利な操作を通じて、ユーザーにとって快適でインテリジェントで調和のとれた家庭環境を構築することを目指しています。このアプリケーションを通じて、ユーザーは自宅のさまざまなスマートデバイスを簡単に制御および管理し、スマートライフがもたらす利便性を享受できます。では、モバイル アプリと Jiaqin アプリの具体的な機能は何ですか? 詳細を知りたいユーザーは、この記事に従って詳細を確認してください。 Mobile and Jiaqin アプリの使い方チュートリアル: Mobile and Jiaqin アプリの用途は何ですか? IT の知識がなくても、簡単にネットワークを管理できます。 3. 自宅から何千マイルも離れていても、家に帰って視聴できる 4. 豊富な機能で、スマートライフを楽しむ

GateToken(GT)通貨とは何ですか? GT (GateToken) は、GateChain チェーンのネイティブ資産であり、Gate.io の公式プラットフォーム通貨です。 GT コインの価値は、Gate.io および GateChain エコロジーの発展と密接に関連しています。ゲートチェーンとは何ですか? GateChain は 2018 年に誕生し、Gate.io によって開始された新世代の高性能パブリック チェーンです。 GateChain は、ユーザーのオンチェーン資産のセキュリティを保護し、便利な分散トランザクション サービスを提供することに重点を置いています。 GateChain の目標は、エンタープライズレベルの安全で効率的な分散型デジタル資産ストレージ、配信、およびトランザクションのエコシステムを構築することです。ゲートチェーンにはオリジナルがあります
