cancel
Showing results for 
Search instead for 
Did you mean: 

An empty container element

Former Member
0 Kudos

I have a BPM scenario like the following

1: Receive Sync (opens S/A Bridge)

2: Transform (split 1:n mapping. Only one interface will get created though depending on source content)

3: Sync Send (Send result 1 of previouse transform step if it has been created)

3: Sync Send (Send result 2of previouse transform step if it has been created)

4: Transform (transforms sync send result to response message of original sync message received in step 1)

5: Send (Closes S/A Bridge)

My issue is this... my sync send step keeps throwing an error saying the following

"An empty container element was specified when sending"

The problem is that I have checked and rechecked all the IM and MM's and they work with the inbound payload which I pull from the BPE monitoring. I checked the containers and they all seem to have the right values.

I cant understand why I am getting an empty result from my mapping?

By the way I have searched this forum all day and have found many similar issues but none that seem to have been resolved in a dinitive fashion so please don't just snd me links to these threads unless they solve the issue...

Message was edited by:

Alex Ong

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

OK it seems that Transformation step is a mystery... so instead I opted to use a switch step and depending on the source structure a certain branch would get executed and it all works fine now

former_member192892
Active Contributor
0 Kudos

Hi Alex,

I'd suggest to slightly modify the design

In the transformation you can include an additional message type having occurence 1 which stores the count of the result1 and result2 messages.

Then I'll use a fork and a loop. I'll declare a simple integer type container element and assign to 0 before the fork step. In the loop I'll check whether this count is not equal to the count received in the transformation step for either result 1 or result 2 and then do a sync send in the branch, later i'll increment the simple variable..

Please ask if you have further doubts..

Thanks

Varun

Former Member
0 Kudos

OK thank you for the design suggestion and I will look into it.

However my problem which I have to solve currently is why my transformation step isn't working....

The transformation step is not returning anything right now...

former_member192892
Active Contributor
0 Kudos

Alex,

As per my understanding, since you are using a transformation and either result 1 or result 2 is produced, the container element for result1 or result 2 is not getting initialized....Hence that fork branch is throwing an error..

Thanks

Varun

Former Member
0 Kudos

No... It is the transformation step...

When I remove both messages from the mapping and just have 1:1 mapping then the transformation step works...

But when I try to do 1:N mapping then my transformation step doesnt return anything...

Any Ideas? Is there somewhere on the transform step that I should specify 1:N mapping?

Former Member
0 Kudos

After step 2 (transform), use a fork step wth 2 branches. Embed each send step in a separate branch. Specify the number of branches required as 1. CLose the fork.

Rest is the same design.

Regards,

Jai Shankar

Former Member
0 Kudos

OK I will try that and let you know...

by the way I forgot t mention...

there are actualy 2 transormation steps following the sync sends... 1 for each result..

for that reason I have included the tranform steps after the respective send steps in the fork...

Does that sound ok?

Message was edited by:

Alex Ong

Former Member
0 Kudos

Ok I have attempted with the fork but I still get the same error...

The problem is that even though in the BPE monitoring it is telling me that the transformation step is successful I am still getting an empty mapping result...

All of the interfaces specified in the IP are the ones use in the Mappings so I really dont understand what is going wrong here...

Any ideas anyone?

Oh by the way I am doing 1:N mapping and i have set both source and target messages from 0 to 1.

Is there something else I should do in the transformation step to stipulate 1:N mapping?

What could be the reason for this?

Message was edited by:

Alex Ong