ホームページ  >  記事  >  バックエンド開発  >  PHP で wsdl を使用して標準の webservice_PHP チュートリアルを作成する

PHP で wsdl を使用して標準の webservice_PHP チュートリアルを作成する

WBOY
WBOYオリジナル
2016-07-13 17:47:34926ブラウズ

説明:

• 非標準の Web サービスは PHP 経由でのみアクセスできる場合があります

• 標準 Web サービスの場合は、wsdl を使用する必要があります

ここでは標準的な Web サービス www.2cto.com のみを紹介します

1.WSDLを作成します

1. SoapDiscovery.class.php クラスをオンラインでダウンロードします

2. SoapDiscovery.class.php のパブリック メソッド getWsdl() を変更して、wsdl ファイルを自動的に生成します (ストレージ パスに注意してください)。ここでは、wsdl モデルを作成するだけです

1 //return sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL, $serviceWSDL, $messageWSDL, '');

2 // wsdl ファイルを生成し、上記をコメントして return

3 $fso = fopen($this->class_name . ".wsdl" , "w");

4 fwrite($fso, sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL, $serviceWSDL, $messageWSDL, '') );

5 出口;

3.サービスを提供するクラスまたは関数

1 //たとえば、クラス: person があり、ファイル名は: person.class.php★、そこには 2 つのメソッドがあり、1 つはsay で、もう 1 つは run です。とてもシンプルです。

2

3クラスの人

4 {

5 パブリック関数say()

6 {

7 return("私は話しています。");

8 }

9 パブリック関数 run()

10 {

11 return(「走っているので邪魔しないでください。」);

12 }

13 }

14 ?>

4.正式に wsdl の生成を開始します:

ファイルserver.phpを作成します。次のコンテンツをコピーして実行し、person.wsdl ファイルを生成します

1

2 include("person.class.php");

3 include("SoapDiscovery.class.php");

4 //最初のパラメータはクラス名 (生成される wsdl ファイルはそれに基づいて名前が付けられます)、つまり person クラスであり、2 番目のパラメータはサービスの名前です (これは気軽に記述できます)。

5 $disco = new SoapDiscovery('person','person');

6 $disco->getWSDL();

7 ?>

5. Webサービスサーバープログラムを作成します

server.php ファイルの内容をクリアし、次のコードをコピーします。

1

2 include("person.class.php");

3 $objSoapServer = new SoapServer("person.wsdl");//person.wsdl は作成したばかりの wsdl ファイルです

4 //$objSoapServer = new SoapServer("server.php?wsdl");//これも機能します

5 $objSoapServer->setClass("person");//personクラスのメソッドをすべて登録します

6 $objSoapServer->handle();//リクエストの処理

7 ?>

6. Web サービスが有効かどうかをテストするための Web サービス クライアント プログラムを作成します。ファイル名は client.php

です。

$client = new SoapClient("person.wsdl");

//$client = new SoapClient("server.php?wsdl");//これも機能します

echo($client->say());

エコー "
";

echo($client->run());

エコー "
";

?>

7。 .NET を使用したい場合は、その URL を指定するだけです。

URL を取得する方法: まず、person.wsdl ファイルで を検索します (特定の URL は以下に基づいて決定されます)。 your directory) ) は、.NET 開発者に提供したいものです。ただし、すぐに満足しないでください。 http://xxxxxxxxxxxxxxxxxxxx/server.php?wsdl の後に「?wsdl」を追加する必要があります。これは正しいです。ブラウザのアドレスバーにURLを入力して見てください。

.NET 開発者は、指定された URL を取得すると、サービス参照または Web 参照をプロジェクトに追加し、プロンプトに従って関連する操作を完了できます。これは、.NET を使用する開発者にとっては非常に簡単です。

(1) Webサイトを作成し、Web参照を作成し、URLを入力します

(2) 力の呼び声

protected void Page_Load(オブジェクト送信者, EventArgs e)

{

if (!IsPostBack) {

sdaf.Solsoft_HelloWorld ddd = 新しい sdaf.Solsoft_HelloWorld();

Label1.Text = ddd.say();

}

}

添付ファイルのダウンロード: http://www.BkJia.com/uploadfile/2011/1208/20111208050034814.rar

2011-12-07 21:37:56

著者ディム

www.bkjia.com本当http://www.bkjia.com/PHPjc/478495.html技術記事注: 非標準 Web サービスの場合、PHP のみが標準 Web サービスにアクセスできるため、wsdl を使用する必要があります。ここでは標準 Web サービス www.2cto.com のみを紹介します。 1. WSDL を作成します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。