cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

split data into single data

former_member76287
Participant
0 Likes
983

Dear Expert,

i need advice

currently i have this data

<jsonAsXml>
<0>
<effectiveStartDate>2020-02-04T00:00:00.000</effectiveStartDate>
<externalCode>00115373</externalCode>
<transactionSequence>4</transactionSequence>
<cust_status>success</cust_status>
<cust_notes>
<id_voucher>GRAB50-20200210-000244</id_voucher>
<kode_voucher>R1JBQjc4OTc0NjQ=</kode_voucher>
<tgl_expired>2021-01-01</tgl_expired>
<url>https://dev.uvcr.me/e6cc5218d1f852a7bb1c5bdde725be59/1581406035</url>
</cust_notes>
<cust_Balance>null</cust_Balance>
<cust_Amount>null</cust_Amount>
<id_voucher>GRAB50-20200210-000244</id_voucher>
<kode_voucher>R1JBQjc4OTc0NjQ=</kode_voucher>
<tgl_expired>2021-01-01</tgl_expired>
<url>https://dev.uvcr.me/e6cc5218d1f852a7bb1c5bdde725be59/1581406035</url>
<backgroundElementId>0</backgroundElementId>
</0>
<1>
<effectiveStartDate>2020-02-04T00:00:00.000</effectiveStartDate>
<externalCode>00115373</externalCode>
<transactionSequence>4</transactionSequence>
<cust_status>success</cust_status>
<cust_notes>
<id_voucher>GRAB50-20200210-000703</id_voucher>
<kode_voucher>R1JBQjc4OTc5MjM=</kode_voucher>
<tgl_expired>2021-01-01</tgl_expired>
<url>https://dev.uvcr.me/6fc2d4fef33a5925a45c9874a70f3509/1581406035</url>
</cust_notes>
<cust_Balance>null</cust_Balance>
<cust_Amount>null</cust_Amount>
<id_voucher>GRAB50-20200210-000703</id_voucher>
<kode_voucher>R1JBQjc4OTc5MjM=</kode_voucher>
<tgl_expired>2021-01-01</tgl_expired>
<url>https://dev.uvcr.me/6fc2d4fef33a5925a45c9874a70f3509/1581406035</url>
<backgroundElementId>0</backgroundElementId>
</1>
</jsonAsXml>

i would like to upsert this data into SuccessFactors , but stuck because this data is multiple data.

i'm currently using this splitter

but i find this error

Error Details



org.apache.camel.CamelExchangeException: Sequential processing failed for number 0. Exchange[ID-vsa7092616-37268-1581180070606-818-6]. Caused by: [org.apache.camel.CamelExchangeException - Parallel processing failed for number 0. Exchange[ID-vsa7092616-37268-1581180070606-818-20]. Caused by: [java.lang.IllegalStateException - com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '0' (code 48) in content after '<' (malformed start element?).
at [row,col {unknown-source}]: [2,4]]], cause: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '0' (code 48) in content after '<' (malformed start element?).
at [row,col {unknown-source}]: [2,4]

is there any way i'm doing split on single data ?

thank you

Accepted Solutions (0)

Answers (8)

Answers (8)

n_rvsavinashvarma
Participant
0 Likes

Hi Achmad,

How did you solve this issue?Could you please explain the solution.

Thanks,

Avinash

former_member76287
Participant
0 Likes

Hi n.rvsavinashvarma
no solution , i'm stuck and hope sir sriprasadshivaramabhat give me clue.

it is only work if the quantity is 1 , more than that it doesnt work

thanks

former_member76287
Participant
0 Likes

Hi sriprasadshivaramabhat

I have question, i have some configuration and now my xml became like this

<cust_TransactionWallet2>
<records>0
<effectiveStartDate>2020-02-04T00:00:00.000</effectiveStartDate>
<externalCode>00115373</externalCode>
<transactionSequence>4</transactionSequence>
<cust_status>success</cust_status>
<cust_notes>
<id_voucher>GRAB50-20200210-000244</id_voucher>
<kode_voucher>R1JBQjc4OTc0NjQ=</kode_voucher>
<tgl_expired>2021-01-01</tgl_expired>
<url>https://dev.uvcr.me/e6cc5218d1f852a7bb1c5bdde725be59/1581406035</url>
</cust_notes>
<cust_Balance>null</cust_Balance>
<cust_Amount>null</cust_Amount>
<id_voucher>GRAB50-20200210-000244</id_voucher>
<kode_voucher>R1JBQjc4OTc0NjQ=</kode_voucher>
<tgl_expired>2021-01-01</tgl_expired>
<url>https://dev.uvcr.me/e6cc5218d1f852a7bb1c5bdde725be59/1581406035</url>
<backgroundElementId>0</backgroundElementId>
</records>
<records>1
<effectiveStartDate>2020-02-04T00:00:00.000</effectiveStartDate>
<externalCode>00115373</externalCode>
<transactionSequence>4</transactionSequence>
<cust_status>success</cust_status>
<cust_notes>
<id_voucher>GRAB50-20200210-000703</id_voucher>
<kode_voucher>R1JBQjc4OTc5MjM=</kode_voucher>
<tgl_expired>2021-01-01</tgl_expired>
<url>https://dev.uvcr.me/6fc2d4fef33a5925a45c9874a70f3509/1581406035</url>
</cust_notes>
<cust_Balance>null</cust_Balance>
<cust_Amount>null</cust_Amount>
<id_voucher>GRAB50-20200210-000703</id_voucher>
<kode_voucher>R1JBQjc4OTc5MjM=</kode_voucher>
<tgl_expired>2021-01-01</tgl_expired>
<url>https://dev.uvcr.me/6fc2d4fef33a5925a45c9874a70f3509/1581406035</url>
<backgroundElementId>0</backgroundElementId>
</records>
</cust_TransactionWallet2>

and i'm trying to use message mapping, i only found single data, and i dont know the next data.

do you have advise ?

before001.txt after001.txt

thank you

former_member76287
Participant
0 Likes

Hi sriprasadshivaramabhat

here is my file

https://easyupload.io/7dtz0w

thank you

Sriprasadsbhat
Active Contributor
0 Likes

Hello Achmad,

Could you please share the xml after message mapping and we can split those records after mapping.

Regards,

Sriprasad Shivaram Bhat

former_member76287
Participant
0 Likes

Hi lakshmiprasanna

how can i convert from <0> into text tags ?

because the problem is <0> is strange records

please advise

lakshmiprasanna
Discoverer
0 Likes

As Sriprasad suggested, try putting a mapping before splitter. And in the mapping, convert <0>, <1> tags to some text tags, say like <records>. Then use that xsd/xml to do the split.

Regards,

Lakshmi Prasanna

former_member76287
Participant
0 Likes

Hi sriprasadshivaramabhat

btw in message mapping i feel lost in here

because i have this <0> and also <cust_notes>

any advice ?

here is the xsd that i'm use

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="cust_TransactionWallet2">
    <xs:complexType>
      <xs:sequence>
        <xs:element type="xs:dateTime" name="effectiveStartDate"/>
        <xs:element type="xs:int" name="externalCode"/>
        <xs:element type="xs:int" name="transactionSequence"/>
        <xs:element type="xs:string" name="cust_status"/>
		        <xs:element type="xs:string" name="cust_notes"/>
				        <xs:element type="xs:string" name="cust_Balance"/>
						        <xs:element type="xs:string" name="cust_Amount"/>
								        <xs:element type="xs:string" name="id_voucher"/>
		        <xs:element type="xs:string" name="kode_voucher"/>
				        <xs:element type="xs:string" name="tgl_expired"/>
						        <xs:element type="xs:string" name="url"/>
								<xs:element type="xs:string" name="backgroundElementId"/>
							      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

thank you

Sriprasadsbhat
Active Contributor
0 Likes

Hello Achmad,

Put a splitter after your message mapping then it should work as you dont have xml which could be splitted using Splitter .

Regards,

Sriprasad Shivaram Bhat