Author |
Message
|
kimbert |
Posted: Wed May 27, 2009 1:26 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
Right, but the problem is here with sendmailplugin |
You didn't mention the sendmail plugin until now.
Quote: |
the output which i meant was the one which i copied and posted from the email |
I don't see any reference to copied-and-pasted email output in your previous posts.
Let me give you some advice:
- Take time to describe your scenario properly
- When somebody replies with a question, be courteous enough to answer it
- Tell us what steps *you* have taken to research and diagnose the problem. |
|
Back to top |
|
 |
rekarm01 |
Posted: Wed May 27, 2009 3:06 am Post subject: Re: Pour encoder Français |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
Send mail Plug-In? That's new information.
Here's what's wrong so far:- the Send mail Plug-In doesn't support RFH headers
- the RFH header appears to be corrupted, (or not posted correctly) - the MQRFH2 element is missing
- the RFH(?) Format field is empty
- The XML message appears to be corrupted (or not posted correctly) - there should be a closing parenthesis between the To: and Subject: elements
- there's no mention of where the trace node appears in the message flow
It would also help to enclose trace node output in [code] tags, to preserve indentation.
fjb_saper wrote: |
Use RFHUtil and give us the char displayed and the equivalent hex value for the char... |
Agreed. What would be helpful is to see the (hex) bytes, not the characters, just before the Send mail Plug-In, along with the ccsid, to rule out any issues beforehand. The problem with trace node output is that mqsiformatlog also converts characters, and if not set up properly, will display "^Z ^Z ^Z ..."; that's not very useful. The problem with copy-pasting text into a browser is that it's not possible to tell what might have happened to the text between the broker and the browser.
RFHUtil is useful for examining the input message on the input queue. For the output message, either add an MQOutput node after the Send mail Plug-In for RFHUtil, or add the following (or similar) ESQL after the Send mail Plug-In, run a usertrace, and post the usertrace output for the SET statements:
Code: |
DECLARE outMsgField BLOB;
SET outMsgField = CAST(InputRoot.XML.Message.Body.Line[2] AS BLOB
CCSID InputRoot.Properties.CodedCharSetId); -- First Name
SET outMsgField = CAST(InputRoot.XML.Message.Body.Line[3] AS BLOB
CCSID InputRoot.Properties.CodedCharSetId); -- Last Name |
|
|
Back to top |
|
 |
broker_new |
Posted: Wed May 27, 2009 4:58 am Post subject: |
|
|
 Yatiri
Joined: 30 Nov 2006 Posts: 614 Location: Washington DC
|
To make it simpler i have developed a small flow with the hardcoded french values'
MQInput>>Compute>>Sendmailplugin
Here is the ESQL
CREATE COMPUTE MODULE Test_MsgFlow_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
SET OutputRoot.Properties = InputRoot.Properties;
SET OutputRoot.MQMD = InputRoot.MQMD;
SET OutputRoot.Properties.CodedCharSetId = 1208;
SET OutputRoot.Properties.Encoding = 819;
SET OutputRoot.XML.Message.From = 'WMB@staples.com';
SET OutputRoot.XML.Message.To = 'inquirey@staples.com';
SET OutputRoot.XML.Message.Subject = 'Test the French Characters';
SET OutputRoot.XML.Message.Body.Line[1] = 'Hi';
SET OutputRoot.XML.Message.Body.Line[2] = 'Á É Í Ó Ú Ý á é í ó ú ý ';
SET OutputRoot.BLOB.BLOB = BITSTREAM(OutputRoot.XML);
RETURN TRUE;
END;
END MODULE;
The output from the email is
Hi
à É à Ó Ú à á é à ó ú ý _________________ IBM ->Let's build a smarter planet |
|
Back to top |
|
 |
mqjeff |
Posted: Wed May 27, 2009 5:15 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Why are you using the deprecated BITSTREAM, instead of ASBITSTREAM?
Why are you building a message with two Bodies?
What are you using to read the resulting multi-byte characters, and why do you think that the text representation of the individual bytes is incorrect? |
|
Back to top |
|
 |
broker_new |
Posted: Wed May 27, 2009 5:22 am Post subject: |
|
|
 Yatiri
Joined: 30 Nov 2006 Posts: 614 Location: Washington DC
|
Quote: |
Why are you using the deprecated BITSTREAM, instead of ASBITSTREAM? |
We are using WMB 6.0.3
Quote: |
Why are you building a message with two Bodies? |
Its really not two bodies... but two lines in the body _________________ IBM ->Let's build a smarter planet |
|
Back to top |
|
 |
Vitor |
Posted: Wed May 27, 2009 5:32 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
broker_new wrote: |
Its really not two bodies... but two lines in the body |
No it's 2 bodies. One in the XML domain, and another in the BLOB domain built from the XML with an obsolete function. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
broker_new |
Posted: Wed May 27, 2009 5:51 am Post subject: |
|
|
 Yatiri
Joined: 30 Nov 2006 Posts: 614 Location: Washington DC
|
well, if i make the XML body as NULL sendmail plugin breaks.
SET OutputRoot.XML = NULL; _________________ IBM ->Let's build a smarter planet |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed May 27, 2009 5:44 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
ASBITSTREAM is valid in WMB 6.0...
All the same you should be using XMLNSC or XMLNS and not the deprecated XML domain...
As said what makes you believe the email program you are using is rendering the charset correctly?? What happens if you change the CCSID to 850 instead of 1208 on the output?
As an aside I am familiar with ccsid 819 but not familiar with encoding 819...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
broker_new |
Posted: Wed May 27, 2009 7:11 pm Post subject: |
|
|
 Yatiri
Joined: 30 Nov 2006 Posts: 614 Location: Washington DC
|
You are correct, The encoding is of no use in this situation.
I have updated BITSTREAM TO ASBITSREAM as u said.
I have updated the existing code and FINALLY got it working.
CREATE COMPUTE MODULE Test_MsgFlow_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
SET OutputRoot.Properties = InputRoot.Properties;
SET OutputRoot.MQMD = InputRoot.MQMD;
SET OutputRoot.Properties.CodedCharSetId = 1208;
SET OutputRoot.Properties.Content-Type='text/html';
SET OutputRoot.XML.Message.From = 'WMB@staples.com';
SET OutputRoot.XML.Message.To = 'inquiry@staples.com';
SET OutputRoot.XML.Message.Subject = 'Test the French Characters';
SET OutputRoot.XML.Message.Body.Line[1] = 'Hi';
SET OutputRoot.XML.Message.Body.Line[2] = 'Á É Í Ó Ú Ý á é í ó ú ý ';
SET OutputRoot.BLOB.BLOB = ASBITSTREAM(OutputRoot.XML CCSID 1208);
RETURN TRUE;
END;
END MODULE;
and in the sendmailplugin properties,
i have checked the MIME>>>MIME and selected the Content-Type as UTF-8. _________________ IBM ->Let's build a smarter planet |
|
Back to top |
|
 |
Prasanth |
Posted: Wed Sep 05, 2012 1:17 pm Post subject: French special characters like(æ,é,ù)are not being transform |
|
|
Newbie
Joined: 05 Sep 2012 Posts: 7
|
Could anyone help me on this.
I use Websphere Message Broker v7.0.0.4 and I have a situationwhere I need to transform some special characters to space.This is allwhile converting a csv file to xml.I use XSL transformation node and insidethat I call a .xml file where I use unicode representation to transform.Theproblem is special characters like('- 0,etc) are being transformed.HoweverFrench special characters like (æ,é,ù) are not being transformed in theoutput xml file.Instead some weird symbols get displayed?I use UTF-8 encodingin all my xsl node and xml files. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Sep 05, 2012 1:21 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
You've gone to a lot of trouble to avoid solving your problem the easy way.
The easy way is to use ESQL and the string functions it has to replace or translate the hex characters you need to get rid of in the BLOB message into the hex character for a space |
|
Back to top |
|
 |
kimbert |
Posted: Wed Sep 05, 2012 1:31 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
HoweverFrench special characters like (æ,é,ù) are not being transformed in theoutput xml file.Instead some weird symbols get displayed? |
The displaying of the characters may be incorrect. Check that your editor ( or whatever you are using to view the characters ) is set to display UTF-8. |
|
Back to top |
|
 |
Prasanth |
Posted: Wed Sep 05, 2012 1:40 pm Post subject: |
|
|
Newbie
Joined: 05 Sep 2012 Posts: 7
|
I am using EmEditor (which supports UTF-8) to check botht the input CSV and output xml files.I mean basically I create a new CSV file using EmEditor and open the resulting xml file using EmEditor.
Last edited by Prasanth on Wed Sep 05, 2012 1:48 pm; edited 1 time in total |
|
Back to top |
|
 |
Prasanth |
Posted: Wed Sep 05, 2012 1:44 pm Post subject: |
|
|
Newbie
Joined: 05 Sep 2012 Posts: 7
|
could you please let me know what would be the ESQL to replace ((æ,é,ù) with space.Basically I do not know the hex rep of the specified french characters like X'0D' ,what is it for french characters? |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Sep 05, 2012 3:32 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Prasanth wrote: |
could you please let me know what would be the ESQL to replace ((æ,é,ù) with space.Basically I do not know the hex rep of the specified french characters like X'0D' ,what is it for french characters? |
Forget about French or not French chars etc...
Make sure you send the stuff UTF-8 through the send mail plugin.
By the way CRLF = hex 0D0A...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|