cancel
Showing results for 
Search instead for 
Did you mean: 

HTTP - 2 - BAPI [sync]

Former Member
0 Kudos

Hi ALL,

1. Is there a step by step guide to implement this scenario.

2. How to call BAPI using RFC adapter

3. I have a bapi which has two methods inside that, if i call BAPI using the RFC adapter will that methods get executed by itself

4. How do I do Mapping for this scenario

5. Sender side configuration steps for HTTP adapter

Please help since am new to XI, I appreciate your help regarding the same

Regards

Karthik

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

I was considering SOAP Adapter instead of HTTP. My doubt is, in Http sender case we directly use the URL to send the data from a Web Page... In the sender SOAP Adapter case do i need to write any code using to send data to XI... How actually we post data.

Scenario : SOAP - 2 - RFC [Web appln. to SAP R/3]

1. I have configured my sender adapter.

2. We use XML spy to create soap request.

3. In real scenario how to send data to XI, how to invoke soap request in webservice.

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

You will need to create a WSDL from your Integration Directory. Please refer to section 3.2.2 of this document for the same,

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a2202...

Use this WSDL from XML Spy to invoke the webservice.

In real time, your calling application will also use the same WSDL to contrucut the request message and trigger the call to XI

Regards

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

Thanks for your reply, to make myself clear am just shooting this question.

Since we are connecting to HTTP adapter from a web application, the web user has to be given the role of "SAP_XI_APPL_USER" to access the integration server is that right ?

Former Member
0 Kudos

Karthikeyan,

For the HTTP page to access your XI server, you will give a user Id and password. That user must have the role <b>SAP_XI_APPL_USER</b> and not the web user.

Regards,

Jai Shankar

Former Member
0 Kudos

Regarding that http client test tool - I was going through the Javascript which generates the URL and sends the payload. will there be any security constraints for data being exposed in the URL, Client script having data exposing problem. User can see the URL details from source of the page and even can modify the data. How will Interface help to restrict the same. Is there any work around for this. Please suggest.

Thanks in advance

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

There are many security featues in XI.

1. Using the HTTP CLient, you would need to give the user id and passowrd creadentials. The user should have the role of SAP_XI_APPL_USER.

2. You can configure SSL and so message will be posted as https

3. Most important is <b>Access Control List</b> . You can assign the user id to your business systsem / service and only if the call is inittiated from one of the user id 's in the ACL then message will be processed. This is shown in this link,

/people/rahul.nawale2/blog/2006/06/16/acl--confine-users-sending-messages

/people/community.user/blog/2006/11/15/security-access-control-via-assigned-users

Regards

Bhavesh

Former Member
0 Kudos

1. Is there a step by step guide to implement this scenario.

Craate Product & SWC in SLD.

Import the Product & SWC into IR.

Import the BAPI from your R/3 system.

Create two Data types and Message types for Request and Response as per source structure.

Create Message interface - Outbound , Synch

Create Message itnerface - Inbound ,Shnch (BAPI,BAPI.RESPONSE)

Create the 2 mapping programs one Source To Bapi another mapping BAPI to Target.

Create the Interface Mapping.

Configuration

___________

Create the Congifuratuon scenario

object -> new -> CS

Save

Create the for Source Business Service and select the Outbound Interface tab and select the here interface

save

Assign receiver BUSINESS SYSTEM

Create the Communcation channel for receiver.

Sender aggrement does not required. (HTTP Adapters resides in ABAP Stack not in J2EE Stack)

RD -1

ID -1

RA - 1.

How to call BAPI using RFC adapter :

Create the Communcation channel for receiver with RFC Adapter

How do I do Mapping for this scenario

Source Structure to BAPI

BAPI TO target Structure

Sender side configuration steps for HTTP adapter

Create the Business service and select the outbound interface..

download the HTTP Client to test your scenario.

Regards,

Venu.

Former Member
0 Kudos

Hi Venu,

Am not good with BAPI, can you pls explain on this BAPI.RESPONSE

Thanks

Karthik

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

BAPI.RESPONSE is the return data that you get from the sync call

when you call your bapi

Regards,

michal

-


<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

Former Member
0 Kudos

How about answer for my 3 question ?

Thanks

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

if you go through the blog by Praveen i have posted above, it should really help!

The moment a call is initated from the RFC receiver adapter, the corresponding RFC will be triggered. There is nothing explicitly that needs to be done,

HTTP sends request to XI --> you map it to the RFC request and then trigger the call to the RFC adapter ( handled via Receiver Determination / Receiver agreement! ) --> RFC sends the response back to XI ( again happens automatically ) and map this RFC response to HTTP resoponse and this is sent back to the HTTP.

Regards

Bhavesh

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

><i>1. Is there a step by step guide to implement this scenario.</i>

Please refer to this blog .

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

><i>2. How to call BAPI using RFC adapter</i>

Exactly the way you call an RFC. Import the BAPI into the IR and you it as the message type in mapping. The only point to be noted --> From SP 14 onwards, RFC adapter has the auto commit feature that can commit successful BAPI calls if COMMIT is not handled in the BAPI.

More on this in this link,

http://help.sap.com/saphelp_nw04/helpdata/en/c8/e80440a832e369e10000000a155106/content.htm

<b>--> Advanced Mode --> Commit Control for Individual BAPI Calls</b>

Ohter questions, the blog will answer!

Regards

Bhavesh