使用BizTalk Server常见问题处理

在开始开发BizTalk项目的时候,一些开发者会碰到许多基础问题,本文对这些常见问题进行罗列,其中有个别问题笔者向微软的BizTalk工程师寻求了问题解决方案,旨在让使用BizTalk的朋友更快的进行开发。文中的内容基于BizTalk Server 2006和Visual Studio 2005。 

1.      在多列结果上不支持数据流
错误信息:
适配器“SQL”返回一条错误消息。详细信息为“HRESULT="0x80004005" Description="在多列结果上不支持数据流"”。
解决方法:
可能解决的情况是对SQL查询语句或存储过程加上“
FOR XML AUTO--,/*ELEMENTS,*/--XMLDATA
2.      缺少根元素
错误信息:
执行发送管道时出错:“Microsoft.BizTalk.DefaultPipelines.XMLTransmit, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”,源:“XML 组装器”,发送端口:“SendPort_DataToXXX”,URI:“C:\Messages\Test\Create\%MessageID%.xml”,原因: 缺少根元素。
解决方法:
出现这种问题最大的可能性是在生成输出的Xml文件时出错导致格式错误。在使用BizTalk过程中使用架构映射文件(.btm)进行xml变换时会遇到这个问题。解决办法就是确认源架构文件(.xsd)和目标架构文件设置的目标命名空间是否正确。通过在vs.net的解决方案资源管理器的btm文件上点击右键菜单选择属性进行输入输出的设置,再通过右键菜单进行“测试映射”或“验证映射”来检查正确性。 

3.      重新部署BizTalk应用程序无法刷新服务器运行实例
描述信息:
对BizTalk Server应用程序项目修改后通过vs.net2005进行重新部署到BizTalk服务器,结果BizTalk应用程序无法刷新服务器运行实例,还是运行上一个版本的程序。
解决方法:
a.在重新部署修改后的应用程序前,必须先停止BizTalk Server上的对应用程序实例。
b.通过vs.net部署程序。
c.在BizTalk Server 2006的管理器里的组节点下面的应用程序节点右键点击刷新菜单。
d.打开系统服务管理器找到“BizTalk Server 应用程序服务”,对其进行重新启动。
e.在BizTalk Server 2006的管理器中启动部署的应用程序。 

4.      在vs.net 2005中无法自动刷新程序集引用
描述信息:
在vs.net 2005中,对被引用程序集的修改,无法在引用它的项目中进行自动刷新。
解决方法:
http://support.microsoft.com/default.aspx?scid=kb;en-us;313512 

5.      验证架构文件(.xsd)出现错误 BEC2004
错误信息:(VS2005输出的错误信息有点读不通)
C:\测试目录\EntryDatasingle.xml: 错误 BEC2004: 元素 命名空间“http://namespace-url”中的“[xml根目录]”。 的子元素 命名空间“http://namespace-url”中的“ENTRY_CONTAINER”。无效。应为可能元素的列表: “某个子元素”。
解决方法:
在VS.net中打开架构文件,选中<Schema>,在属性窗口中。设置Element FormDefault值为Qualified,设置Attribute FormDefault值为Unqualified。详细可以访问http://blog.csdn.net/zhzuo/archive/2006/08/02/1011031.aspx。 

6.      通过vs.net部署应用项目提示“无法添加资源”
错误信息:
无法添加资源。 存储区中已存在资源(-Type=“System.BizTalk:BizTalkAssembly” -Luid=“BizTalkTestProject1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3a57bb41dbe2b5dc”),并且该资源与另一个应用程序或另一种类型相关联。
解决方法:
在vs.net中打开BizTalk浏览器,找到前次部署的应用程序对应的程序集,右键点击取消部署,再次通过vs.net进行部署操作。 

7.      只能在原子作用域或服务中声明非序列化对象类型
错误信息:
只能在原子作用域或服务中声明非序列化对象类型“System.Xml.XmlNodeList XmlEntryDataNodeList” E:\vs2005projects\BizTalk2006Projects\BiztalkTestSolution\SqlMQTest\SendEntryXXXProcess.odx
解决办法:
一种方式是把非序列化对象类型定义到原子作用域中,另一种方式设置事务类型为无或把整个编排事务类型设置为原子。 

8.      消息引擎无法从数据库检索配置。详细信息:“c0002a1f”
错误信息:
消息引擎无法从数据库检索配置。详细信息:“c0002a1f”。
解决办法:
可能的原因,数据库访问出现问题。未仔细确认,最终解决方案是重新安装BizTalk Server。 

9.      日志项字符串太长。写入事件日志的字符串不能超过 32766 个字符
错误信息:(错误日志比较长,列出一部分)
未捕获的异常(请参阅下面的“内部异常”)已经挂起服务
内部异常: 日志项字符串太长。写入事件日志的字符串不能超过 32766 个字符。
异常类型: ArgumentException
源: System
目标站点: Void InternalWriteEvent(UInt32, UInt16, System.Diagnostics.EventLogEntryType, System.String[], Byte[], System.String)
解决办法:
出现这种情况可能的原因是接收适配器一次性获取的数据量太大。笔者测试通过SQL适配器接收2500条记录在业务编排中处理时出现该问题。设置数据量在100条运行恢复正常。 

10. BizTalk Server 2006安装问题
安装文档:
http://www.microsoft.com/downloads/details.aspx?FamilyID=b273269c-97e0-411d-8849-5a8070698e4a&DisplayLang=zh-cn

11. 设置MQSeries传输属性的队列定义,队列管理器失败
错误信息:
从计算机192.168.0.10为 CLSID为 {86E96D72-0011-4B28-B1AC-BF52AB47F1B4}的远程组件检索COM类工厂失败,原因出现以下错误:80070005。
解决办法:
http://blog.csdn.net/zhzuo/archive/2006/07/07/890030.aspx

12. 非法尝试更新消息“Message_XXX”的只读属性值
错误信息:
未捕获的异常(请参阅下面的“内部异常”)已经挂起服务“BizTalkServer2006Test.SendNbEportEntryDataProcess(614fa04f-8968-ef95-952b-11c74450b870)”的一个实例。在管理性地恢复或终止该服务实例前,它将保持挂起状态。如果恢复了该服务实例,它将从上次持续的状态继续,这可能再次引发同样的异常。实例 ID: 7f064588-f7a1-4dc0-b7f7-180163b04b61形状名称: Construct_SendData形状 ID: c5e435bc-cbbb-48b5-89df-a97ebe0fbee4引发异常的位置: 段 2,进程 15内部异常: 非法尝试更新消息“Message_SendNbEport”的只读属性值(名称:“http://schemas.microsoft.com/BizTalk/2003/system-properties”、命名空间:“MessageID”)。
异常类型: PropertyUpdateDisallowedException
源: Microsoft.XLANGs.Engine
目标站点: Void ReadonlyPropertySetter(Microsoft.XLANGs.Core.XMessage,Microsoft.XLANGs.BaseTypes.XmlQName, System.Object)
解决办法:
该错误为修改只读的MessageID属性引起,修改设置该属性的代码。比如下面的例子。
Message_XXX(BTS.MessageID) = System.DateTime.Now.ToString("yyyyMMddHHmmss"); 

13. 使用SQL适配器发送数据提示“新事务不能登记到指定的事务处理器中”
错误信息:
适配器无法传输要发往发送端口“SendPort_InsertList”(URL 为“SQL://192.168.0.2/H_IMS_RECV/”)的消息。在为该发送端口指定的重试时间间隔过后,将会重新传输该消息。详细信息:“新事务不能登记到指定的事务处理器中。 ”。
解决办法:
http://go.microsoft.com/fwlink/?LinkId=61920
http://support.microsoft.com/kb/Q899191 

14. 分步启动BizTalk Server 2006应用程序出错
错误信息:
提示部分依赖项没有启动等信息。
解决办法:
先启动发送端口,再启动业务流程,最后启动接收位置。 

添加SQL适配器元数据提示“无法执行SQL语句。请确保提供的语法正确。”
错误信息:
在点击BizTalk项目右键菜单中选择->添加->添加生成的项->添加适配器元数据启动添加适配器向导。在SQL传输架构生成向导对话框中选择存储过程,点击生成按钮后,单击下一步按钮出现“无法执行SQL语句。请确保提供的语法正确。新事务不能登记到指定的事务处理器中。”的错误信息。
解决办法:
可能的一种情况是在添加的元数据端口类型为“接收端口”时,选择的存储过程没有返回架构元数据。可以修改该存储过程对SELECT语句加上“
FOR XML AUTO /*,LEMENTS*/,XMLDATA”语句使其返回元数据,在生成后再去掉该语句。 

15. 添加SQL适配器元数据提示“无法执行SQL语句。请确保提供的语法正确。新事务不能登记到指定的事务处理器中。”
错误信息:
在点击BizTalk项目右键菜单中选择->添加->添加生成的项->添加适配器元数据启动添加适配器向导。在SQL传输架构生成向导对话框中选择存储过程,点击生成按钮后,单击下一步按钮出现“无法执行SQL语句。请确保提供的语法正确。新事务不能登记到指定的事务处理器中。”的错误信息。
解决办法:
http://support.microsoft.com/kb/Q899191

16. 在基于内容的消息路由中提示“无法路由发布的消息,因为找不到订户”
错误信息:
错误详细信息: 无法路由发布的消息,因为找不到订户。如果订阅业务流程或发送端口尚未登记,或者订阅评估必需的某些消息属性尚未升级,就会出现此错误。请使用 Biztalk 管理控制台排除此故障。 解决办法:
可能的解决办法,在没有使用业务流程编排的项目中,在发送端口的筛选器设置,
属性:BTS.ReceivePortName
运算符:==
值:[接收端口名称]
分组依据:与 

17. 执行接收管道时出错,没有任何拆装 阶段组件可识别该数据
错误信息:
接收位置“Receive Location1”(URI 为“E:\test\test_Input\*.*”)上的适配器“FILE”接收的消息已挂起。错误详细信息: 执行接收管道时出错:“Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”,源:“XML 拆装器”,接收端口:“ReceivePort1”,URI:“E:\test\test_Input\*.*”,原因: 没有任何 拆装 阶段组件可识别该数据。
解决办法:
在接收文件目录中放入一个非xml文件,在接收端口中设置拆装器为“Microsoft.BizTalk.DefaultPipelines.XMLReceive”所导致,如果是处理平文件,调整接收管道为“Microsoft.BizTalk.DefaultPipelines.PassThruReceive”。如果是xml文件,检查xml格式是否有误。 

18. 执行发送管道时出错,原因: 根级别上的数据无效
错误信息:
执行发送管道时出错:“Microsoft.BizTalk.DefaultPipelines.XMLTransmit, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”,源:“XML 组装器”,发送端口:“SendPort1”,URI:“E:\[测试报文]\预定数据到分中心\test_Output\%SourceFileName%”,原因: 根级别上的数据无效。 行 1,位置 1。
解决办法:
同第17个问题相似,在发送端口中发送管道的设置的问题,如果是处理平文件,调整发送管道为“Microsoft.BizTalk.DefaultPipelines.PassThruTransmit”。如果是xml文件,检查xml格式是否有误。 

19. 配置MQSeries适配器的队列定义信息选择本地服务器队列管理器出错
错误信息:
服务器 localhost 上未安装或未正确配置适配器。COM异常:从计算机localhost为CLSID为{86E96D72-0011-4B28-B1AC-BF52AB47F1B4}的远程组件检索COM类工厂失败,原因是出现以下错误:80040154。
解决办法:
确认是否运行过BizTalk MQSeries 代理配置向导,如果没有通过开始菜单->程序->
 Microsoft BizTalk Server 2006->BizTalk MQSeries 代理配置向导来进行设置。另外需要注意MSDTC的安全配置,以Windows Server 2003为例,在开始菜单的运行中输入dcomcnfg命令打开组件服务控制台,展开左边的组件服务下面的计算机、我的电脑右键菜单属性选择MSDTC选项卡,点击安全配置按钮,调整安全配置,具体的配置可以看http://blog.csdn.net/zhzuo/archive/2006/07/07/890030.aspx。 
 20. 通过MQSeries适配器发送消息提示访问被拒绝
错误信息:
适配器无法传输要发往发送端口“SendPort1”(URL 为“MQS://localhost/nbeport_zz_test/zz_test_queue”)的消息。在为该发送端口指定的重试时间间隔过后,将会重新传输该消息。详细信息:“The adapter has encountered an 'Access Denied' error while attempting to contact the COM+ object on the MQSeries server. Ensure the BizTalk account is added to the Role on the MQSAgent COM+ application.”。
解决办法:
以Windows 2003 Server为例,在开始菜单的运行中输入dcomcnfg命令打开组件服务控制台,展开左边的组件服务下面的计算机->我的电脑->COM+ 应用程序->MQSAgent2->角色->CreatorOwner->用户->右键菜单新建->用户->添加BizTalk Server Administrators组用户和BizTalk Application Users组用户。返回到MQSAgent2节点右键->禁用->启用->启动。如果还是出现问题请重新启动计算机。具体的配置可以看http://blog.csdn.net/zhzuo/archive/2006/07/07/890030.aspx。 

21. 在应用程序日志中出现“文件系统连接器中发生错误”
错误信息:
文件系统连接器中发生错误。请查看详细信息。Cant make a connection to \\Test-11\EDIDocsHome\Documents\PickupEDI. Errormessage: The operation cannot be performed because a network component is not started or because a specified name cannot be used.Foldername: \\NBEPORT-MQ\EDIDocsHome\Documents\PickupEDI, Errormessage: The operation cannot be performed because a network component is not started or because a specified name cannot be used.
解决办法:
该问题为访问PickupEDI目录权限不够引起,可以设置目录属性的安全来解决。

转载于:https://www.cnblogs.com/wanqiming/archive/2010/03/07/1680045.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381101.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python数据存储用什么_Python的小数据存储,用什么格式更有逼格?

小数据存储我们在编写代码的时候&#xff0c;经常会涉及到数据存储的情况&#xff0c;如果是爬虫得到的大数据&#xff0c;我们会选择使用数据库&#xff0c;或者excel存储。但如果只是一些小数据&#xff0c;或者说关联性较强且存在存储后复用的数据&#xff0c;我们该如何存储…

电气与计算机学院院长论坛报告,自动化学院分论坛第十、十一次专家报告会圆满成功...

2016年10月24日下午两点半&#xff0c;第十三届北航研究生学术论坛自动化学院分论坛第十、十一次专家报告会在新主楼D座639举行。本次报告会由自动化学院的董希旺老师邀请到了加拿大维多利亚大学电子与计算机工程系副研究员何建平博士和加拿大阿尔伯塔大学电气与计算机工程系的…

媒资管理系统的应用与发展

电视台作为一个生产单位&#xff0c;其主要产品为音频和视频节目&#xff0c;同时包含了与其相关的文稿&#xff0c;如新闻稿、解说词、拍摄脚本等。视音频节目和素材作为资产具有很高的价值&#xff0c;甚至超过设备等固定的有形资产&#xff0c;其中很多资料独一无二、非常珍…

计算机教师教学心得体会,信息技术教师教学的一点体会

放飞学生的梦想随着素质教育的不断深入&#xff0c;作为教师&#xff0c;我们认识到&#xff0c;教育不仅仅是追求百分之多少的升学率&#xff0c;而是追求每个学生生动、活泼、主动的发展、不仅仅是汇报时的总结、评比时的数据&#xff0c;而是教师与学生共度的生命历程&#…

在ne中分析贱谈.net中简体转繁体

最近到了台企&#xff0c;什么都要用繁体的。 开发中也遇到了简繁体转换的问题。 这里和朋友们分享一下用.net实现简繁体转换的经验。 我还是直接贴例子在说明一下吧&#xff1a; //Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; us…

localdatetime转化为date_LocalDateTime用法(jdk1.8 )

前言最近看别人项目源码&#xff0c;发现Java8新的日期时间API很方便强大&#xff0c;所以转载该入门介绍博客&#xff0c;记录一下。使用新时间日期API的必要性在java8以前&#xff0c;或许&#xff1a;当你在做有关时间日期的操作时&#xff0c;你会想到用Date;当你在做日期、…

计算机里的东西不小心删除如何恢复,原先在电脑界面上的文件不小心删除了怎么恢复,谢谢了...

那就得看看删除的方式是哪种的了&#xff0c;如果是普通删除的文件&#xff0c;可以打开回收站查看是否有想文件的存在&#xff0c;如果有的话进行还原的操作&#xff0c;如果未发现的话&#xff0c;可以参考下述的恢复教程进行文件的恢复工作&#xff1a;步骤一&#xff1a;到…

我的处女作《设计模式之禅》——前言

终于可以写前言了&#xff0c;这说明本书已经基本完成&#xff0c;可以长嘘一口气了。 为什么写这本书 为什么写这本书&#xff1f;今年5月份&#xff0c;我在JavaEye上发了一个帖子&#xff0c;其中提到自己已经工作9年了&#xff0c;总觉得这9年不应该就这么荒废了&#xff0…

bc汇编指令用法_汇编指令imul 与 操作数

最近在练《天书夜读》,在2.3 C语言的数组与结构 章节里有如下代码(注&#xff1a;我用的是VS2005)&#xff1a;--- e:\practice\visual studio 2005\projects\reverseme\reverseme\reverseme.c ----// ReverseMe.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h&…

css设置导航栏背景颜色,更改bootstrap导航栏背景颜色和字体颜色

3 个答案:答案 0 :(得分&#xff1a;46)我使用以下CSS成功设置了Bootstrap导航栏的样式。你也没有在CSS中定义任何字体&#xff0c;这就是字体没有改变的原因。可以在here找到使用此CSS的网站。.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav…

UML 图例

对UML不是很了解&#xff0c;简单地了解一下UML设计中有的图例及基本作用。首先对UML中的各个图的功用做一个简单介绍&#xff1a; 1、用例图 描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统&#xff0c;以及他们使用该系统可以做些什么。一个用例图包含了多个模…

python计数器函数_Python计数器Counter

老男孩教育的PYTHON自动化开发课程自2013年第1期到现在已经走到了第12期&#xff0c;2年半的时间里&#xff0c;我们每一期都在对课程细节进行不同程度的优化&#xff0c;课程总时长也从最开始的2个月延长至第12期的五到六月&#xff0c;更新内容足足翻了一倍多&#xff0c;我们…

从物理服务器拷贝文件到容器,docker容器与物理机的文件传输—docker cp命令

ocker cp :用于容器与主机之间的数据拷贝。语法docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATHOPTIONS说明&#xff1a;-L :保持源目标中的链接实例将主机./vern目录拷贝到容器hssme的/home/cloudera目录下。docker c…

idea代码样式模板_阿里p3c(代码规范,eclipse插件、模版,idea插件)

阿里p3c一、说明代码规范检查插件p3c&#xff0c;是根据《阿里巴巴Java开发手册》转化而成的自动化插件。(高级黑&#xff1a;P-3C“Orion”&#xff0c;反潜巡逻机&#xff0c;阿里大概取p3c先进&#xff0c;监测&#xff0c;发现潜在问题的意思)二、源码地址下载下来之后为&a…

ajax require 用法,require.js使用方法整理

一、使用原因1、实现js异步加载&#xff0c;避免网页失去响应&#xff1b;2、管理模块之间的依赖性&#xff0c;便于代码编写和维护&#xff1b;二、使用说明1.加载require.js加载这个文件&#xff0c;也可能造成网页失去响应。解决办法有两个&#xff0c;一个是把它放在网页底…

根据数据库中的值用js设置RadioButtonList选中与否

function setcheck(id,ddd)//id表示控件ID号,ddd表示值{var radiolist id; for(var i0;i<document.getElementById(radiolist).rows.length;i) { for(var x0;x<document.getElementById(radiolist).rows[i].cells.length;x) { if(document.getElementById…

服务器与本地文件共享文件夹,云服务器对本地服务器共享文件夹

云服务器对本地服务器共享文件夹 内容精选换一换当您成功创建私有镜像后&#xff0c;镜像的状态为“正常”&#xff0c;您可以使用该镜像创建服务器实例或云硬盘&#xff0c;也可以将镜像共享给其他帐号&#xff0c;或者复制镜像到其他区域。私有镜像的生命周期如图1所示。远程…

rocksdb原理_教你玩转MyRocks/RocksDB—STATISTICS与后台线程篇

0. Intro在facebook的MySQL版本(以下称为MyRocks)中&#xff0c;RocksDB是可选的存储引擎。相比于InnoDB引擎&#xff0c;RocksDB的一个重要的优势是它使用更少的磁盘空间。在生产系统中&#xff0c;特别是用户数在亿级以上的互联网应用&#xff0c;磁盘空间是其中比较大的成本…

有效需求分析的基本流程

今天工作不算太忙&#xff0c;本来下午是要开会&#xff0c;由于这周的idea比较少&#xff0c;就把AT会议移到下周一起开&#xff0c;所有今天没有什么忙的&#xff0c;只是开了简单的idea评审会议&#xff0c;同时对组内的一些问题进行简单的整理&#xff0c;本来想整理出好的…

PHP Socket 编程

让我们以一个简单的例子开始---一个接收输入字符串,处理并返回这个字符串到客户端的TCP服务.下面是相应的代码: PHP 代码: -------------------------------------------------------------------------------- <? // 设置一些基本的变量 $host "192.168.1.99";…