on 06-28-2012 3:43 PM
Hi,
Are you sure ur mapping is failing due to "[]"?....if i can recall it correctly this character comes when u open the xml file (in some cases when messages comes from DB) using view source option under moni...BTW whats the error u r getting?
Thanks
Amit Srivastava
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Copy the payload from moni and check the same under ESR message mapping. In addition to that, check the moni trace to find out more details abt this error.
Chk this thread also:
http://scn.sap.com/thread/653545
Thanks
Amit Srivastava
Before analysing further or creating Java mapping workarounds: open the file in Internet Explorer, it probably will display an error, meaning the document is not well-formed. Probably wrong encoding is used (happens often)
=> this should be solved in the sending system (Oracle). If PI receives a not-well-formed document, the graphical mapping throws an error.
CSY
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Have a separate reusable java mapping to filter such special characters.
Use the below code snippet in execute method.
BufferedReader br = new BufferedReader(new InputStreamReader(inputstream));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(outputstream));
Pattern p = Pattern.compile("[^ -~]");
Matcher matcher = p.matcher("");
String str = null;
while((str = br.readLine()) != null) {
matcher.reset(str);
bw.write(matcher.replaceAll("?"));
bw.newLine();
- Praveen
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vishal,
Please download the hex editor from this link http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm
Now paste the specific line in the file in the editor. Find out the hex code. Lets say for example the code you found is "7A" which is ascii code for 'z'. So if you write a UDF in the mapping to remove such character I feel that will eradicate the symbol. The input to the UDF is a string s="ztz" after we remove 'z' it becomes s="t". the UDF is
String r=""+ (char)(0X7A);
s=s.replaceAll(r,"");
return s;
Hope this helps.
Regards
Anupam
Hi Vishal,
Check that the message mapping and operation mapping are not missed with the ID test tool. Also, check that the mandatory fields are being filled, as Amit points you and with the operation mapping test tool. You can obtain a exception cleares pointing you if there is any target mandatory tag missed.
Regards.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Few cents.. You can handle using java mapping those special characters first and then go for message mapping. You can use simple java string methods like Example
Special character &
String input = "your data";// assume you store the data in the input String
input.replace("&", "&");
If you dont want those special characters remove
input.replace("&"."");
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vishal,
PI handles nearly 64 special characters and it avoids mapping failures.
In your case identify the what is the special character in Oracle and if you dont want that special charater at receiver end then erase it at mapping level.
refer below blog
Regards,
Raj
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
83 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.