on 10-01-2012 10:19 AM
Hi All,
I have a synchronous SOAP TO JDBC scenario, where the Sender is the thirdparty system which uses the webservice and the receiver is the Database.
Here my major concern is the Receiver I am using the JDBC adapter but My issue is that according to my scenario that the sender system must retrieve the data from the database. Here I am not updating, deleting nor inserting the data I am just retrieveing the data from the database which was in the receiver side.
How could I achieve this as there was nothing on the receiver side JDBC as we not have any option to retrieve the data???
Regards,
Naren.
If your query is very complex and reading from more tables then stored procedure is the way to go. Otherwise you can construct the message structure as statement6 given in the sap help document. I also want to give one more suggestion. If the request message structure name is say messagerequest, then you have to name response message structures a messagerequest_response. This is very important for the synchronous jdbc
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Naren,
Dont worry your scenario is a tipycall SOAP-JDBC.
This document http://scn.sap.com/docs/DOC-3803 is a perfect guide to do a SOAP - JDBC synchronous scenario. You can do an easy SELECT following the help that Zameer Farook points below with <StatementName4> also. For the request only need to assign to the Action tag the value "Select" and to map the correct values. In the message mapping you can obtain the parameters by the sender or simply using constants.
To the response you will need to do an XSD that represents the correct output:
<row>
<column1>value11</column1>
<column2>value12</column2>
...
</row>
...
<row>
<column1>valueN1</column1>
<column2>valueN2</column2>
...
</row>
Regards and good luck.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Zameer Farook,
<<<"Your SOAP request message should have the select query as a string and you can map this to receiver JDBC structure access field. " >>>
according to my understanding I have to take a field SelectQuery of type string in the source side and I have to map this to the receiver side access filed right?? If so where I have to take the filed SelectQuery on the source side, I mean under the rootnode or I have consider it as a seperate node??
Regards,
Naren
You can just have one single field in the source structure under your root node, where you would receive your entire SELECT query as a request message from SOAP call.
You can also refer to Inaki's suggestion to create <StatementName4> with an action SELECT. In this case your SOAP request message should send all the required fields and you can do a 1 to 1 mapping to JDBC access fields to construct SELECT query.
Hi,
>>Shall I use the stored procedures for the above requirement???
Stored procedures are always good option, greater flexibility in terms of handling data. U can refer below blogs
http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/1671
http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/9618
Thanks
Amit Srivastava
Hi Naren,
Just create a sync outbound interface for SOAP and sync inbound interface for JDBC call.
Your SOAP request message should have the select query as a string and you can map this to receiver JDBC structure access field.
Your action attribute of JDBC should be mapped with a constant 'SQL_QUERY'.
This will trigger JDBC request of SELECT statement and the response you can map it back to the 3rd party system.
You can also refer SAP Help, check for <StatementName6> format
Hope this helps
Regards,
Zameer
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.