2016-05-31 12 views
1

Я новичок в Oracle SOA Suite, и я создал базовый процесс BPEL, который позволяет вам создать «Пользователь» с некоторыми базовыми значениями.Добавление нескольких строк в Oracle SOA Suit в процессе 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) и преобразовывать их в красивую строку с некоторыми дополнениями и лишними жестко закодированными строками, чтобы показать хорошее сообщение в конце.

ответ

3

Дайте все значения, которые вы требуете, чтобы быть сцеплены запятую в 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>