2011-05-16 6 views
2

수신 메시지를 검증하기 위해 .NET 클래스를 사용하는 방법에 대해 설명합니다. 그것은 "id"요소를 가지고 있습니다. 이제 .net 클래스 라이브러리에서이 ID를 가진 엔티티가 이미 내 db에 있는지 확인하고 싶습니다. 이미있는 경우 호출이 유효하지 않습니다.Biztalk 룰 엔진 :</p> <p>내가 들어오는와 같은 XML을 얻고있다 : 내가하고 싶은 것은 이것이다

이 BizTalk 규칙 엔진을 어떻게 사용합니까?

+0

이 이벤트가 발생했을 때를 알아야합니까, 아니면 DB 삽입 코드에서 이것을 처리하고 자동으로 버릴 수 있습니까? – Filburt

+0

... 그리고 db는 MessageBox db 또는 다른 응용 프로그램 db를 의미합니까? – Filburt

+0

감사합니다 filburt,하지만 아니, 내가 DB에서 그것을 처리하고 싶지 않아, 거기에 몇 가지 resaons 중 하나는 특정 오류 코드 및 오류 descripton을 반환하고 싶습니다 그리고 이것은 구성 할 수있다 –

답변

1

BizTalk 규칙 엔진은 규칙 집합에 대한 메시지를 평가하는 데 사용됩니다. 규칙 집합은 정책이라는 고정 된 구조에 있으며 .NET 구성 요소 호출을 통해 정책을 "풍부하게"할 수는 없습니다. 거기도 없어야합니다.

데이터베이스 호출을 통해 일부 내용을 기반으로 메시지를 무효화해야하는 경우 규칙 엔진을 호출하기 전에 오케스트레이션에서이 작업을 수행하십시오.

규칙 엔진은 메시지의 다른 내용을 기반으로하는 정적 데이터 또는 데이터를 기반으로 규칙에 따라 메시지 내용을 평가하는 데 사용됩니다.

+1

안녕 thicolour, 확실해? ? 어휘를 사용하면 .net 어셈블리를 참조 할 수 있습니다. 그리고 제가 하나를 언급했을 때, 나는 조건에 "bool"값을 반환하는 메소드를 포함하는 것이 허용되었습니다. 하지만 난 더 이상 진행할 수 없었다 ... 다른 시도를 지금하려고, 지금 당신이 업데이 트를 유지할 것입니다 –

+2

. NET 어셈블리는 어휘를 정의 할 때 참조하는 것이 아니라. NET 클래스를 사용하여 BizTalk 메시지보다는 지원하는 것입니다 .net을 호출하는 방법을 포함합니다. 그러나 나는 원래의 대답에 틀렸다. 어휘 항목을 정의 할 때 "데이터베이스 표 또는 열"을 선택하여 규칙 엔진에서 DB 호출을 수행하는 방법이 있습니다. 자세한 내용은 다음 페이지를 참조하십시오. http://blogs.msdn.com/b/rgarg/archive/2009/04/23/using-biztalk-business-rules-engine-bre-with-database.aspx –

관련 문제