cancel
Showing results for 
Search instead for 
Did you mean: 

Message Interface for HTTP to JDBC synchronous scenario

Former Member
0 Kudos

Hi Experts,

Could you please explain the Message Interface from the below blog. Actually, I am confused with the Outbound Interface. Is it correct?

/people/siva.maranani/blog/2005/09/16/xi-how-to-on-jdbc-receiver-response

1. LoginData_Sync_OUT_MI

Input Message : Role_MT

Output Message : LoginData_MT

2. LoginData_DB_Sync_IN_MI

Input Message : LoginData_DB_DT

Output Message : Dummy_DT

Regards

Sara

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Sara,

it is pretty simple

As we all understand

Outbound is Sender and Inbound is receiver.

In the context of this blog, we are sending the "login data" as the input to the JDBC table in the receiver from the http sender and receive the "role information" for that user. Since we are getting back role info as response, the interfaces need to be synchronous.

So, For the outbound interface(http ), " LoginData_Sync_OUT_MI",

Output message(request) is the Login data

Input Message (response) is role information

For the inbound interface,LoginData_DB_Sync_IN_MI,

Input Message(request) is the Login data

Output Message (response) is the Dummy data (to hold role info)

In request message mapping , we map the "request" message types from outbound interface with inbound interface

In response message mapping, we map the "response" message types from outbound interface with inbound interface.

Hope my reply is of some help

Regards

krishna

Former Member
0 Kudos

Hi All,

Here is my Interface mapping's problem details.

Scenario : I have to pass EmpId as a request from webservice to JDBC, If we have the EmpId address in the JDBC then we have to return the address of the employee as a response to Webservice.

Please find the below datatype, message type and etc., which I have used it for the scenario.

1. Data Types:

a) DT_REQUEST ( Webservice to XI request)

1. EmpId

b) DT_JDBC_REQUEST ( XI to JDBC request)

1. EmpId ,2. EmpName, 3. Company,4. AddressLine1

5. AddressLine2,6. City,7. State

c) DT_JDBC_RESPONSE (JDBC to XI response)

1. EmpId ,2. EmpName, 3. Company,4. AddressLine1

5. AddressLine2,6. City,7. State

d) DT_RESPONSE (XI to Webservice response)

1. EmpId ,2. EmpName, 3. Company,4. AddressLine1

5. AddressLine2,6. City,7. State

2. Message Type created according to the Data Type.

3. Message Interface:

a) MI_Outbound

<b>Output Message :</b> MT_REQUEST

<b>Input Message :</b> MT_JDBC_RESPONSE

b) MI_Inbound

Input Message : MT_JDBC_REQUEST

Output Message : MT_RESPONSE

4. Message Mapping:

a) MM_REQUEST[EmpId mapping]

Source Message : MT_ REQUEST

Target Message : MT_JDBC_REQUEST

b) MM_RESPONSE [Mapping for all the fields]

<b>Source Message : MT_JDBC_RESPONSE

Target Message : MT_RESPONSE</b>

5. Interface Mapping

IM_WEB_DB

Source Interface : MI_Outbound

Target Interface : MI_Inbound

Request :

Source Message : MT_REQUEST

Target Message : MT_JDBC_REQUEST

Response :

<b>Source Message : MT_RESPONSE

Target Message : MT_JDBC_RESPONSE</b>

Here the source Message should be MT_JDBC_RESPONSE and the Target Message should be MT_RESPONSE. But when I tried to create the Interface Mapping I am getting the above bolded Response Messages automatically populated by XI.

Actually, I have followed Siva's blog to do this scenario. Finally confused with the Interface Mapping's response messages. So, please help me out with this scenario steps.

Regards

Sara

bhavesh_kantilal
Active Contributor
0 Kudos

Sara,

The response from the JDBC will always use the same MessageType name as the request Message Type and it will append a <b>_response</b> to it.

Example, if JDBC request has name, <b>MT_JDBC_Request</b> the reponse Message Type Name should be <b>MT_JDBC_Request_response</b>

regards

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

I'll change the response Message Type as per your suggestion, but could you please comment about the other objects. Is that correct or I have to do any changes?

Regards

Sara

bhavesh_kantilal
Active Contributor
0 Kudos

Sara,

What is the operation your are perfroming on the JDBC?

Is it select? If yes, look into my blog and check how the request and response strcutues for a Select Query should look like,

/people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step

Regards,

Bhavesh

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Sara

Check this MM

b) MM_RESPONSE [Mapping for all the fields]

Source Message : MT_JDBC_RESPONSE

Target Message : MT_RESPONSE

I think it should be

<b>Source Message : MT_RESPONSE

Target Message : MT_JDBC_RESPONSE</b>

Regards

krishna

bhavesh_kantilal
Active Contributor
0 Kudos

Sara

What is the opeartion you are trying on your JDBC side?

Can you provide more info on the end to end flow that you want?

The blog by Siva just shows a means to get the Response strucuture when you are not sure how the DB response will look like.

regards

Bhavesh

prateek
Active Contributor
0 Kudos

Outbound Interface: It is created for Sender HTTP. Since response is also required, the interface is used as sync

LoginData_MT is used to send data from HTTP to JDBC and the response of JDBC is retreived back through the message Role_MT

Regards,

Prateek