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

Appending multiple strings in Oracle SOA Suit in a BPEL process

我是 Oracle SOA 套件的新手,我创建了一个基本的 BPEL 流程,允许您创建一个 "User" 具有一些基本值的流程。

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 流程创建一个 response/reply。

我试过使用“+”操作将所有值简单地相加,但不起作用,因为它试图将其转换为整数,所以看起来结果是 "Jon NaN" .

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

我也尝试过使用多个 concat,但它很快就会变得非常丑陋,而且我想避免的是混乱的代码。

总而言之,我希望能够获取所有输入值(名字、姓氏、年龄、出生日期),并将它们转换成一个带有一些填充和额外硬编码字符串的漂亮字符串,以显示一个漂亮的留言在最后。

在 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>