on 08-29-2008 8:38 AM
Hi All,
I am doing a File to JDBC scenario, where sender side message type occurance is 0..unbounded and receiver side message type occurance is 1 in message mapping. The whole scenario working fine when both sender and receiver side message type occurance is 1 in message mapping.
When Sender side occurance is 1.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:mt_smtjdbc_sender xmlns:ns0="http://SmartJDBC">
<NAME>A</NAME>
<DEPT>B</DEPT>
</ns0:mt_smtjdbc_sender>
When Sender side occurance is 0..unbounded.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<ns1:mt_smtjdbc_sender xmlns:ns1="http://SmartJDBC">
<NAME>Dip</NAME>
<DEPT>xi</DEPT>
</ns1:mt_smtjdbc_sender>
</ns0:Message1>
</ns0:Messages>
If I use Sender side occurance as 0..unbounded I am getting the following error in adapter engine Communication channel monitor (for receiver communication channel)
Error while parsing or executing XML-SQL document: Error processing request in sax parser: No 'action' attribute found in XML document (attribute "action" missing or wrong XML structure)
Can anybody please help me how to solve this problem?
Dipankar
Hi,
Take receiver side one node with occurence 0 ...unbound and map those (o..unbound)two nodes.
it will give better result.
Regards
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
My Sender side structure as follows.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<ns1:mt_smtjdbc_sender xmlns:ns1="http://SmartJDBC">
<NAME>DIp</NAME>
<DEPT>XI</DEPT>
</ns1:mt_smtjdbc_sender>
</ns0:Message1>
</ns0:Messages>
My corresponding Receiver side structure as follows.
<?xml version="1.0" encoding="UTF-8" ?>
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<ns1:mt_smtjdbc_receiver xmlns:ns1="http://SmartJDBC">
<Statement>
<dbTableName action="INSERT">
<TABLE>SMARTOP</TABLE>
<access>
<NAME>DIp</NAME>
<DEPT>XI</DEPT>
</access>
</dbTableName>
</Statement>
</ns1:mt_smtjdbc_receiver>
</ns0:Message1>
</ns0:Messages>
Hi Dipankar,
From what i understand of your requirement, you get multiple files and you need to send multiple insert requests to the JDBC based upon each file. If that is the case create a mapping and create a target structure like this:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:mt_smtjdbc_sender xmlns:ns0="http://SmartJDBC">
<Root>
<NAME>A</NAME>
<DEPT>B</DEPT>
<Root>
</ns0:mt_smtjdbc_sender>
Now you can send multiple requests by making your Root node as 0...unbounded and then map it to the Statement tag on the target side. Thus for each Root one request will be created.
Refer to this blog for the same:
Bhavesh has used it the same way.
Correct me if i have understood your requirement wrongly.
Regards,
Sanjeev.
Hi Sanjeev,
it is not possible for me to change the structure of sender side.The sender side structure is as follows.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<ns1:mt_smtjdbc_sender xmlns:ns1="http://SmartJDBC">
<NAME>A</NAME>
<DEPT>B</DEPT>
</ns1:mt_smtjdbc_sender>
</ns0:Message1>
</ns0:Messages>
Regards
Dipankar
hi,
sender and Receiver JDBC Adaptor Config using XI
-
JDBC to JDBC
https://wiki.sdn.sap.com/wiki/display/XI/JDBCTOJDBC
Regards
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I think it is due to occurance problem,make sure both side occurance should be same else it will throw error. Make both side occurance 0..unbound, i think u didn't get any problem.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
your JDBC structure has to look like:
http://help.sap.com/saphelp_erp2005vp/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
Regards Mario
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Dipankar,
Why are you using source side message type occurence as 0...unbounded? You can send the request message as follows:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:mt_smtjdbc_sender xmlns:ns0="http://SmartJDBC">
<Root>
<NAME>A</NAME>
<DEPT>B</DEPT>
<Root>
</ns0:mt_smtjdbc_sender>
Here you can have the occurence of root as 0...unbounded. Thus you can send multiple requests.
Let me know if i have not understood your requirement clearly.
Also check your target side xml structure. It would be helpful to find the reason for error, if you can provide it here.
Regards,
Sanjeev.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
24 | |
12 | |
9 | |
7 | |
6 | |
5 | |
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.