Ошибка CreateBizTalkAdapterHandler

            #############################################################
            # This function will create a handler for a specific 
            # adapter on the new host, so these get used for processing.
            # [direction]: 'Receive','Send'
            #############################################################
            function CreateBizTalkAdapterHandler(
                [string]$adapterName,
                [string]$direction,
                [string]$hostName,
                [string]$originalDefaulHostName,
                [boolean]$isDefaultHandler)
                #[boolean]$removeOriginalHostInstance)
            {
                if($direction -eq 'Receive')
                {
                    [System.Management.ManagementObject]$objAdapterHandler = ([WmiClass]"root/MicrosoftBizTalkServer:MSBTS_ReceiveHandler").CreateInstance()
                    $objAdapterHandler["AdapterName"] = $adapterName
                    $objAdapterHandler["HostName"] = $hostName
                }
                else
                {
                    [System.Management.ManagementObject]$objAdapterHandler = ([WmiClass]"root/MicrosoftBizTalkServer:MSBTS_SendHandler2").CreateInstance()
                    $objAdapterHandler["AdapterName"] = $adapterName
                    $objAdapterHandler["HostName"] = $hostName
                    $objAdapterHandler["IsDefault"] = $isDefaultHandler
                }

                try
                {
                    $putOptions = new-Object System.Management.PutOptions
                    $putOptions.Type = [System.Management.PutType]::CreateOnly;

                    [Type[]] $targetTypes = New-Object System.Type[] 1
                    $targetTypes[0] = $putOptions.GetType()

                    $sysMgmtAssemblyName = "System.Management"
                    $sysMgmtAssembly = [System.Reflection.Assembly]::LoadWithPartialName($sysMgmtAssemblyName)
                    $objAdapterHandlerType = $sysMgmtAssembly.GetType("System.Management.ManagementObject")

                    [Reflection.MethodInfo] $methodInfo = $objAdapterHandlerType.GetMethod("Put", $targetTypes)
                    $methodInfo.Invoke($objAdapterHandler, $putOptions)

                    Write-Host "$adapterName $direction Handler for $hostName was successfully created" -Fore DarkGreen
                }
                catch [System.Management.Automation.RuntimeException]
                {
                    if ($_.Exception.Message.Contains("The specified BizTalk Host is already a receive handler for this adapter.") -eq $true)
                    {
                        Write-Host "$hostName is already a $direction Handler for $adapterName adapter." -Fore DarkRed
                    }
                    elseif($_.Exception.Message.Contains("The specified BizTalk Host is already a send handler for this adapter.") -eq $true)
                    {
                        Write-Host "$hostName is already a $direction Handler for $adapterName adapter." -Fore DarkRed
                    }
                    else {
                        write-Error "$adapterName $direction Handler for $hostName could not be created: $_.Exception.ToString()"
                    }
                }

                #if($removeOriginalHostInstance)
                #{
                    #DeleteBizTalkAdapterHandler $adapterName $direction $originalDefaulHostName
                #}
            }

Когда я бегу

CreateBizTalkAdapterHandler -adapterName "WCF-WebHttp" -direction "Send" -hostName "ServiceProcessing" -originalDefaulHostName "BizTalkServerApplication" -isDefaultHandler 0

Создает обработчик отправки ServiceProcessing, но когда я использую

CreateBizTalkAdapterHandler -adapterName "WCF_WSHttp" -direction "Send" -hostName "PMProcessing" -originalDefaulHostName "BizTalkServerApplication" -isDefaultHandler 0

Я получаю сообщение об ошибке, когда имею дело с адаптером "WCF-WSHttp":

CreateBizTalkAdapterHandler: не удалось создать обработчик отправки WCF_WSHttp для PMOServiceProcessing: исключение, вызывающее «Invoke» с аргументами «2»: «Не найден экземпляр с указанным ключом. Это может быть результатом удаления экземпляра другим администратором BizTalk. session.".Exception.ToString() В строке:3 символ:1 + CreateBizTalkAdapterHandler -adapterName "WCF_WSHttp" -direction "Sen ... + ~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId: Microsoft.PowerShell.Commands.WriteErrorException,CreateBizTalkAdapterHandler


person Dipen Patel    schedule 08.08.2017    source источник
comment
Извините, ребята .. Я нашел решение! это опечатка с именем адаптера WCF_WSHttp вместо имени адаптера WCF-WSHttp .   -  person Dipen Patel    schedule 08.08.2017