1. wsdl を作成します
手順:
A. 非標準 Web サービスは PHP からのみアクセスできます
B. 標準 Web サービスは wsdl (XML 構文標準を使用する Web サービス記述言語) を使用する必要があります。サービスのコンテンツを記述します。私はこのように理解しています)
ここでは標準的な Web サービスのみを紹介します。
では、wsdl を作成するにはどうすればよいでしょうか?これは PHP にとっては確かに簡単ではありませんが、zend スタジオで作成するのが非常に便利であるという人もいます。しかし、zend Studio を使いたくない人にとっては、Web サービスを作成して Zend Studio をインストールするのは難しすぎると感じるかもしれません。
ここでは、SoapDiscovery.class.php クラスをインターネットからダウンロードします。このメソッドの最後は return です。それは私がやることです:
//return sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL, $serviceWSDL, $messageWSDL, '//wsdl ファイルを生成し、上記の戻り値をコメント化します
$fso = fopen($this->class_name . ".wsdl" , "w"); sprintf('% s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL, $serviceWSDL, $messageWSDL, '
これでクラスができました。 wsdl、SoapDiscovery .class.php★を生成します。
wsdl を作成するためのサービスを提供する別のクラスまたは関数を準備するだけです
たとえば、クラス: person、ファイル名: person.class.php★ があり、2 つあります。その中のメソッドは、1 つは Say で、もう 1 つは run です。とてもシンプルです。
コードをコピー コードは次のとおりです:
class person
{
パブリック関数say()
{
return("私は話しています。");
}
パブリック関数 run()
{
return("私は走っています。");邪魔しないでください。");
}
}
?>
コードをコピーします コードは次のとおりです:
php
include("person.class.php");
$disco = new SoapDiscovery('person', 'person'); //最初のパラメータはクラス名 (生成される wsdl ファイルはそれに基づいて名前が付けられます)、つまり person クラスであり、2 番目のパラメータはサービスの名前です (これは簡単に記述できます)。
$disco->getWSDL();
?>
2. Web サービス サーバー プログラムを作成します
コードをコピー コードは次のとおりです:
include("person .class.php") ;コードは次のとおりです: $client = new SoapClient("person.wsdl") ;
//$client = new SoapClient("server .php?wsdl");//これも機能しますecho($client->say());
echo "
";
echo($client->run());
echo "
";
?>gt;
はい、終わりました。とてもシンプルですよね?
.NET を使用したい場合は、その URL を指定するだけです。
URL を取得する方法: まず、person.wsdl ファイルで
.NET 開発者は、指定された URL を取得すると、サービス参照または Web 参照をプロジェクトに追加し、プロンプトに従って関連する操作を完了できます。これは、.NET を使用する開発者にとって非常に便利です。単純。
ここでは、標準 Web サービス
1 の WSDL の作成
1 のみを紹介します。 SoapDiscovery.class.php クラスをオンラインでダウンロードします
2. SoapDiscovery.class.php のパブリック メソッド getWsdl() を変更して、wsdl ファイルを自動的に生成します (ストレージ パスに注意してください)。ここでは、wsdl モデル
コピー コード を作成するだけです。 コードは次のとおりです:
//return sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL, $serviceWSDL, $messageWSDL, '< ;/settings>');
//wsdl ファイルを生成し、上記に注釈を付けます return
$fso = fopen($this->class_name . ".wsdl" , "w");
fwrite ($fso, sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL, $serviceWSDL, $messageWSDL, ''));
終了 ;
コードをコピー コードは次のとおりです:
//たとえば、クラスがあります。 : person、ファイル名 それは: person.class.php★ で、その中には 2 つのメソッドがあり、1 つはsay であり、もう 1 つは run です。とてもシンプルです。
class person
{
public function Say()
{
return("i'm speech.");
public function run()
{
return("走っているので邪魔しないでください。");
}
}
?>
コードをコピーします コードは次のとおりです:
php
include("person.class.php");
include("SoapDiscovery.class.php"); //最初のパラメータはクラス名 (生成された wsdl)ファイルはそれに基づいています Named)、つまり person クラス、2 番目のパラメータはサービスの名前です (これは気軽に書くことができます)。
$disco = new SoapDiscovery('person','person');
$disco->getWSDL();
5. Web サービス サーバー プログラムを作成します
server.php ファイルの内容をクリアし、次のコードをそのファイルにコピーします:
コードは次のとおりです。 include("person.class.php");
$objSoapServer = new SoapServer("person.wsdl");//person.wsdl作成したばかりの wsdl ファイルです
//$objSoapServer = new SoapServer("server.php?wsdl");//これも機能します
$objSoapServer->setClass("person");//すべて登録しますperson クラスのメソッド
$objSoapServer->handle();//リクエストを処理します
?>
6. Web サービスが有効かどうかをテストする Web サービス クライアント プログラムを作成します。ファイル名は client.php
コードは次のとおりです。 > $client = new SoapClient("person.wsdl");
//$client = new SoapClient("server.php?wsdl");//これecho( $client->say());
echo "
";
echo($client->run()); 「
?>
7. .NET を使用する場合は、その URL を指定するだけです。
URL を取得する方法: まず、person.wsdl ファイルで
.NET 開発者は、指定された URL を取得すると、サービス参照または Web 参照をプロジェクトに追加し、プロンプトに従って関連する操作を完了できます。これは、.NET を使用する開発者にとって非常に便利です。単純。
(1) Web サイトを作成し、Web 参照を作成し、URL を入力します
(2) 強度呼び出し
コードをコピー コードは次のとおりです:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
sdaf.Solsoft_HelloWorld ddd = new sdaf .Solsoft_HelloWorld() ;
Label1.Text = ddd.say()
}
}