ユーザーズ ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容

XQuery の実装

AquaLogic Service Bus では、XQuery エンジンの BEA AquaLogic Data Services Platform 実装を使用します。XQuery エンジンは、1 つの例外 (モジュール) を除き、XQuery の W3C (World Wide Web Consortium) の仕様に記載されているすべての言語機能を完全にサポートしています。

以下の XQuery 関数もサポートしています。

すべての BEA の拡張関数で、次の関数プレフィックス fn-bea: を使用します。たとえば、XQuery の完全な表記では拡張関数は fn-bea: function_name になります。

 


AquaLogic Data Services Platform でサポートされる拡張関数

AquaLogic Service Bus は、以下の関数を除き、BEA AquaLogic Data Services Platform が提供するすべての拡張関数をサポートしています。

以下の関数は使用しないでください。他の言語機能で代用することをお勧めします。

AquaLogic Data Services Platform の拡張関数のリストと各関数の説明については、『XQuery Developer's Guide』の「BEA XQuery Implementation」を参照してください。

 


AquaLogic Service Bus での拡張関数

AquaLogic Service Bus には、以下の XQuery 関数が用意されています。

fn-bea:lookupBasicCredentials

fn-bea:lookupBasicCredentials 関数は、指定されたサービス アカウントのユーザ名と暗号化されていないパスワードを返します。任意のタイプのサービスアカウントを指定できます (静的、パススルー、またはユーザマッピング)。『AquaLogic Service Bus Console の使い方』の「サービス アカウント」を参照してください

fn-bea:lookupBasicCredentials 関数は、カスタム転送ヘッダ、または SOAP エンベロープのアプリケーション固有の場所にあるユーザ名とパスワードのエンコードに使用する XQuery 関数の大規模なセットの一部として使用します。ユーザ名とパスワードのみを HTTP 認証ヘッダに含める必要がある場合、または同様に WS-Security ユーザ名トークンのみの場合は、この関数を使用する必要はありません。AquaLogic Service Bus は事前にサービス アカウントからユーザ名とパスワードを取得し、必要に応じて HTTP 認証ヘッダにエンコードします (WS-Security ユーザ名トークンの場合も同様)。

関数には以下の署名が含まれます。

fn-bea:lookupBasicCredentials( $service-account as xs:string ) as UsernamePasswordCredential

ここで、$service-account は、以下の形式のサービス アカウントのパスと名前です。

project-name[/folder[...]]/service-account-name

戻り値は、以下の形式の XML 要素です。

<UsernamePasswordCredential
   xmlns="http://www.bea.com/wli/sb/services/security/config">
   <username>
name</username>
   <password>
unencrypted-password</password>
</UsernamePasswordCredential>

返された要素をユーザ定義の変数に保管し、必要なときにこの変数からユーザ名とパスワード値を取得できます。

たとえば、AquaLogic Service Bus プロジェクトには、myProject という名前が付けられます。myServiceAccount という名前の静的なサービス アカウントを、myFolder1/myFolder2 という名前のフォルダに作成します。サービス アカウントに、ユーザ名 pat とパスワード patspassword を保存します。

サービス アカウントのユーザ名とパスワードを取得するには、以下の関数を呼び出します。

fn-bea:lookupBasicCredentials( myProject/myFolder1/myFolder2/myServiceAccount )

関数は以下の要素を返します。

<UsernamePasswordCredential
   xmlns="http://www.bea.com/wli/sb/services/security/config">
   <username>pat</username>
   <password>patspassword</password>
</UsernamePasswordCredential>

fn-bea: uuid()

関数 fn-bea:uuid() は、汎用一意識別子を返します。関数には以下の署名が含まれます。

fn-bea:uuid() as xs:string

この関数をプロキシ パイプラインで使用して、ユニークな識別子を生成できます。生成されたユニークな識別子を、要素として XML ドキュメントに挿入できます。システム変数にユニークな識別子は生成できません。これは、主にペイロードの変更に使用できます。次の使用例は、関数を使用してユニークな識別子を生成する方法を示しています。

トラッキング用にユニークな識別子を生成してメッセージに追加するとします。この関数を使用してユニークな識別子を生成できます。関数は文字列を返し、SOAP ヘッダに追加します。


  ページの先頭       前  次