Header image  
COMPLETE SAP NETWEAVER TUTORIALSSITE  
  
 
 
 
 

 
 

Welcome to SAPAG.CO.IN

 

 

 

SAP AG.co in Will Give information of SAP related meterials Like SAP Platform and Operation,,SAP Security , SAP Enterprise Portal (EP), ,SAP Knowledge Management (KW), SAP Business Intelligence (BI), Exchange Infrastructure (XI),Application Server, Mobile (MI), Master Data Management MDM, Composit Appications Frame work,Web Dynpros,OOPABAP,Blog,Intergration Bulder, Integration Repository (IB),Integration Directory (ID).System Landscape Directory (SLD), And Adopter Configuration like File to File,File to JDBC, File to IDoc, File Content Convertion, RFC, HTTP,SOAP,XI Interview Questions,Xi Sertification Questions, and many more about SAP Netweaver Platform XI Training And Tutorial and XI interview Questions ..

 

SAP Exchange Infrastructure Tutorials

SAP XI Exercises HTTP to RFC

Exercise 3 – HTTP client to (a)synchronous BAPI -1

•  Save the Business Service.

•  Note that for plain HTTP communication, no sender communication channel is required.

•  For the target business system, the “Receiver Communication Channel” of type RFC has already been defined. Please locate the target business system (i.e. the R/3 system) and examine the receiver communication channel of type RFC, named ‘XIWS_RFC_receiver'.

•  Create a new Receiver Determination object under your own scenario

•  Specify the following in the sender information:

•  Service: XIWS_web_purchasing_[XX]

•  Interface: PurchaseOrder_out

•  Namespace: urn:xiworkshop:group[XX]:webapp

•  As receiver service, select the Business System for the backend R/3 system.

•  In this exercise we will use content-based routing. Specify a condition such that the request is sent to the target service, only if the vendor number matches yours:

•  Open up the condition editor by choosing the input help (F4) from the field ‘Condition'. You should now see the condition editor screen:

•  For the Left Operand, select the input help (F4) and enter the expression editor:

•  Here you can either specify an XPath expression or use a context object. Choose the context object ‘vendor' which you have defined at design time.

•  In the “Right Operand”, enter your Vendor ID in the R/3 system. This should be the same vendor ID used in exercise 1. Please check with the instructor.

•  Click ‘OK' to exit the condition editor. The completed condition should look like this:

•  Save your receiver determination object.

•  Create a new interface determination and receiver agreement for your receiver:

•  Inbound Interface: ZBAPI_PO_CREATE

•  Interface Mapping: PO_out__ZBAPI_PO_CREATE

•  Receiver Agreement (Comm. Channel): XIWS_RFC_receiver

•  When you are finished, the configuration should look like the following. Make sure to activate all your objects.

Step 4 – Test

•  To test this scenario we will use the simple HTTP client application provided to you.

•  Open the HTTP client “XIWS_httpClient.html”

•  The basic values have been prepopulated for you. Verify that they are correct:

•  ServerHost: <XI Integration Server host>

•  ServerPort: <XI Integration Server ICM port>

•  Client: <XI Integration Server client>

•  The sender service, interface and namespace should match exactly the values in your receiver determination object:

•  SenderService: XIWS_web_purchasing_[XX]

•  SenderInterface: PurchaseOrder_out

•  SenderNamespace: urn:xiworkshop:group[XX]:webapp

•  For quality of service (QoS) , enter ‘BE' for best effort. This will make the message synchronous.

•  Leave the optional parameters empty, as we are not using a party.

•  For the Payload, we have provided you with a sample XML instance in the file ‘PORequest_template.xml'. Please make a copy of the file and edit it:

 

XML field

Value

Header à DocDate

Today's date in format ‘YYYYMMDD'

Header à Vendor

<your vendor number> - should match your condition for content-based routing

Item à DeliveryDate

Today's date + 1 week (‘YYYYMMDD')

Item à Quantity

1

Item à NetPrice

12

For the other elements, please keep the default values.

•  From the HTTP client you can either cut & paste the XML content manually, or upload the XML file

•  Once you send the request, examine the URL that was called. This is the URL corresponding to the plain HTTP adapter of the Integration Server.

•  In the ‘Result' area you should see the response of the synchronous call.

•  In transaction SXMB_MONI, you should be able to see the request and response messages for your synchronous call. If any errors occurred, you can troubleshoot from here.

4.3 In the R/3 system, you can verify that the PO was created in transaction ME23.

Step 5 – Advanced variant

Now we will repeat the exercise in asynchronous mode, thus making use of tRFC communication. Because the communication is asynchronous, the request is sent with QoS ‘exactly once'. The BAPI response will not be returned back to XI and the emitting HTTP client application.

•  Adjust the objects in the Integration Repository:

•  Copy your message interface ‘PurchaseOrder_out' to ‘PurchaseOrder_out_async' (outbound, asynchronous).

•  Copy your interface mapping ‘PO_out__ZBAPI_PO_CREATE' to ‘PO_out_async__ZBAPI_PO_CREATE'. Change the source interface to ‘PurchaseOrder_out_async'. Notice that only a request mapping is required (POReq__ZBAPI_PO_CREATE_req).

•  Activate the new objects.

•  Adjust the objects in the Integration Directory

•  Open the business service ‘XIWS_web_purchasing_XX' and assign the outbound interface ‘PurchaseOrder_out_async'.

•  Copy your receiver determination object to a new one where the sender interface is ‘PurchaseOrder_out_async'. Make sure to add the new object to your scenario. Notice that the receiver service and the condition remain the same.

•  Copy your interface determination object to a new one, where the sender interface is ‘PurchaseOrder_out_async'. Make sure to add the new object to your scenario.

•  The inbound interface remains the same

•  Assign the interface mapping ‘PO_out_async__ZBAPI_PO_CREATE'.

•  Refresh your receiver determination object. Notice that the receiver agreement and communication channel remain the same. Activate all objects.

•  Now you can test the scenario asynchronously with the plain HTTP client.

•  Make sure to change the following values:

•  QoS: ‘EO' (exactly once)

•  Sender Interface: PurchaseOrder_out_async

•  All other values remain the same, so does the message payload

•  When you submit your request, notice that there is no response coming back.

•  Examine your message in transaction SXMB_MONI.

•  Verify in the backend system that the PO was created.

•  Think about the pros and cons of utilizing asynchronous communication in this case. The instructor will discuss the topic.

Appendix: naming conventions and terminology

Exercise 3

 

Area

Obj. type

Object name

Description

SLD

n/a

n/a

No SLD objects

Int. Rep.

NS

urn:xiworkshop:groupXX[00..30]:webapp

Namespace for web objects

 

XSD

PurchaseOrderCombined

Contains 2 message types

 

Msg.type

PurchaseOrderRequest

Derived from XSD

 

Msg.type

PurchaseOrderResponse

Derived from XSD

 

Msg.int.

PurchaseOrder_out

Outbound, synchronous

 

Msg.int.

PurchaseOrder_out_async

Outbound, asynchronous

 

XSLT

POReq__Z_BAPI_PO_CREATE_req.xsl

Request mapping

 

XSLT

ZBAPI_PO_CREATE_resp__POResp.xsl

Response mapping

 

Archive

PurchaseOrder__Z_BAPI_PO_CREATE

Archive for XSLT mappings

 

Int.map

PO_out__Z_BAPI_PO_CREATE

For synchronous case

 

Int.map.

PO_out_async__Z_BAPI_PO_CREATE

For asynchronous case

 

Context

Vendor

Context object

Int. Dir

scenario

xiworkshop_groupXX[00..30]

Reuse scenario container

 

service

XIWS_web_purchasing_XX

Business service – no party

 

 

 

 

R/3

RFC

Z_BAPI_PO_CREATE

RFC wrapper

Previous

 

 


 

 

 

 

 

 Back to SAP XI Tutorials


 
Latest SAP Netweaveer Books