GeneXus X バージョンには、サービスの提供および利用のための新しい機能が含まれています。
- [ XML Information ] プロパティ:XML での SDT の視覚的表現を向上する SDT アイテムのプロパティのセットがあります。これは、これらの特徴を持つ SDT を返すサービスに影響します。詳細については [ Xml Information ] プロパティを参照してください。
- 変数または Blob 項目属性は、Web サービスのパラメーターとして返すことができます。
ファイルの Base 64 を返します (以前のバージョンではファイル パスを返していましたが、この機能は使用できなくなりました)。この機能は大きく制限されており、バイナリー ファイル管理の実装とみなすことはできません。データの圧縮はできず、サイズの大きいファイルはパフォーマンスを低下させます。この実装は、&Blob.ToBase64String() 関数の使用と類似するものです。これらの特徴を持つサービスを使用する場合、&Blob.FromBase64String(&ContentBase64) 関数を使用できます。詳細については Base64 における Blob を参照してください。
Web サービスの利用
- 最も重要な変更点は外部オブジェクト データ タイプの追加であり、サービス情報 (および言語のネイティブ オブジェクトや格納されたプロシージャー) の集中管理が可能となっています。オブジェクト情報の集中管理は、たとえば、(XML やデータ タイプの) 場所の使用を避けて同じ外部オブジェクト内でプロパティを変更することにより、プロトタイプの作業を簡略化するため、利便性に直接影響します。
詳細については 外部オブジェクト WSDL のドキュメンテーションを参照してください。 - コレクションのシリアル化。これは SDT コレクション (SDT 内部で定義される) のプロパティであり、XML による SDT の記載を設定できるようにします。これは、送信されるメッセージに関する制限の多い一部のサービスにおいて必要です。Customer の SDT 内に Cities のコレクションがある場合、次のように (ラップされた状態で) シリアル化できるということを意味します:
<Country> <Cities> <CityName>Montevideo</CityName> <CityName>Maldonado</CityName> ... </Cities> </Country>
または、シーケンスとして:
<Country> <CityName>Montevideo</CityName> <CityName>Maldonado</CityName> ... </Country>
互換性
以前のバージョンからナレッジベースを変換する場合、該当する WSDL 外部オブジェクトが作成されます。これ以外に必要な作業はありません。
Web サービスを利用するアプリケーションを最新バージョンの GeneXus に移行する方法として、ナレッジベースの変換が推奨されています。 ただし、GeneXus 9.0 で開発した xpz ファイルをインポートする方法もあります。この場合、外部オブジェクトの名前を GeneXus 9.0 で定義されたとおりに変更する必要があります。 詳細は次のサンプルで確認してください:
http://localhost/services/aprc01.aspx?wsdl で説明されている Web サービスが使用されています。
このサービスはほかのナレッジベース (GeneXus 9.0) において次のコードとともに使用されています:
&outval = &ws.Execute(&inval)
ws 変数は、Namespace.aprc01 データ タイプに基づいています。
このコードは、GXW.xpz. としてエクスポートされます。
GeneXus X へのインポートを行うには、次の手順に従います:
1. GeneXus X バージョンを開いて [ ツール ] > [ アプリケーションの統合 ] > [ WSDL インポート ] を実行します。
2. URL (http://localhost/services/aprc01.aspx?wsdl) を入力すると、次のようなオブジェクト名が表示されます:aprc01
3. この値を Namespace_aprc01 に置き換えます。
4. ウィザードを終了して GXW.xpz ファイルをインポートします。
|