cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP to multiple jdbc scenario

Former Member
0 Kudos

I am starting with Netweaver PI, I'll try to explain myself as good as I can,

I would like to build a SOAP to "multiple" JDBC scenario, where the outbound receives a SOAP message, (web service), with this data different databases are consulted, each uses a different JDBC adapter, and then the data from these databases is mapped to the outbound message,

Can that be achieved just with multiple message and interface mapping?

I need a different interface for every database connexion right?, are there other requirements? (i.e. should it be asynchronous)

I have seen some examples:

/people/luis.melgar/blog/2008/05/13/synchronous-soap-to-jdbc--end-to-end-walkthrough

Thank you very much.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Mark, Yes is something like that,

JDBC (1..n)

1

SOAP----> PI

SOAP<----

but maybe I had a wrong idea of how to do it,

about the JDBC accessors thanks for the info, I undestand better now,

Am I seeing it the right way?:

I bound the soap request message to a function that does the database lookups and then map it to the soap response message, is just one function to do all the DB lookups? or...

what exactly do you mean by multi-step mappings?

Or am I completely lost?

Thanks,

Regards,

Alicia

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

I bound the soap request message to a function that does the database lookups and then map it to the soap response message,

You add values to the original soap message using JDBC Lookups so that your soap request will be understood by the soap receiver.

is just one function to do all the DB lookups? or...

what exactly do you mean by multi-step mappings?

You can do just one DB Lookup, but you also need to think of the person that will support your development

Multi-step mappings are mappings that use two or more transformations using one operation mapping e.g adding other mappings (JAVA/XSLT/ABAP) in an operation mapping. For example, in a typical GUSI XML mapping scenario, your first mapping would be the graphical mapping and the second one would be xslt or java mapping for adding the prefixes.

In your case, if you will be using multi-step mapping, you can do it like this:

1.) SourceMessage -> (DBlookup1) -> SourceMessage

3.) SourceMessage -> (DBlookup2) -> TargetMessage

Hope this helps,

Mark

Answers (5)

Answers (5)

Former Member
0 Kudos

Ok perfect

Thanks a lot!!!!

Former Member
0 Kudos

Ok, thanks for your answers, so just to be sure, there is no way to map the responses of the different databases to one soap message without bpm?

or is there any alternative to do it?

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

As was described by posts above, receiver splitting for synch is not possible without using BPM.

there is no way to map the responses of the different databases to one soap message without bpm?

This can be done via mapping. You can use JDBC accessor to access a DB using UDF.

Here is a blog regarding lookups (RFC and JDBC) /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer

If your scenario is like this


        JDBC (1..n)
          |                  
SOAP <-> PI <-> Target

Build your output message using multi-step mappings via multi DB Lookups. Either that or let me know if I understood your scenario correctly

Hope this helps,

Mark

Edited by: Mark Dihiansan on Mar 29, 2011 4:31 AM

baskar_gopalakrishnan2
Active Contributor
0 Kudos

PI does not support retrieving multiple receivers response in synchronous. You can send to multiple targets using multi mapping without BPM only Async.

Former Member
0 Kudos

Hi,

Well if you have a scap-> Pi--> jdbc thn u can have develop a scenario which can be consulted to different databases by applying the condition either in message mapping or interface determination according to your requiremet.

Former Member
0 Kudos

Hi,

Multiple receivers for synchronous cannot be achieved..it should be async only...

data received from SOAP request can be processed /send to multiple receivers...but the response from these receivers cannot be sent back along the same line...

Hope this answers your query.

Regards

Rajesh