2012-03-22 48 views
0

我的BizTalk接收XML消息作为输入消息。我使用业务流程中的变换将该消息转换为HL7消息。 现在,如果输入消息由在任何节点的任何空的字段中,HL7消息在该现在的位置是打破了,并且还包括在该消息中的空间。断线之后,也越来越空间HL7消息

任何人都可以帮助我解决这个问题吗?以下是我的HL7消息: 注意 ---复制在Textpad这个消息去了解它

MSH确切空间| ^〜\ & | EEHR^bbbbbbbbbb | aaaaaaaaaaaaaaaaa^^ 12699 DNS | KYIR | CDP | 201103060733 || VXU^V04 | 14962 | P | 2.3.1 |||| PID | 1 || 765874316 ^^^^ SS || ssssss^anan^T | wwwww ^^^^^^ M | 20100217 | M || 2135-2^YYYYYYYY或jjjjjj^HL70005 | 5896 hyhyhyhy Ave^Apt# 112^Wanta Fe^NM^85678^XXX^H ^^ 049 || 5033331120X ^ PRN^PH ^^^505^5551120^~^NET^X.400^[email protected]|5056083515X4365^WPN^PH^^^ 505^6086715^4365 | ES^^英语|||| HL70296 ||| 215486702 H^erererer或qwqwqw^HL70189 | bnbnbn | Y | 1 ||||

谢谢。

回答

0

我不完全确定问题是什么 - 输出HL7消息字符串中是否有空格?我不是在我的Windows分区,现在,所以我不能够真正看到你发布的消息间距的任何明显的问题。

无论如何,如果它只是空格,你可以通过字符串解析并用空字符串替换字段中的空格吗?

喜欢的东西:message.replaceAll("\\| \\|", "||"); < - 这是Java代码

,以前的代码将取代“所有实例| |” '||' (即用空字符串替换空格)。

希望有所帮助。

干杯

0

看来你的问题是,有错误的段分隔符。
因为它可以找到所有段标题作为空白后跟已知段标题和字段分隔符的组合,并用正确的段分隔符替换空白,所以不能保证你不会得到偶然的组合在与片段开始不同的位置。
因此,最好的建议是要避免错误段分隔符UND提供它的权利。