| RE: [***SPAM***] RE: [BizTalker] Character set of a part |
- From: Mick Badran
- Subject: RE: [***SPAM***] RE: [BizTalker] Character set of a part
- Date: Sat, 22 Sep 2007 02:55:06 -0700
- Follow-Ups:
- RE: [***SPAM***] RE: [***SPAM***] RE: [BizTalker] Character set of a part, gregory.vandewiele
- References:
- [BizTalker] Character set of a part, gregory.vandewiele
- RE: [BizTalker] Character set of a part, Bill Chesnut
- RE: [***SPAM***] RE: [BizTalker] Character set of a part, gregory.vandewiele
- Prev by Date: RE: [***SPAM***] RE: [BizTalker] Character set of a part
- Next by Date: RE: [***SPAM***] RE: [***SPAM***] RE: [BizTalker] Character set of a part
- Previous by thread: RE: [BizTalker] Polling with the Oracle Adaptor
- Next by thread: RE: [***SPAM***] RE: [***SPAM***] RE: [BizTalker] Character set of a part
- Index(es):
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
|
Reading a part stream into a
string is not a big one – provided you know the encoding with a BOM
(ideally). You mentioned that you have *no
BOM* sometimes (which usually comes from ‘older’ systems where
they have no knowledge of this) – without a BOM, you’ve got to make
some assumptions really. There may be a message context
property – or as you say, you could write/use a custom function that derives
the encoding, but either which way it’s tough. My suggestion would be to put a ‘default
preference’ on the pipeline component – something like ‘if
there’s no BOM’ then apply X encoding (the most common for what you’re
doing). You could then have different
instances (or a DB lookup table) and explicitly set the ‘if all else
fails try this..’ value.
Good luck. Mick Badran
(MVP - BizTalk) Training
& Integration Specialist | Microsoft Readiness Instructor BreezeTraining | mb: + 61 404 842 833 | fx: +61 2 3962
4898 IM:
mickb@xxxxxxxxxxxxxxxxxxxxx | http://blogs.breezetraining.com.au/mickb From: biztalkerlist@xxxxxxxxxxxxxxxxxxxxxx
[mailto:biztalkerlist@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of gregory.vandewiele Poison message
handling of raw flatfile content (of readable characters). The parsing is done
inside an orchestration. If the pipeline that
does the parsing fails my solution sends out an xml containing the failing string
in an element. Therefore I need to translate the part stream into a string. An administrator can
formulate a response xml, change the string-content and make the orchestration
retry the parsing with the updated content. The messages come
into the orchestration from different RL’s where the encoding type is set
on the part per RL by a ‘FixEncoding’ component (see Tomas
Restrepo). Anyway, I can make it
work with a custom function that finds out the encoding. When there is no BOM
it is hard if not impossible to find out the codepage though for variable or
single byte char sets (UTF8 or local)… That is the reason
why getting it from the XLANG message would be a lot easier. I could try to read
the property ReceivePipelineConfig from the incoming message in orchestration
and try to parse out the property value out of the xml. Any other ideas? Gregory From: biztalkerlist@xxxxxxxxxxxxxxxxxxxxxx
[mailto:biztalkerlist@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Bill Chesnut Gregory, Just curious of why you need to know what the character set of the
message is, BizTalk will handle mapping with knowing this? Is it an XML message or a flat file? I think you would need a decoding pipeline component to read the
stream, specifically the BOM at the front of the stream to determine this. You might try the sample fix message component and set a breakpoint
of the 1st buffer read and see what characters are in the buffer. Bill Chesnut BizTalk Server MVP From: biztalkerlist@xxxxxxxxxxxxxxxxxxxxxx
[mailto:biztalkerlist@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of gregory.vandewiele Hi Fellow Biztalkers, Does anybody of you know how to find-out the
character set of a raw message part from Orchestration? The XLANGPart class
doesn’t seem to have this property… If you look at the message-part in the
BizTalk Administration mmc you can clearly see it (UTF-8 or UTF-16 etc…).
The only solution I can think of right now
is to execute a pipeline with this raw incoming message in XLANG and read it in
a custom pipeline component… Thanks! Cheers, Gregory Van de Wiele to
unsubscribe to this list, please send a message back to the list with
'unsubscribe' as the subject. Powered by mailenable.com - List managed by
http://www.readify.net to unsubscribe to this list, please send a message back
to the list with 'unsubscribe' as the subject. Powered by mailenable.com - List
managed by http://www.readify.net to
unsubscribe to this list, please send a message back to the list with
'unsubscribe' as the subject. Powered by mailenable.com - List managed by
http://www.readify.net |
(Click here for more information on the biztalkers mailling list)
