BrowsingArtifacts (BizTalk Server-Beispiel)
Anhand dieses Beispiels (BrowsingArtifacts) wird das Auflisten von BizTalk-Elementen und -Attributen veranschaulicht.
Voraussetzungen
Sie müssen über BizTalk Server Administratorrechte verfügen, um die administrativen Objekte in diesem Beispiel verwenden zu können.
Für die Skriptausführung erfordert das Windows PowerShell-Skriptbeispiel die Windows PowerShell-Ausführungsrichtlinie. Weitere Informationen finden Sie unter about_Execution_Policies.
Ziel des Beispiels
Dieses Beispiel veranschaulicht die Verwendung der BtsCatalogExplorer-Klasse aus dem Microsoft.BizTalk.ExplorerOM-Namespace , um Artefakte aufzulisten und deren Attribute zu melden. Die folgenden Artefakte sind in den von diesem Beispiel generierten Bericht enthalten: Orchestrierungen, Ports, Assemblys, Parteien und Transformationen. Dieses Beispiel ist in Microsoft Visual C# geschrieben. Ein Windows PowerShell Beispielskript wird ebenfalls in diesem Thema bereitgestellt.
Speicherort dieses Beispiels
Das Beispiel ist im folgenden SDK-Verzeichnis gespeichert:
<Beispielpfad>\Admin\ExplorerOM\BrowsingArtifacts
In der folgenden Tabelle werden die Dateien in diesem Beispiel samt Zweck beschrieben.
Datei(en) | BESCHREIBUNG |
---|---|
BrowsingArtifacts.cs | Visual C#-Quelldatei für Vorgänge, die in diesem Beispiel veranschaulicht werden. |
BrowsingArtifacts.sln, BrowsingArtifacts.csproj, BrowsingArtifacts.suo | Die Projektmappen- und Projektdateien für das Beispiel. |
Erstellen und Ausführen dieses Beispiels
So erstellen Sie dieses Beispiel
Öffnen Sie in Visual Studio die Projektmappendatei BrowsingArtifacts.sln.
Klicken Sie im Menü Erstellen auf Projektmappe erstellen.
So führen Sie dieses Beispiel aus
Öffnen Sie ein Befehlsfenster, und navigieren Sie zum folgenden Ordner:
<Beispielpfad>\Admin\ExplorerOM\BrowsingArtifacts\bin\Debug
Führen Sie die Datei BrowsingArtifacts.exe aus.
Beispiel für ein Windows PowerShell-Skript
Das folgende Windows PowerShell Skript kann verwendet werden, um die gleichen Features der ExplorerOM-Klassen zu veranschaulichen:
Function EnumOrchestrations($catalog)
{
Write-Host `r`n======================
Write-Host === ORCHESTRATIONS ===
Write-Host ======================`r`n
#=== Enumerating the assemblies and pulling orchestration information ===#
foreach($assembly in $catalog.Assemblies)
{
foreach($orch in $assembly.Orchestrations)
{
#=== We can’t report the host if it is not hosted or enlisted ===#
if ($orch.Status -ieq "Unenlisted")
{
Write-Host Name : $orch.Fullname`r`nHost : N/A`r`nStatus : $orch.Status
}
else
{
Write-Host Name : $orch.Fullname`r`nHost : $orch.Host.Name`r`nStatus : $orch.Status
}
#=== Reporting port types and operations ===#
foreach($port in $orch.Ports)
{
Write-Host "`tPort:"$port.PortType.FullName
foreach($portop in $port.PortType.Operations)
{
Write-Host "`t`tOperation:"$portop.Name
}
}
#=== Reporting Used roles ===#
foreach($role in $orch.UsedRoles)
{
Write-Host "`tRole:"$role.Name"`("$role.ServiceLinkType"`)"
foreach($EnlistedParty in $role.EnlistedParties)
{
Write-Host "`t`tParty:"$Enlistedparty.Party.Name
}
}
#=== Reporting implemented roles ===#
foreach($role in $orch.ImplementedRoles)
{
Write-Host "`tRole:"$role.Name"`("$role.ServiceLinkType"`)"
}
Write-Host
}
}
}
Function EnumOtherArtifacts($catalog)
{
Write-Host `r`n======================
Write-Host "=== ASSEMBLIES ==="
Write-Host ======================`r`n
foreach($assembly in $catalog.Assemblies)
{
Write-Host $assembly.Name
}
Write-Host `r`n======================
Write-Host "=== HOSTS ==="
Write-Host ======================`r`n
foreach($btshost in $catalog.Hosts)
{
Write-Host $btshost.Name"`($($btshost.Type)`)"
}
Write-Host `r`n======================
Write-Host "=== PARTIES ==="
Write-Host ======================`r`n
foreach($party in $catalog.Parties)
{
Write-Host $party.Name
foreach($sendport in $party.SendPorts)
{
Write-Host "`tSendPort:"$sendport.Name
}
foreach($alias in $party.Aliases)
{
Write-Host "`tAlias:"$alias.Name":"$alias.Qualifier"="$alias.Value
}
}
Write-Host `r`n======================
Write-Host "=== TRANSFORMS ==="
Write-Host ======================`r`n
foreach($transform in $catalog.Transforms)
{
Write-Host $transform.FullName":`r`n`t"$transform.SourceSchema.Fullname"==>"$transform.TargetSchema.Fullname`r`n
}
}
#=== Main Script Body ===#
#=== Make sure the ExplorerOM assembly is loaded ===#
[void] [System.reflection.Assembly]::LoadWithPartialName("Microsoft.BizTalk.ExplorerOM")
#=== Connect to the BizTalk Management database ===#
$Catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$Catalog.ConnectionString = "SERVER=.;DATABASE=BizTalkMgmtDb;Integrated Security=SSPI"
#=== All reporting is performed in the following two functions ===#
EnumOrchestrations $Catalog
EnumOtherArtifacts $Catalog
Nachfolgend sehen Sie ein Beispiel für die Ausführung des Windows PowerShell-Skripts mit der Beispielausgabe:
PS C:\> .\BrowsingArtifacts.ps1
======================
=== ORCHESTRATIONS ===
======================
Name : Microsoft.BizTalk.Edi.BatchSuspendOrchestration.BatchElementSuspendService
Host : BizTalkServerApplication
Status : Enlisted
Name : Microsoft.BizTalk.Edi.BatchingOrchestration.BatchingService
Host : BizTalkServerApplication
Status : Enlisted
Name : Microsoft.BizTalk.Edi.RoutingOrchestration.BatchRoutingService
Host : BizTalkServerApplication
Status : Enlisted
Name : EAIOrchestrations.EAIProcess
Host : N/A
Status : Unenlisted
Port: EAIOrchestrations.ReceiveReqType
Operation: Operation_1
Port: EAIOrchestrations.SendDeclineType
Operation: Operation_1
Port: EAIOrchestrations.SendToERPType
Operation: Operation_1
Name : B2BOrchestrations.B2BProcess
Host : BizTalkServerApplication
Status : Started
Port: B2BOrchestrations.ReceivePO_Type
Operation: Operation_1
Port: B2BOrchestrations.SendPOConfirmed_Type
Operation: Operation_1
Port: B2BSchemas.localhost.Process_.Process
Operation: ReceivePO
Port: B2BOrchestrations.ReceiveASN_Type
Operation: Operation_1
Port: B2BOrchestrations.ReceiveInvoice_Type
Operation: Operation_1
Port: B2BOrchestrations.PortType_PaymentVoucherArchive
Operation: Operation_1
Port: B2BSchemas.localhost1.Payment_Service_.Payment_Service
Operation: ProcessPayment
Port: B2BOrchestrations.SendPaymentAck_Type
Operation: Operation_1
======================
=== ASSEMBLIES ===
======================
Microsoft.BizTalk.GlobalPropertySchemas
Microsoft.BizTalk.DefaultPipelines
Microsoft.BizTalk.Adapter.MSMQ.MsmqAdapterProperties
MQSeries
Microsoft.BizTalk.Hws.HwsPromotedProperties
Microsoft.BizTalk.Hws.HwsSchemas
Microsoft.BizTalk.KwTpm.StsDefaultPipelines
Microsoft.BizTalk.KwTpm.RoleLinkTypes
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Microsoft.BizTalk.Edi.BaseArtifacts
Microsoft.BizTalk.Edi.EdiPipelines
Microsoft.BizTalk.Edi.BatchingOrchestration
Microsoft.BizTalk.Edi.RoutingOrchestration
Microsoft.BizTalk.Edi.EdiIntPipelines
EAISchemas
EAIOrchestrations
B2BSchemas
B2BOrchestrations
WCFArtifacts
FFDisassemblerWalkthrough
BTSWhitespaceTest
======================
=== HOSTS ===
======================
BizTalkServerApplication (InProcess)
BizTalkServerIsolatedHost (Isolated)
======================
=== PARTIES ===
======================
PartyB
Alias: Organization : OrganizationName = PartyB
======================
=== TRANSFORMS ===
======================
EAISchemas.FFRequestDeniedMap :
EAISchemas.FlatFileSchema1 ==> EAISchemas.RequestDenied
EAISchemas.RequestDeniedMap :
EAISchemas.Request ==> EAISchemas.RequestDenied
B2BSchemas.InvoiceToPayment :
B2BSchemas.CommonInvoice ==> B2BSchemas.localhost1.Reference
B2BSchemas.MapToCommonPO :
B2BSchemas.PO ==> B2BSchemas.localhost.Reference
BizTalkArtifacts.ConcatMap :
BizTalkArtifacts.InputSchema ==> BizTalkArtifacts.OutputSchema
FFDisassemblerWalkthrough.Map1 :
FFDisassemblerWalkthrough.Body ==> FFDisassemblerWalkthrough.Body
BTSWhitespaceTest.Map1 :
FFDisassemblerWalkthrough.Body ==> BTSWhitespaceTest.Schema1