在BPEL流程中在Oracle SOA Suit中追加多个字符串

时间:2016-05-31 09:34:14

标签: oracle xsd soa bpel

我是Oracle SOA Suite的新手,我创建了一个基本的BPEL流程,允许您创建一个具有一些基本值的“用户”。

XSD:

//INPUT
<element name="User">
    <complexType>
        <sequence>
            <element name="First_Name" type="string"/>
            <element name="Last_Name" type="string"/>
            <element name="Age" type="string"/>
            <element name="DOB" type="string"/>
        </sequence>
    </complexType>
</element>
// String to output
<element name="processResponse">
    <complexType>
        <sequence>
             <element name="Output" type="string"/>
        </sequence>
    </complexType>
</element>

因此,使用此XSD,我希望能够创建用户,并将所有值附加在一起,并使用我的同步BPEL流程创建响应/回复。

我尝试使用'+'操作简单地将所有值一起添加,但是当它尝试将它转换为整数时不起作用,所以看起来它的值是“Jon NaN”。

  <copy>
    <from>concat("Hello! ", $inputVariable.payload/ns1:Last_Namel)</from>
    <to>$outputVariable.payload</to>
  </copy>

我也试过使用多个concat,但它真的很难实现,而我想避免的是代码混乱。

所以作为总结,我希望能够获取所有输入值(名字,姓氏,年龄,DOB)并将它们转换为带有一些填充和额外硬编码字符串的漂亮字符串,以显示一个很好的消息结束。

1 个答案:

答案 0 :(得分:4)

在concat()函数中将所需的所有值分隔为逗号分隔:

<from>concat('Hello! ', $inputVariable.payload/ns1:Last_Name,' ',$inputVariable.payload/ns1:First_Name,' ',$inputVariable.payload/ns1:Age,' ',$inputVariable.payload/ns1:DOB)</from>

<to>$outputVariable.payload/Output</to>