複雑なオブジェクトでの作業
SOAPService GetContact メソッドは、Contact のインスタンスである複雑なオブジェクト・インスタンスを返します。Caché Web サービス・メソッドは、複雑なオブジェクトを引数として受け入れることもできます。複雑なオブジェクトの返り値と同様、引数の複雑なオブジェクト・タイプは XML 対応である必要があります。つまり、%XMLAdaptor を拡張したものである必要があります。
以下のメソッド SaveContact は、Contact のインスタンスをパラメータとして受け入れ、それをデータベースに保存します。このメソッドは、新規に作成された Contact インスタンスの ID 値を返します。
スタジオ・クラス・エディタを使用して、以下のメソッドを SOAPService クラスに追加します。[ビルド]→[コンパイル] をクリックして、クラスをリコンパイルします。
Method SaveContact(contact As SOAPTutorial.Contact)
As %Integer [ WebMethod ]
{
set sc = contact.%Save()
if sc {
quit contact.%Id()
}
else {
quit 0
}
}