【发布时间】:2016-01-21 05:17:01
【问题描述】:
当我为动态发送端口导出绑定时,绑定文件中没有显示处理程序名称。那么有没有替代方法呢。
【问题讨论】:
标签: biztalk biztalk-2013 send-port
当我为动态发送端口导出绑定时,绑定文件中没有显示处理程序名称。那么有没有替代方法呢。
【问题讨论】:
标签: biztalk biztalk-2013 send-port
Stephen F March 的一个建议是使用 PowerShell 脚本来设置这些。
来自How to configure Send Handler for BizTalk 2013 Dynamic Send Port on deployment?
param
(
[string] $bizTalkDbServer = ".",
[string] $bizTalkDbName = "BizTalkMgmtDb",
[string] $fileHostInstance = "SendingHost",
[string] $sendPortName = "sm_dynamic_sp_test"
)
[System.reflection.Assembly]::LoadWithPartialName("Microsoft.BizTalk.ExplorerOM") | Out-Null
$catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$catalog.ConnectionString = "SERVER=$bizTalkDbServer;DATABASE=$bizTalkDbName;Integrated Security=SSPI"
foreach($sp in $catalog.SendPorts)
{
if($sp.Name -eq $sendPortName)
{
"Found send port $($sp.Name), analyzing send handler"
foreach($sh in $sp.DynamicSendHandlers)
{
if($sh.SendHandler.TransportType.Name -eq "FILE")
{
if($sh.SendHandler.Host.Name -ne $fileHostInstance)
{
"Changing $($sh.Name) send handler to '$fileHostInstance' from '$($sh.SendHandler.Host.Name)'"
$sp.SetSendHandler("FILE", $fileHostInstance)
}
else
{
"Send handler for $($sp.Name) is already '$fileHostInstance' ignorning .. "
}
}
}
}
}
$catalog.SaveChanges()
Sandro Pereira 也刚刚发布了一个名为 BizTalk DevOps: How to configure Default Dynamic Send Port Handlers with PowerShell的博客
【讨论】:
BizTalk 2013 没有开箱即用,您需要使用上面列出的 powershell。
对于 BizTalk 2016 + CU8(仅限及以上版本),当您导出时,您将能够在绑定文件中获取主机详细信息。
对于 BizTalk 2020 使用 CU2 ,CU1 有这个问题
【讨论】: