当前位置: 代码迷 >> 企业开发 >> BizTalk2006开发的一个有关问题,请高手指教
  详细解决方案

BizTalk2006开发的一个有关问题,请高手指教

热度:1271   发布时间:2013-02-26 00:00:00.0
BizTalk2006开发的一个问题,请高手指教!
我在把平面文件转换成XML的过程中,遇到了一个问题!情景如下:
00:IFCSUM:MANIFEST:9:::0410182108 '
10:9209:XIN   NING   BO:CN:0013W:CSC '
12:8YTNAMS2BA001::::CNYTN:YANTIAN:CNYTN:YANTIAN:13:P:20040730:::USD:::::CE:::CNYTN:CSCLSZ:0:3:: '
13:NLRTM:ROTTERDAM:NLAMS:AMSTERDAM:NLAMS:AMSTERDAM:::::: '
14:CNYTN:20040810:NLRTM:20040904:9209:0013W:2:H '
..............
99:64 '

以上是个EDI报文,其中标记为14的纪录,是可选的,也就是说是可有可无的,现在我做了一个架构,要把这个平面文件转换成XML文件,不过在转换的过程中,要是遇到可选的记录在没有的情况下,比如标记为14的那一行,在有的情况下可以正常转换,但是在没有14的段时,程序转到该行就会停止,也就是该行之前的纪录都可以转换出来,但是该行之后的纪录没转转换出来,并会提示C:\Documents   and   Settings\Administrator\Local   Settings\Temp\_SchemaData\TargetPO2_test_output.xml:   error   BEC2004:   元素   “BLGenerals”   的内容不完整。应为可能元素的列表:   “RouteInfo,   FreightCharge,   ShipperParty,   ConsigneeParty,   FirstNotityParty,   SecondNotifyParty,   ThirdNotityParty,   BillClause,   DeliveryAddress,   CargoGeneral”。
其中RouteInfo的标记就是14的!
我试了很多方法,比如设置MinOccurs,MaxOccurs属性,不过都没用!
哪位高手能帮忙指点一下吗?感激不尽!谢谢

------解决方案--------------------------------------------------------
我也遇到过这样的问题。
我的解决办法是在进入biztalk之前,将数据补齐。
通过schema的方式自动去处理0..1的数据,我还未成功过 :(
  相关解决方案