欢迎光临
我们一直在努力

编写BizTalk 自定义管道组件的一个意外错误-.NET教程,组件控件开发

建站超值云服务器,限时71元/月
作者:郑佐 2006-11-28
假设有一个名为zhengzuo.biztalk.pipelines的组件项目,用来实现一个biztalk 2006的自定义的管道组件。
以下是笔者编写自定义接收管道组件的一段不完整代码,
[componentcategory(categorytypes.catid_pipelinecomponent)]
[componentcategory(categorytypes.catid_any)]
[componentcategory(categorytypes.catid_validate)]
[componentcategory(categorytypes.catid_disassemblingparser)]
[system.runtime.interopservices.guid(“7eda198e-6fd8-4046-a974-1c8bf55c3b93”)]
public class boxupmessagecomponent :
        icomponent,
        ibasecomponent,
        icomponentui,
        ipersistpropertybag,
        idisassemblercomponent
{
        private const string description = 管道解码器。编写人:郑佐。\n编写时间:2006-08-1。”;
        private const string name = 某某管道组件”;
        private const string version = “1.0.0.0”;
}
 
编译zhengzuo.biztalk.pipelines项目成功,输出到d:\program files\microsoft biztalk server 2006\pipeline components目录,生成组件为zhengzuo.biztalk.pipelines.dll。
 
在解决方案中新建一个名为biztalktest的biztalk项目。添加一个发送管道取名为sendpipeline1.btp。打开该发送管道进行编辑,把“某某管道组件”从工具箱拉到解码的位置(如果在工具箱中没有找到“某某管道组件”,在工具箱上右键点击“选择项”菜单,在显示的窗口上选择biztalk管道组件选项卡,选中“某某管道组件”添加)。
pipecomponent.jpg
 
 
编译biztalktest项目,出现一连串错误如下:
错误 11   常量中有换行符
错误 12   意外的字符“:”
错误 13   意外的字符“。”
错误 14   常量中有换行符
错误 15   应输入 ;
错误 16   类、结构或接口成员声明中的标记“:”无效
错误 17   类、结构或接口成员声明中的标记“>”
 
在biztalktest项目文件目录下复制sendpipeline1.btp文件,并修改文件名为sendpipeline1.xml,使用ie或firefox打开,显示内容如下。
<?xml version=”1.0″ encoding=”utf-16″?>
<document xmlns:xsi=”http://www.w3.org/2001/xmlschema-instance” xmlns:xsd=”http://www.w3.org/2001/xmlschema” policyfilepath=”btsreceivepolicy.xml” majorversion=”1″ minorversion=”0″>
  <description />
  <stages>
    <stage categoryid=”9d0e4103-4cce-4536-83fa-4a5040674ad6″>
      <components>
        <component>
          <name>zhengzuo.biztalk.pipelines.boxupmessagecomponent</name>
          <componentname>某某管道组件</componentname>
          <description>管道解码器。编写人:郑佐。
编写时间:2006-08-1。</description>
          <version>1.0.0.0</version>
          <properties />
          <cacheddisplayname>某某管道组件</cacheddisplayname>
          <cachedismanaged>true</cachedismanaged>
        </component>
      </components>
    </stage>
    <stage categoryid=”9d0e4105-4cce-4536-83fa-4a5040674ad6″>
      <components>
        <component>
          <name>microsoft.biztalk.component.ffdasmcomp</name>
          <componentname>平面文件拆装器</componentname>
          <description>流平面文件拆装器组件</description>
          <version>1.0</version>
          <properties>
            <property name=”headerspecname” />
            <property name=”documentspecname”>
              <value xsi:type=”xsd:string”>biztalktest.sendpipeline1</value>
            </property>
            <property name=”trailerspecname” />
            <property name=”preserveheader”>
              <value xsi:type=”xsd:boolean”>false</value>
            </property>
            <property name=”validatedocumentstructure”>
              <value xsi:type=”xsd:boolean”>false</value>
            </property>
            <property name=”recoverableinterchangeprocessing”>
              <value xsi:type=”xsd:boolean”>false</value>
            </property>
          </properties>
          <cacheddisplayname>平面文件拆装器</cacheddisplayname>
          <cachedismanaged>true</cachedismanaged>
        </component>
      </components>
    </stage>
    <stage categoryid=”9d0e410d-4cce-4536-83fa-4a5040674ad6″>
      <components />
    </stage>
    <stage categoryid=”9d0e410e-4cce-4536-83fa-4a5040674ad6″>
      <components />
    </stage>
  </stages>
</document>
 
注意到xml文件的红色标注部分,对应zhengzuo.biztalk.pipelines组件项目中的代码为,
private const string description = 管道解码器。编写人:郑佐。\n编写时间:2006-08-1。”;
修改以上代码为
private const string description = 管道解码器。编写人:郑佐。编写时间:2006-08-1。”;
 
修改btp发送管道重新添加“某某管道组件”,编译biztalktest项目成功。查看btp文件xml结构为
<description>管道解码器。编写人:郑佐。编写时间:2006-08-1。</description>
 
可见由于“\n”导致项目编译失败。这个算不算是biztalk server 2006开发中的一个小bug?

 

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 编写BizTalk 自定义管道组件的一个意外错误-.NET教程,组件控件开发
分享到: 更多 (0)