BizTalk에서 수신 위치 켜기 또는 끄기를 자동화하는 방법이 있습니까? 이런 종류의 API에는 어떤 종류의 API가 있어야하는 것처럼 보입니다. C#에서 작업하는 것을 선호하지만 WMI 또는 일종의 스크립트도 작동합니다.코드를 통해 BizTalk Receive Location을 켜고 끌 수있는 방법이 있습니까?
답변
ExplorerOM 외에도 WMI를 사용하여 수신 위치를 활성화/비활성화하고 전송 포트를 제어 할 수 있습니다.
관심있는 경우 이러한 작업을 수행하는 방법을 보여주는 샘플 PowerShell 스크립트가 있습니다.
해결책을 찾았습니다. Microsoft.BizTalk.ExplorerOM.dll이 내가 원하는 것 같습니다. 여기에 다른 사람을 얻어야한다는 BizTalk 문서에서 발췌 한이 시작됩니다 :
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);
}
}
}
}
하나주의, 분명히이 DLL은 64 비트를 지원하지 않습니다. 필자는 단순한 유틸리티를 작성하기 때문에 (32 비트로 컴파일하는 것만으로는) 큰 문제가 아니지만, 알고 있어야 할 것이 있습니다.
내가 Biztalk Server에 원격 액세스를 사용할 수 있습니다 ?? – Kiquenet
어이 Alhambraeidos, 만약 네가 올바르게 이해한다면 네가 할 수있어. 나는 수신 위치를 선택하고 끌 수있는 작은 윈도우 응용 프로그램을 만드는 데 이것을 사용했다. –
Alhambraeidos 코멘트에 응답.
/// <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();
}
당신은 내가 "위치라는받을 위치의 사전을 만드는 것처럼 내가 왼쪽으로 몇 가지가 있음을 알 수 있습니다 : 여기 내가 원격으로 수신 위치를 해제하는 윈도우 응용 프로그램에서 사용되는 코드의 일부 발췌입니다 "하지만 아이디어를 얻을 수 있어야합니다. 이 패턴은 상호 작용하려는 모든 BizTalk 개체에 적용됩니다.
당신이 솔루션을 찾은 것 같아서 반갑습니다.
Powershell, ExplorerOM 및 BizTalk API를 사용하여 BizTalk 아티팩트를 다양한 상태로 설정하는 비슷한 대안을 원합니다.
수신 위치 중 하나입니다.
스크립트는 이슈를 나열하고 설정하려는 상태를 표시하는 XML 구성 파일을 허용합니다.
스크립트는 마이크로 소프트 스크립트 센터에 게시 된 : http://gallery.technet.microsoft.com/scriptcenter/Set-Artifact-Status-270f43a0
- 1. USB를 켜고 끌 수있는 프로그램을 쓸 수 있습니까?
- 2. iPhone의 화면/백라이트를 내 앱에서 켜고 끌 수있는 방법은 무엇입니까?
- 3. 전화를받는 동안 화면을 켜고 끌 수있는 방법을 구별하는 방법은 무엇입니까?
- 4. Android에서 3g 및 wifi를 켜고 끌 수있는 패키지
- 5. 어떻게 .NET CF에서 프로그램 방식으로 블루투스를 켜고 끌 수 있습니까?
- 6. 개별 키보드에서 Capslock 표시등을 켜고 끌 수 있습니까?
- 7. Visual Studio 2008에서 wpf 디자인 화면을 끌 수있는 방법이 있습니까?
- 8. 코드를 '강조 표시'할 수있는 방법이 있습니까?
- 9. 이 코드를 최적화 할 수있는 방법이 있습니까?
- 10. Resharper 켜고 끄기
- 11. pconnect 켜고 끄기
- 12. 내 앱이 켜지고 꺼져있을 때 WP7에서 GPS를 켜고 끌 수있는 방법은 무엇입니까?
- 13. Erlang : receive 절의 레코드를 패턴 일치시키는 방법이 있습니까?
- 14. 코드를 통해 레지스트리에서 변경 한 사항을 IE에 알리는 방법이 있습니까?
- 15. flex에서 컴파일 된 html 페이지의 자동 재생성을 끌 수있는 방법이 있습니까?
- 16. swf 파일을자를 수있는 방법이 있습니까?
- 17. gnu C++ 0x 하위 호환성 상태 - 그냥 켜고 끌 수 있습니까?
- 18. BlackBerry에서 numlock을 프로그래밍 방식으로 설정하는 방법이 있습니까?
- 19. -sendAction에 코드를 걸 수있는 방법이 있습니까? : from : forEvent : UIApplication?
- 20. 소스 코드를 CodeCompileUnit으로 되돌릴 수있는 기존 방법이 있습니까?
- 21. 내 C# 코드를 사용하여 Javascript를 컴파일 할 수있는 방법이 있습니까?
- 22. Titanium 코드를 Eclipse에 삽입 할 수있는 방법이 있습니까?
- 23. Ruby 코드를 PHP로 쉽게 변환 할 수있는 방법이 있습니까?
- 24. 프로그래밍 방식으로 파이썬 바이트 코드를 생성 할 수있는 방법이 있습니까?
- 25. 응용 프로그램 플랫폼의 중간 코드를 독립적으로 만들 수있는 방법이 있습니까?
- 26. 코드를 사용하여 셀렌이 실행 중인지 확인할 수있는 방법이 있습니까?
- 27. Eclipse에서 코드를 수동으로 폴드 할 수있는 방법이 있습니까?
- 28. IDEA에서 생성 된 GUI 코드를 표시 할 수있는 방법이 있습니까?
- 29. Flex Builder에서 참조되지 않은 코드를 찾을 수있는 방법이 있습니까?
- 30. Java 코드를 DLL로 컴파일 할 수있는 방법이 있습니까?
위대한, 이것은 확실히 유효합니다. 더 많은 옵션이 더 좋습니다. 감사합니다 tomasr. –