我是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)并将它们转换为带有一些填充和额外硬编码字符串的漂亮字符串,以显示一个很好的消息结束。
答案 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>