宣言時にBPEL変数を初期化することは可能ですか?もしそうなら、どのように?
宣言例:
<variables>
<variable name="offer" type="xsd:float"/>
<variable name="response" type="xsd:string"/>
</variables>
宣言時にBPEL変数を初期化することは可能ですか?もしそうなら、どのように?
宣言例:
<variables>
<variable name="offer" type="xsd:float"/>
<variable name="response" type="xsd:string"/>
</variables>
これは可能です。BPEL 2.0 では、変数宣言で from-spec を直接使用できます。ただし、この機能はすべての BPEL エンジンで実装されているわけではありません。たとえば、Apache ODE はそのようなインライン初期化を処理できません。
次のスニペットは有効な BPEL 2.0 です。
<variables>
<variable name="response" type="xsd:string">
<from>'TocToc'</from>
</variable>
<variable name="offer" type="xsd:float">
<from>100</from>
</variable>
</variables>
例として、定義については [1] の 121 ページと [1] のセクション 8.1 (45 ページ) を参照してください。
Oracle BPEL を使用すると、次のようにプロパティを bpel.xml ファイルに設定できます。
<preferences>
<property name="output_file" encryption="plaintext">logging.txt</property>
<property name="expire_hours" encryption="plaintext">10</property>
<property name="retry_count" encryption="plaintext">4</property>
</preferences>
ora:getPreference("varname") を使用してコードでアクセスできます。
これらは BPEL コンソールにも表示され、必要に応じて管理者が変更できます。
いくつかのグーグル、仕様と例を読んだ後...宣言でBPEL変数を初期化することは不可能だと思います...プロセスシーケンスでそれを行う必要がある場合:
...
<variables>
<variable name="response" type="xsd:string"/>
<variable name="offer" type="xsd:float"/>
</variables>
...
<sequence>
<receive createInstance="yes" .../>
...
<assign name="init">
<copy>
<from>100</from>
<to variable="offer"/>
</copy>
<copy>
<from>'TocToc'</from>
<to variable="response"/>
</copy>
</assign>
...