Web メソッドの追加
Web メソッドは、Web サービスとして公開されるメソッドです。SOAP クライアントは、メソッドにアクセスすることができます。前述のように、Web メソッドは、以下の基準を満たす通常の Caché メソッドです。
-
WebMethod 属性でタグ付けされる。
-
Web メソッドが返すオブジェクト、または引数として受け入れるオブジェクトはすべて、XML 対応である。つまり、%XML.AdaptorOpens in a new tab を拡張したクラスのインスタンスです。
-
Web メソッドは、クラス・メソッドにすることも可能ですが、一般的にはインスタンス・メソッドにします。ほとんどの場合、Web サービス・クラスのプロパティは Web メソッド内から制御することになるので、インスタンス・メソッドが必要になります。
次のメソッドでは、指定された id 値を持つ Contact インスタンスが取得され、それがクライアントに返されます。Web サービスのクライアントは、このメソッドを使用して Caché から Contact インスタンスを取得することができます。スタジオのクラス・エディタを使用して、SOAPService クラスにこのメソッドを追加し、[ビルド]→[コンパイル] をクリックしてクラスをコンパイルします。
Method GetContact(id As %String) As SOAPTutorial.Contact [ WebMethod ]
{
if ##class(SOAPTutorial.Contact).%ExistsId(id){
quit ##class(SOAPTutorial.Contact).%OpenId(id)
}
else {
quit ""
}
}