cancel
Showing results for 
Search instead for 
Did you mean: 

HTTP(s) <-> RFC <->HTTP(s) scenario is not working synchronous.

0 Kudos

Dears,

I have the following scenario.

our PI system will receive an XML over HTTP(s) from outside company.

and then our system will send a confirmation to that company.

I already configured it with synchronous outbound Interface.

Now, I can post xml to PI URL . and it reached RFC but no response.

I checked the SAP XI runtime workbench - adapter logs and i found :

RfcAdapter received a asynchronous message. Trying to send tRFC for YISU_SAPI_BCONRQ with TID XI051MbW017j2emZuP2jN5nm.

RfcAdapter received a asynchronous message. Trying to send tRFC for J2EE_GUEST with TID XI051MbW017j2emZuP2jN5nm.

My interface is synchronous but in the logs showed asynchronous!!!!

What is the problem????

Thanks and Regards,

Accepted Solutions (1)

Accepted Solutions (1)

former_member472138
Active Contributor
0 Kudos

Can you please check

Outbound Interface: Mode -- synchronous

Inbound Interface: Mode - synchronous

Regards

Pothana

0 Kudos

Yes, Outbound Interface: Mode is synchronous.

But no inbound interface.

I am working on PI 7.1 and i used the following example :

/people/community.user/blog/2006/12/12/http-to-rfc--a-starter-kit

Regards,

Shabarish_Nair
Active Contributor
0 Kudos

you seem to be on the right track with the blog.

one question, can you confirm your RFC is a synchronous request response based and not async.

In operation mapping when you define the interfaces and do a check is it populating the request and response tabs?

0 Kudos

you seem to be on the right track with the blog.

> one question, can you confirm your RFC is a synchronous request response based and not async.

>

> In operation mapping when you define the interfaces and do a check is it populating the request and response tabs?

How do i can confirm RFC is a synchronous request response ?

If you meant RFC with export and import fields , then yes.

Moreover, in the operation mapping , i can see request response tabs.

Regards,

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>How do i can confirm RFC is a synchronous request response ?

I believe you created service interface with inbound synchronous and specifed request and response RFC message. If so then you will see operation mapping both request and response tabs.

I meant 4th step in that blog with request and response

0 Kudos

Yes.

The 4th step in that blog is:

4. Import the BAPI --> BAPI_COMPANY_GETDETAIL using the Imported Objects node.

Yes I did it with RFC.

Regards,

former_member181985
Active Contributor
0 Kudos

Hi,

May be the Sender HTTP system is missing this qualifier QOS (=BE) in the inbound http URL parameter for XI or it might be mentioned as EO.

check my WIKI section for correct URL: https://wiki.sdn.sap.com/wiki/display/XI/XIHTTPClientinJava

You can do one thing to check your configuration is working correctly

RWB--> Intetgration Engine --> Test Message Tab

Test your message using Quality of service as "BestEffort".

Edited by: Praveen Gujjeti on Jun 29, 2011 11:11 PM

baskar_gopalakrishnan2
Active Contributor
0 Kudos

That is possible. Though you mention the outbound interface is synchronous, if you dont specify the quality of service Best Effort (BE) in the sender adpater HTTP, you will not achieve synchronous communication.

former_member181985
Active Contributor
0 Kudos

bhaskar, is ur answer to me or the thread raiser.

And more over I dont understand, the fun in providing the same answer what others (in this case, I) provide.

0 Kudos

First i would like to thanks all of you.

In fact , no sender adapter as per the example in the weblogs (check third thread).

Moreover , in the URL parameter i found this argument : QOS=EO

PI URL:

http://***:50000/sap/xi/adapter_plain?namespace=urn%3ASALE_P&interface=SI_SALE_OB&service=CC_SALE&party=&agency=&scheme=&QOS=EO&sap-user=*&sap-password=**&sap-client=240&sap-language=EN

Do i need to change it?

Regards,

former_member181985
Active Contributor
0 Kudos

Yes you need to change it to QOS=BE.

Shabarish_Nair
Active Contributor
0 Kudos
http://****:50000/sap/xi/adapter_plain?namespace=urn%3ASALE_P&interface=SI_SALE_OB&service=CC_SALE&party=&agency=&scheme=&QOS=EO&sap-user=***&sap-password=***&sap-client=240&sap-language=EN

just remove the QOS itself. By default it is BE

http://***:50000/sap/xi/adapter_plain?namespace=urn%3ASALE_P&interface=SI_SALE_OB&service=CC_SALE&party=&agency=&scheme=&sap-user=*&sap-password=**&sap-client=240&sap-language=EN

refer;

http://help.sap.com/saphelp_nw04/helpdata/en/43/64db4daf9f30b4e10000000a11466f/frameset.htm

0 Kudos

Thanks a lot Praveen and rest of others.

It is working now.

But i have small issue.

Before, If i want to modify xml payload , i can use java adapter module .

But in this case , how can i use java adapter model for OB payload to sign it.

Shabarish_Nair
Active Contributor
0 Kudos
But in this case , how can i use java adapter model for OB payload to sign it.

if you are looking for signing messages -> http://help.sap.com/saphelp_nw04/helpdata/en/14/ef2940cbf2195de10000000a1550b0/frameset.htm

0 Kudos

Thanks Shabarish.

But i am using custom code to sign only one part of the payload and then add it within xml as a new tag.

Regards,

Edited by: Abo Lamia on Jul 3, 2011 9:32 AM

former_member181985
Active Contributor
0 Kudos

Hi Abo,

You can do this thing during mapping. write your custom code in the form a UDF which will use external API (which you need to import under imported archives section) to sign part of inbound payload.

You can also go ahead with java mapping in case Graphical mapping doesnt fit your requirement.

Praveen

0 Kudos

Thanks again.

I will apply it.

Regards,

Answers (0)