cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronous HTTP Call

Former Member
0 Kudos

I have a BPM and I am executing a (First) Synchronous HTTP call. The Response from the first HTTP call is used to map some of the fields of the Next Synchronous HTTP call's Request and the remaining fields of the Requests are moved with some constants.

So I have a Transformation between the First and the second Synchronous Step. (Response from the frist Sync call is mapped to the REquest of the Second Http Call)

But I am always failing in the Transformation step.

The error that I see in the BPM is

CL_SWF_XI_MSG_BROKER method CALL_TRANSFORMATION

I looked the following OSS notes too

1) 718735 2) 710445 3) 380803 4) 714445

We are on SP 15.

Could some one help me please. I am struggling with this error for the last 2 weeks. I would greatly appreicate your help.

Thanks.

Accepted Solutions (1)

Accepted Solutions (1)

agasthuri_doss
Active Contributor
0 Kudos

Hi Mohini,

Make sure you are using same message container when you pass and try to you send information on these abstract interface references in BPM with respective to the container references or Only use Transformation in BPM if it is realy necessary with n:1 or 1:n mappings otherwise try to put the transformation outside your BPM because monitoring mapping in BPM is very hard to monitor and it is very hard to do error resolving.

Thanks & Regards

Agasthuri Doss

Former Member
0 Kudos

How to do the Transformation outside the BPM?

I am doing only 1:1 Transformation.

Thanks Agasthrui.

former_member206604
Active Contributor
0 Kudos

Hi Mohini,

You can use that Mapping when you do the Interface Determination. While doing the interface determination you can give a Interface mapping right. You can give your mapping program in that interface mapping.

Thanks,

Prakash

Answers (1)

Answers (1)

moorthy
Active Contributor
0 Kudos

Hi,

Check tranformation step uses corerct message interfaces/message types in the BPM ? I feel problem is incorerct useage of message containers against the message interface inside the tranformation step( interface mapping)

Have a look into this SAP note -830803

Alternative is : You can execute this mapping outside the BPM.

1) i.e Send the data from BPM to http . Outside the bpm map the source message into http req.

and http response is mapped with dummy message type.

2) This dummy message type containes the response of first http call.

3) Send this dummy message to second http call

4) now, this dummy message type is mapped with second http request

and this response is mapped with dummy 2 and so on.

so similra way if you want to execute mapping inside the bpm, still you can do. But I just wanted you introduce the dummy/temporary message conatiners , so that you can check/debug the actual transformations .

Hope this helps,

regards,

Moorthy

Former Member
0 Kudos

Thanks Krishna. Still I couldn't achieve my task.

I have to make two HTTP calls in my BPM

First HTTP call fetches the Response.

The second HTTP call uses the Portion of the response inits request.

-


1) Receive step

2) Send first Synchronous step with the above request. Get the Response. Response is coming back successfully.

3) Transformation : Take the response and map it to the second HTTP Request

4) Send the Second HTTP call.

It fails in step 3. If you could narrate me step by step it would help me a lot.

Thanks a lot.

moorthy
Active Contributor
0 Kudos

Hi,

<i>3) Transformation : Take the response and map it to the second HTTP Request</i>

>>>I think the problem is , you are directly mapping the Response structure into the second http call request .

Can you do one more temporary steps like this.

As I told

Just map the first http response into one dummy Structure similar like http response structure. Just copy and make one more..structure. SO now your Response is in the dummy structure.

And then Map this dummy structure into Second http request and go further..

then follow 4th step. I feel it will solve your problem.

Regards,

Moorthy

Former Member
0 Kudos

Thanks Krishna.

To acheive the dummy structure, I introduced a Container varaible in the BPM, after my first Sync HTTP call.

I copied the HTTPResponse1 into HTTPResponse1Back.(Both of them are pointing to the same MI)

Now I did the Transformation step where I Mapped HTTPResponse1Back to HTTPRequest2.

Still know use.

moorthy
Active Contributor
0 Kudos

What is the target message for Http1Response mapping ? Is it HttpResponse1BACK.. If so what is the message type you are using for this .. for this , the message type should similar like Http1Response structure. And create a new Abstract Interface Async interface of HttpResponse1Back message type. And in the Sync, Interface Mapping Map the Http1response into httpResponse1Back. Then in next transformation step(http2) use Source message interface for the Request mapping as httpResponse2Back and httprequest2,,, Like this continue..

So steps are:

1) Create a Message Type similar like Http Response to make easy

2) Create Abs, Async interface if you are executing Mapping in side the bpm

Hope this helps,

Regards,

Moorthy

Former Member
0 Kudos

Thanks Krishna. FYI the Messages are External messages. So No Message type involved.

HTTPResponseMI -


> Response (External Message) ABS

HTTPResponse1MI -


> Response (External Message)ABS

1) In BPM Send the First SYNC HTTP call

2) Transformation from HTTPResponse ---> HTTPResponse1

3) Transformation from HTTPResponse1 ---> HTTPRequest2

4) Second Sync HTTP call.

Still it fails in the 1st Transformation step itself(Step 2).

if there is any blog that talks about two http calls in a single BPM. where the first HTTP response is mapped to the second HTTP Request call?

moorthy
Active Contributor
0 Kudos

Hi,

Ok, but you can create similar message type based on the External one. anyway no problem.

For debugging purpose, what i suggest you to do first do one http sync call. Then test it. Some design change.

Then add the second http call and then test it.

It will take sometime to u. But I feel it is better to debug like that ..

It is just a debbugging and analysing to get the solution.

I feel, there is very minute problem you are facing in the Response mapping from fistr Http call to second htp req.

If you brief entire scenario (end-to-end) then, we may think of any other solutions..if any or changing the design probably:)

Regards,

Moorthy

Former Member
0 Kudos

Krishna I have opened a new thread for this scenario.