前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BizTalk Orchestration execute Flat file disassembler ReceivePipeline

BizTalk Orchestration execute Flat file disassembler ReceivePipeline

作者头像
阿新
发布2018-04-12 10:40:07
6600
发布2018-04-12 10:40:07
举报
文章被收录于专栏:c#开发者c#开发者

需求是这样,在一个inbound XML中有个一点节点使用平文件的方式存放,还要解析比如固定长度或根据特殊字符截取字段

也就是需要在流程里面先把输入的XML的节点先读出来,这个方式有很多可以直接升级属性,或调用Xpath来获取,在流程里面调用执行receivepipeline的方法也非常简单。

代码语言:javascript
复制
fstr="1001078604000107860400060M1000269  100287128         CONN                ((PLT)) CONNECTOR                                                                                                                                               0000002500AM    14-00NO_PORDER      001SNK15167       6301519046        CN                1SNK15167-KFM      \r\n2001078604000107860400063M1000269  100293499         CAP                 CERAMIC CAPACITOR                                                                                                                                               0000010000AM    14-00NO_PORDER      001SNK15217       4200134227        CHN               1SNK15217-KFM      \r\n";
doc=new System.Xml.XmlDocument();
msgcrt.CreateMyMessage(doc,fstr);


vpipline = Microsoft.XLANGs.Pipeline.XLANGPipelineManager.ExecuteReceivePipeline
(typeof(BizTalkPipline.ReceiveFlilePipeline), doc );
Message_2 =null; //初始化输出消息。
vpipline .MoveNext(); //IElement的默认方法。
vpipline .GetCurrent(Message_2 );

  难的是怎么把string Convert XLangMessage。找了我好久

代码语言:javascript
复制
[Serializable]
   public class StringStreamFactory : Microsoft.XLANGs.BaseTypes.IStreamFactory
   {
       private string m_mystringdata;

       public StringStreamFactory(string stringdata)
       {
           m_mystringdata = stringdata;
       }


       public System.IO.Stream CreateStream()
       {
           return new System.IO.MemoryStream(System.Text.UTF8Encoding.UTF8.GetBytes(m_mystringdata));
       }
   }

   [Serializable]
   public class StringMessageCreator
   {
       public void CreateMyMessage(Microsoft.XLANGs.BaseTypes.XLANGMessage mydestmsg,string content)
       {
           mydestmsg[0].LoadFrom(new StringStreamFactory(content));
       }
   }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-08-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档