![]() ![]() ![]() ![]() |
AquaLogic Service Bus では、XQuery エンジンの BEA AquaLogic Data Services Platform 実装を使用します。XQuery エンジンは、1 つの例外 (モジュール) を除き、XQuery の W3C (World Wide Web Consortium) の仕様に記載されているすべての言語機能を完全にサポートしています。
すべての BEA の拡張関数で、次の関数プレフィックス fn-bea:
を使用します。たとえば、XQuery の完全な表記では拡張関数は fn-bea:
function_name
になります。
AquaLogic Service Bus は、以下の関数を除き、BEA AquaLogic Data Services Platform が提供するすべての拡張関数をサポートしています。
以下の関数は使用しないでください。他の言語機能で代用することをお勧めします。
AquaLogic Data Services Platform の拡張関数のリストと各関数の説明については、『XQuery Developer's Guide』の「BEA XQuery Implementation」を参照してください。
AquaLogic Service Bus には、以下の XQuery 関数が用意されています。
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
<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() as xs:string
この関数をプロキシ パイプラインで使用して、ユニークな識別子を生成できます。生成されたユニークな識別子を、要素として XML ドキュメントに挿入できます。システム変数にユニークな識別子は生成できません。これは、主にペイロードの変更に使用できます。次の使用例は、関数を使用してユニークな識別子を生成する方法を示しています。
トラッキング用にユニークな識別子を生成してメッセージに追加するとします。この関数を使用してユニークな識別子を生成できます。関数は文字列を返し、SOAP ヘッダに追加します。
![]() ![]() ![]() |