Hi HCI Experts,
We're trying to build an iFlow in HCI that looks something like the Async-Sync bridge in PI. I understand that there's the Request-Reply pattern in HCI that could accomplish this, as discussed here . However, I'm getting no luck so far when trying to deploy the iFlow.
So the scenario is:
ECC IDoc (Async) -> HCI -> C4CWebService_Request (Sync) -> C4CWebService_Response -> HCI -> Custom Web Service in ECC
1. ECC sends an IDoc to HCI.
2. HCI takes care of the mapping and sending of the request message to the standard Web Service (WS) in C4C. The standard WS in C4C is Synchronous.
3. Now, the response of the standard WS in C4C must be sent back to ECC thru a Custom web service created in SOAMANAGER.
4. Response of WS from C4C is sent back to HCI where message mapping will take place and send it to the web service in ECC.
During deploy, I'm getting an error that says 'Receiver Channel cannot be configured for synchronous WSDL configuration.' Is it because the custom web service in ECC is synchronous and HCI cannot handle that?
Has anyone ever done this scenario with success?
Appreciate any inputs.
Thanks in advance.
Mark
Request clarification before answering.
Hi Bhavesh,
Do you know by any chance if it's possible to get the value of a certain field in my source IDoc message and assign that value into one of the fields in my source message for the 2nd message mapping (after the 1st Request-Reply)? Is this possible using Content Modifier, Externalized Parameters or Variable?
Thank you.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Mark,
Ideally to ensure that threads are searchable for users with same issues, etc it is recommended to have a new thread for a new question. Here is the answer to this one though!
There are multiple ways to persist a value and then use them in subsequent steps. One of the options is to use Variables.
Updated iFlow
Write Variable is used to Write a Local Variable
In this case I have created a Variable called " variable1" and assigned it a "Constant" Value "India".
You may use XPATH to access your Input Payload and persist the variable.
Accessing Variable in Content Modifier Step
Use ${header.variable1} where variable1 is the name of the Variable.
Data in the Runtime where variable value in inserted into Payload
Regards,
Bhavesh
PS: This makes me also realise that this concept is probably very confusing in HCI. Will think of a means to write a blog to explain these concepts!
Thanks Bavesh for the reply! Right, will create a separate thread for this.
So in my case, since I'm using Mapping instead of Content Modifier, I need to add a new Content Modifier before the 2nd mapping/after the 1st Request-Reply and create a Body that would access the Variable just like what you've shown. Is that right?
Hi Bhavesh,
Here's my updated iFlow. I added Write Variable and Content Modifier. For the variable, I used a constant value for now instead of XPATH.
It's not working. It's either the Variable is not working / getting saved or I messed up with the Content Modifier. How do you fill up the message in the Body tab of the Content Modifier? The example in the guide is too simple. What if we need to assign the Variable's value in an existing field of a message payload like in my case?
What I did so far is copy pasted the whole message payload (this is the actual response message of the 1st Request-Reply from COD) and assigned the placeholder of the variable in one of the fields.
Thanks in advance.
Hi Bhavesh,
Here's the new thread that I created.
| User | Count |
|---|---|
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.