惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
O
OpenAI News
D
Docker
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
Netflix TechBlog - Medium
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
C
CXSECURITY Database RSS Feed - CXSecurity.com
阮一峰的网络日志
阮一峰的网络日志
K
Kaspersky official blog
Security Latest
Security Latest
T
Tailwind CSS Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
V
Vulnerabilities – Threatpost
W
WeLiveSecurity
N
News and Events Feed by Topic
aimingoo的专栏
aimingoo的专栏
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Cyber Attacks, Cyber Crime and Cyber Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
T
The Blog of Author Tim Ferriss
Google DeepMind News
Google DeepMind News
Help Net Security
Help Net Security
爱范儿
爱范儿
宝玉的分享
宝玉的分享
腾讯CDC
H
Heimdal Security Blog
Webroot Blog
Webroot Blog
AI
AI
WordPress大学
WordPress大学
Recorded Future
Recorded Future
SecWiki News
SecWiki News
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Security Archives - TechRepublic
Security Archives - TechRepublic
Google Online Security Blog
Google Online Security Blog
C
Check Point Blog
TaoSecurity Blog
TaoSecurity Blog
Cisco Talos Blog
Cisco Talos Blog
The Cloudflare Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - Franky
云风的 BLOG
云风的 BLOG

博客园 - 秋枫

BizTalk Server中简单xml架构使用举例 CodeProject.com上微软BizTalk平台技术文章集锦 BizTalk Server 2006中使用MQSeries适配器问题处理 基于.Net平台应用程序唯一运行实例实现 使用BizTalk Server的Sql适配器出现“新事务不能登记到指定的事务处理器中”异常的处理 谈基于.net平台windows开发中的模式窗体 Visual studio 2005下xml的xsl转换调试 小提国内一些提供RSS服务的网站生成Rss文件问题 Visual studio .net 的“隐蔽性”和容易“忽略”的功能 使用sqlcmd(osql) 实用工具列出本地网内的Sql Server 服务器 《敏捷注册表》1.0使用说明书 《敏捷注册表》1.0概述 使用从BindingManagerBase.PositionChanged 事件的注意点 使用Microsoft SQL Server 2000的XML查询 asp.net中显示DataGrid控件列序号的几种方法 使用.net framewrok 1.1版System.Windows.Forms.TreeView的一个问题 使用.net framewrok 1.1版注册表API的局限和解决 使用SaveFileDialog需要注意的情况 使用.net framework中常用类在2.0版中的新功能
使用BizTalk Server常见问题处理
秋枫 · 2006-08-04 · via 博客园 - 秋枫

作者:郑佐
时间:2006-7-3

在开始开发BizTalk项目的时候,一些开发者会碰到许多基础问题,本文对这些常见问题进行罗列,其中有个别问题笔者向微软的BizTalk工程师寻求了问题解决方案,旨在让使用BizTalk的朋友更快的进行开发。文中的内容基于BizTalk Server 2006Visual 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目录权限不够引起,可以设置目录属性的安全来解决。