サービス・インターフェース全体で公開される DXL スクリプトを決定可能な Rational DOORS 管理者が制御およびカスタマイズ可能なスクリプト。 管理者は、「runDXL」などの、潜在的なセキュリティー・リスクとみなされる可能性のある特定の機能を呼び出す機能をロックできます。
ユーザー・インターフェース・ウィジェットなどの特定の DXL はサポートされません。
サービス・ディスカバリーは OAuth によって保護されているため、OSLC DXL サービスを使用する場合は、ユーザー名とパスワードを入力して認証を行う必要があります。
void getHelloString(string language)
{
string hello = null
if ("French" == language)
{
hello = "Bonjour le monde"
}
else if ("Finnish" == language)
{
hello = "Hei maailma"
}
else if ("Latin" == language)
{
hello = "Ave mundi"
}
else
{
hello = "Hello world"
}
setDxlServiceResult hello
print hello "¥n"
}
OSLCDXLService os = null
string err = null
string dxlCode = "#include <addins/services/helloWorld.inc>¥n"
err = addOrUpdateOSLCDXLService("helloWorld", "Hello world in several languages", dxlCode, "getHelloString")
if (!null err)
{
print err
}
else
{
print "Installed Service¥n"
}
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:doors="http://jazz.net/doors/xmlns/prod/jazz/doors/2.0/">
<doors:Arguments>
<doors:arguments>English</doors:arguments>
</doors:Arguments>
</rdf:RDF>
<doors:Arguments>
<doors:arguments>English,French</doors:arguments>
</doors:Arguments>
受信側の DXL サービスは、コンマ区切りのリストを English と French の別々の文字列に分割します。<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:doors="http://jazz.net/doors/xmlns/prod/jazz/doors/2.0/">
<doors:DxlServiceResult rdf:about="http://my-desktop:8080/dwa/rm/dxl/helloWorld>
<doors:result>Hello world</doors:result>
</doors:DxlServiceResult>
</rdf:RDF>
サービスは、マーシャルを一切実行しません。引数はストリング形式で指定します。 DXL スクリプトはそこから値を抽出し、必要な個々のパラメーターに変換します。