Czy istnieje sposób automatyzacji włączania i wyłączania opcji Odbieranie lokalizacji w programie BizTalk? Wygląda na to, że powinien istnieć jakiś rodzaj API lub coś takiego dla tego rodzaju rzeczy. Wolałbym pracować w języku C#, ale działałby również WMI lub jakiś skrypt.Czy istnieje sposób automatyzacji włączania lub wyłączania lokalizacji odbierania BizTalk za pomocą kodu?
Odpowiedz
Oprócz ExplorerOM, jak już się dowiedziałeś, możesz także włączać/wyłączać odbierane lokalizacje (i sterować portami wysyłania) za pomocą WMI.
Mam przykładowy skrypt PowerShell, który pokazuje, jak robić te rzeczy here, jeśli jesteś zainteresowany.
Znalazłem rozwiązanie. Wygląda na to, że Microsoft.BizTalk.ExplorerOM.dll jest tym, co chciałem. Oto fragment z dokumentacji BizTalk że powinien dostać ktoś inny zaczął:
using System;
using Microsoft.BizTalk.ExplorerOM;
public static void EnumerateOrchestrationArtifacts()
{
// Connect to the local BizTalk Management database
BtsCatalogExplorer catalog = new BtsCatalogExplorer();
catalog.ConnectionString = "Server=.;Initial Catalog=BizTalkMgmtDb;Integrated Security=SSPI;";
// Enumerate all orchestrations and their ports/roles
Console.WriteLine("ORCHESTRATIONS: ");
foreach(BtsAssembly assembly in catalog.Assemblies)
{
foreach(BtsOrchestration orch in assembly.Orchestrations)
{
Console.WriteLine(" Name:{0}\r\n Host:{1}\r\n Status:{2}",
orch.FullName, orch.Host.Name, orch.Status);
// Enumerate ports and operations
foreach(OrchestrationPort port in orch.Ports)
{
Console.WriteLine("\t{0} ({1})",
port.Name, port.PortType.FullName);
foreach(PortTypeOperation operation in port.PortType.Operations)
{
Console.WriteLine("\t\t" + operation.Name);
}
}
// Enumerate used roles
foreach(Role role in orch.UsedRoles)
{
Console.WriteLine("\t{0} ({1})",
role.Name, role.ServiceLinkType);
foreach(EnlistedParty enlistedparty in role.EnlistedParties)
{
Console.WriteLine("\t\t" + enlistedparty.Party.Name);
}
}
// Enumerate implemented roles
foreach(Role role in orch.ImplementedRoles)
{
Console.WriteLine("\t{0} ({1})",
role.Name, role.ServiceLinkType);
}
}
}
}
Jedno zastrzeżenie, widocznie ten dll nie obsługuje 64 bit. Ponieważ piszę tylko proste narzędzie, nie jest to dla mnie wielka sprawa (tylko kompilowanie jako 32-bitowe), ale jest to coś, o czym należy pamiętać.
mogę używać do zdalnego dostępu do BizTalk Server ?? – Kiquenet
Hej Alhambraeidos, jeśli dobrze cię rozumiem, tak, możesz. Użyłem tego do stworzenia małej aplikacji Windows, która pozwoli mi wybrać lokalizację odbioru i ją wyłączyć. –
W odpowiedzi na komentarz Alhambraeidos. Tutaj jest kilka fragmentów kodu I wykorzystywane w aplikacji Windows, aby wyłączyć odbioru Lokalizacja zdalnie:
/// <summary>
/// Gets or sets the biz talk catalog.
/// </summary>
/// <value>The biz talk catalog.</value>
private BtsCatalogExplorer BizTalkCatalog { get; set; }
/// <summary>
/// Initializes the biz talk artifacts.
/// </summary>
private void InitializeBizTalkCatalogExplorer()
{
// Connect to the local BizTalk Management database
BizTalkCatalog = new BtsCatalogExplorer();
BizTalkCatalog.ConnectionString = "server=BiztalkDbServer;database=BizTalkMgmtDb;integrated security=true";
}
/// <summary>
/// Gets the location from biz talk.
/// </summary>
/// <param name="locationName">Name of the location.</param>
/// <returns></returns>
private ReceiveLocation GetLocationFromBizTalk(string locationName)
{
ReceivePortCollection receivePorts = BizTalkCatalog.ReceivePorts;
foreach (ReceivePort port in receivePorts)
{
foreach (ReceiveLocation location in port.ReceiveLocations)
{
if (location.Name == locationName)
{
return location;
}
}
}
throw new ApplicationException("The following receive location could not be found in the BizTalk Database: " + locationName);
}
/// <summary>
/// Turns the off receive location.
/// </summary>
/// <param name="vendorName">Name of the vendor.</param>
public void TurnOffReceiveLocation(string vendorName)
{
ReceiveLocation location = Locations[vendorName].ReceiveLocation;
location.Enable = false;
BizTalkCatalog.SaveChanges();
}
Zauważysz, że istnieje jakiś Wyszedłem na zewnątrz, tak jak było stworzenie słownika otrzymują miejscach nazwie „Lokalizacje ", ale powinieneś być w stanie uzyskać pomysł. Wzór prawie odnosi się do dowolnego obiektu BizTalk, z którym chcesz się komunikować.
Cieszę się, że znalazłeś rozwiązanie.
Chciałbym wymienić podobną alternatywę, która również używa Powershell, ExplorerOM i BizTalk API do ustawiania artefaktów BizTalk w różnych stanach.
Otrzymuj lokalizacje będące jednym z nich.
Skrypt przyjmuje pliki konfiguracyjne XML, w których wymienione są artefakty i status, w którym mają być ustawione.
Skrypt został opublikowany Microsoft Script Center: http://gallery.technet.microsoft.com/scriptcenter/Set-Artifact-Status-270f43a0
- 1. Przycisk włączania/wyłączania ExtJS
- 2. Czy istnieje sposób włączania lub wyłączania flag chrome przez niestandardowe rozszerzenie chrome?
- 3. Android: przyciski włączania/wyłączania masy
- 4. Aktywacja asp.net wyłączania/włączania weryfikatora przy użyciu kodu JavaScript
- 5. BroadcastReceiver do włączania/wyłączania ekranu
- 6. Klucze wyłączania i włączania MySQL
- 7. Czy istnieje sposób automatyzacji testowania strony internetowej?
- 8. Czy istnieje sposób automatyzacji generowania slajdów PowerPoint?
- 9. Czy istnieje sposób rozmawiania z programem OneNote za pomocą kodu?
- 10. Sposób włączania i wyłączania pola tekstowego w jquery
- 11. Przełącznik kompilatora do włączania/wyłączania komunikatów debugowania?
- 12. Zmień tekst włączania/wyłączania przełącznika przyciskowego Android
- 13. iOS: Przesuwanie ekranu włączania/wyłączania UIView
- 14. Zmiana kolejności warstw podczas włączania/wyłączania warstwy
- 15. Czy istnieje sposób automatyzacji importowania projektów do Eclipse?
- 16. Globalna flaga do włączania/wyłączania sprawdzania poprawności w Prismatic/Schema?
- 17. Czy istnieje ogólny sposób wyłączania wykonywalnych obiektów docelowych w cmake
- 18. Wdrożenie wypychania za pomocą automatyzacji testów
- 19. Czy istnieje sposób na uzyskanie lokalizacji "domowej" i "roboczej" użytkownika za pomocą interfejsu API Google?
- 20. Czy istnieje sposób selektywnego włączania kodu podczas publikowania w programie Matlab?
- 21. Przycisk wyłączania za pomocą przycisku wyboru
- 22. Kolidowanie za pomocą siatki lokalizacji
- 23. Emacs - ustaw różne interwały włączania i wyłączania kursora.
- 24. Czy istnieje sposób wyeksportować PSD za pomocą AS3
- 25. typ włączania i wyłączania nie należy do określonej klasy szablonów
- 26. Funkcja włączania i wyłączania funkcji Twig tag obejmuje:
- 27. Wyłączenie danych z szynami za pomocą przycisku ponownego włączania
- 28. Czy istnieje sposób generowania wielu plików/klas za pomocą szablonów kodu/plików intellij?
- 29. Czy istnieje sposób na tworzenie przezroczystych okien za pomocą Tkintera?
- 30. różne obrazy dla włączania i wyłączania stanów przycisku w WPF
Świetnie, jest to zdecydowanie poprawne. Im więcej opcji, tym lepiej. Dzięki tomasr. –