这是一个简单的发送端口,我尝试在提升的属性上设置过滤器。每当我尝试登记此端口时,我都会收到以下错误:
===================================
Could not update Send Port 'SendPort1' in Message Box. Exception from HRESULT: 0xC0C01B22 (Microsoft.BizTalk.ExplorerOM)
------------------------------
For help, click: http://go.microsoft.com/fwlink/?LinkId=47400&ProdName=Microsoft+BizTalk+Server+2013&ProdVer=3.10.229.0&EvtSrc=Microsoft.BizTalk.ExplorerOM.Resources&EvtID=IDS_ERR_SENDPORT_UPDATE
------------------------------
Program Location:
at Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer.SaveChangesWithTransaction(Object transactionObj)
at Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer.SaveChanges()
at Microsoft.BizTalk.Administration.SnapIn.Forms.Common.ExplorerPropertyPagesContainer.CommitChanges()
at Microsoft.BizTalk.SnapIn.Framework.Forms.PropertyPagesContainer.Store()
at Microsoft.BizTalk.SnapIn.Framework.Forms.SheetFramework.Store()
过滤器只检查传入消息中是否存在提升属性。关于此异常只有one post in MSDN forums:HRESULT 0xC0C01B22
知道造成这种情况的原因是什么?
答案 0 :(得分:2)
答案在此页面中:https://docs.microsoft.com/en-us/biztalk/core/promoting-properties
那里的说明如下:
XSD数据类型base64Binary,duration,ENTITES,hexBinary,IDREFS,long,NMTOKENS和unsignedLong不支持促销。
事实证明,在我们的例子中,提升的属性是xs:long
类型。我将元素类型更改为xs:string
,然后问题中的问题就消失了。
如果元素在开头本身是不受支持的类型,那么阻止元素的提升是有意义的。但是,在推广阶段,我们不会看到任何针对此类元素的警报。
希望这有助于某人。