2016-04-18 13 views
1

外部クラスライブラリメソッド呼び出しAddValidationErrorsを使用して、Business Rule Composerのデータ検証エラーをエラー処理しようとしています。 IFactCreatorインターフェイスも実装しているFactCreatorクラスを作成しました。これは、Business Rule Composerでポリシーをテストしようとすると機能します。しかし、私がオーケストレーションで試してみると、ルールは発効しません。誰もがこれで私を助けることができます。以下は、検証エラーBizTalk BRE - .Netクラスのメソッドがオーケストレーションの呼び出しルールシェイプで機能しない

public void AddValidationError(TypedXmlDocument activeDoc, string err) 
{ 
    XmlDocument doc = activeDoc.Document.OwnerDocument; 
    XmlNode errorRoot = doc.SelectSingleNode("//ValidationErrors"); 
    XmlElement newError = doc.CreateElement("Error"); 
    newError.InnerText = err; 
    errorRoot.AppendChild(newError); 
} 

FactCreatorクラスのために私のコードです:

private object[] objs; 

    public FactCreator() 
    { 

    } 
    public object[] CreateFacts(RuleSetInfo ruleSetInfo) 
    { 
     objs = new object[1]; 
     objs[0] = new ValidationErrors.ValidationErrors(); 
     return (objs); 
    } 

    public Type[] GetFactTypes(RuleSetInfo ruleSetInfo) 
    { 
     return null; 
    } 

答えて

2

あなたは.NETのBRE静的なサポートを有効にしていますか?

32ビットWindows

HKEY_LOCAL_MACHINE\Software\Microsoft\BusinessRules\3.0\ 

64:

これらの方法は、次のレジストリパスに 1の値で、 StaticSupportという名前 REG_DWORDキーを追加し、静的ネットメソッドのBREのサポートを有効にするにはビットWindows

HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\BusinessRules\3.0\ 

これは1回限りの動作です。

上記の情報は、thisブログからのものです。

MSDNエキスの添加は:

別のオプションは、すべての設定はここでレジストリに何上書きするよう、 ファイルを.exe.config BTNTsvc [64]でStaticSupportを置くことです。さらに、 は、デフォルト動作の変更をBizTalkのみに分離するのに対して、 レジストリ設定はオペレーティングシステムに対してグローバルであるため、このオプションが優先されるという議論をすることもできます。

+0

レジストリを編集していない方法はありますか? –

+0

MSDNには、設定ファイルを使用して更新することもできます。https://msdn.microsoft.com/en-us/library/aa950269.aspx私は私の答えを更新します。 –

+0

これは1回の活動ですか? –

関連する問題