cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping failure Async/ Sync bridge. File not deleting.

Former Member
0 Kudos

Hi All,

I've created a pretty simple async/ sync interface without BPM from a File FTP pickup to a SOAP service.

The sender communication channel is an Anonymous login, connection is Per File Transfer and the mode is Binary.

Quality of service is exactly once, processing is to delete the message.

Everything works as long as the message conforms to the message mapping, however if the message fails in the message mapping the file is not deleted and the system goes into a loop.

I've tried putting XML validation on the Sender Agreement. It then fails validation, but still doesn't delete the message.

Any ideas?

Kind regards,

John

Accepted Solutions (1)

Accepted Solutions (1)

udo_martens
Active Contributor
0 Kudos

Hi John,

i think the adapter is requesting a confirmation from the mapping runtime (and may be later processing steps), so it will not delete before the processing is ok. You wrote you are using a sync/async bridge. In a synchronous scenario the file has to be deleted after the response arrived, this is just the logical sequence of synchronous processing!

Isn't this behaviour matching your requirements or expectations?

Regards,

Udo

Former Member
0 Kudos

Hi Udo,

Thanks for your reply. I think I understand what you're getting at, but it would mean that every file placed in the folder for FTP pickup has to be valid and can not fail in the mapping, or at validation in the Sender Agreement. As a design that makes very little sense to me.

Surely a more logical progression would be that if the file fails to make it through the mapping it should be deleted as it currently loops around and other files waiting in the same folder will not be picked up.

As it stands it's not a workable interface.

Kind regards,

John

udo_martens
Active Contributor
0 Kudos

Hi John,

i think you are using request / response bean for that scenario?

If you setup a simple BPM is might become easier. Presuming you still have an ABAP stack:

File -> BPM (without mapping)

BPM transformation (mapping) with exception branch (not recommantable if you expect mass traffic)

BPM exception branch with error reaction (alert, mail, what ever)

BPM synchronous send and receive request

BPM send (you did not mention what you do with the "response")

Would that be an alternative for you?

Regards,

Udo

Former Member
0 Kudos

Hi Udo,

Again, thank you for your reply. You're exactly right; I'm using a request/ response bean. I'd hoped to get away from using BPM as it can sometimes be a bit of hassle depending on the requirements.

We used BPM for a very similar interface on XI and I was hoping that I wouldn't need it in PI.

I have to say, I see the failure of a message mapping in an async/ sync bridge requiring manual intervention as a bit of an oversight from a design point of view. I can't see us using bridges in the Adaptor engine if there is no tolerance for a message failing to map.

Many thanks,

John

udo_martens
Active Contributor
0 Kudos

Hi John,

yes, BPM can be a bit tricky during development. But finally, you will get the requirement implemented. After a while you get used to all the small traps.

I have to say, I see the failure of a message mapping in an async/ sync bridge requiring manual intervention as a bit of an oversight from a design point of view. I can't see us using bridges in the Adaptor engine if there is no tolerance for a message failing to map.

I think the request response bean is actually something what cannot work properly. Synchronous and Asychronous concepts are too different.

Regards,

Udo

Former Member
0 Kudos

Well, nothing like what I wanted to hear, but I very much appreciate your help.

Kind regards,

John

Former Member
0 Kudos

Actually managed to resolve this while working on another interface:

The Sender agreement for the File sender is configured to XML Validation in the adapter engine.

The sender communication channel is configured to "Archive faulty source files"

That's it.

John

Answers (0)