Skip to Content

Calling different response mappings based on the response data field content in synchronous scenario

Requirement:

Integration Flow:

ECC <-> SAPPI <-> TIBCO <-> Target.

PI receives the request from ECC and forwards the same request to Target system and PI receives Base64 PDF format data based on the request XML in the response via same path.

If the target systems fails or unable to generate the response TIBCO is responding with error code in the response, Based on the error code PI need to generate PDF in base 64 format.

I tried to implement this requirement through NWBPM but still am not getting how to call different operation mappings based on the content in NWBPM.

So Please suggests how to proceed and let me know if my approach is wrong.

Please find the attached BPM approach design.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Feb 26 at 03:11 PM

    Hi,

    What is the adapter you are using between PI and TIBCO?

    In case of faulty message what kind of response you are receiving from TIBCO.

    Regards

    Anupam

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Anupam,

      No PI is not sending file, It is converting the data present in the request XML into Base64 PDF format and forwarding the same to one of the field in the response structure.

      We are using XSLT and Java mappings to convert into BASE64 PDF format.

  • Mar 05 at 09:55 AM

    Hi Kondreddy!

    Maybe I'm missing something but why to use different response mappings? You always get the same message type as response and you can use the same mapping to build result message based on response payload data.

    Regards, Evgeniy.

    Add comment
    10|10000 characters needed characters exceeded

  • Mar 07 at 01:47 PM

    Hi Kondreddy!

    In this case I would try to use Sync-Async bridge (RequestOnewayBean/WaitResponseBean) in sender channel, SOAP lookup and composing response message depending on lookup result in message mapping and NotifyResponseBean in receiver channel (without default module) to send response awaited by sender channel. Thus you can use one ICo and you have access to request message contents during all process steps.

    Regards, Evgeniy.

    Add comment
    10|10000 characters needed characters exceeded