2012-03-22 6 views
0

私のBizTalkはXMLメッセージを入力メッセージとして受信します。私はそのメッセージをオーケストレーションのTransformを使ってHL7メッセージに変換しています。 入力メッセージがいずれかのノードの空のフィールドで構成されている場合、HL7メッセージはその位置で分割され、そのメッセージにもスペースが含まれます。改行もHL7メッセージのスペースを取得

誰でもこの問題を解決する手助けはできますか? CDP | ^〜\ & | | EEHR^bbbbbbbbbb | aaaaaaaaaaaaaaaaa^12699^DNS | KYIR ---それは

MSHの正確なスペースを知るためにTextPadの中にこのメッセージをコピーします。以下は、私のHL7メッセージです| 201103060733 || VXU^V04 | 14962 | P | 2.3.1 |||| PID | 1 || 765874316 ^^^^ SS || ssssss^anan^T | wwwww ^^^^^ M | 20100217 | M || 2135-2^YYYYYYYY or jjjjjj^HL70005 | 5896 hyhyhyhy Ave^Apt# 112^Wanta Fe^NM^85678^XXX^H ^^ 049 || 5033331120X ^PRN^PH^^^505ww5551120^~ ^^NET^X.400^[email protected]|5056083515X4365^WPN^PH^^505^6086715^4365 | es^English^HL70296 |||| 215486702 |||||||||| HL70189 ||

ありがとうございました。

答えて

0

問題が何であるかは完全にはわかりません。出力HL7メッセージ文字列にスペースがあるのでしょうか?私は今は私のウィンドウのパーティションにはないので、私は実際にあなたの投稿されたメッセージの間隔と目立つ問題を見ることができません。

とにかくスペースだけの場合は、文字列を解析し、空白の文字列でフィールドのスペースを置き換えることはできますか?

何かのように: - | message.replaceAll("\\| \\|", "||"); <これは、Javaコード前のコードは」のすべてのインスタンスを置き換えるだろうと

です| ' '||' (すなわち、フィールドを空の文字列で置き換える)。

希望に役立ちます。

乾杯

0

間違ったセグメントセパレータがあるようです。
ブランクとそれに続く既知のセグメントヘッダーとフィールド区切り文字の組み合わせとしてすべてのセグメントヘッダーを見つけることができ、そのブランクを正しいセグメントセパレーターで置き換えることができるため、セグメントの開始位置とは異なる位置にある偶然の同じ組み合わせ。
これは、間違ったセグメント区切り記号を避けて正しく提供することです。

関連する問題