簡體   English   中英

BPEL變量初始化

[英]BPEL variables initialisation

是否可以在聲明中初始化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頁)部分。

[1] http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.pdf

我們使用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>
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM