Biztalk 2010 X12 EDI参与方

Biztalk 2010 X12 EDI参与方,biztalk,biztalk-2010,Biztalk,Biztalk 2010,我试图将某些BizTalk 2006 R2帮助程序代码转换为BizTalk 2010,但遇到了一个特殊问题。我正在尝试对一个方法进行单元测试,该方法在2006 R2->2010期间发生了突破性的API更改,当我尝试访问该方的批次时,我不断得到以下异常: System.Data.SqlClient.SqlException: Could not find stored procedure 'edi_PartnerBatchScheduleSelect'. 代码: 对于这个测试用例,我已经设置了P

我试图将某些BizTalk 2006 R2帮助程序代码转换为BizTalk 2010,但遇到了一个特殊问题。我正在尝试对一个方法进行单元测试,该方法在2006 R2->2010期间发生了突破性的API更改,当我尝试访问该方的批次时,我不断得到以下异常:

System.Data.SqlClient.SqlException: Could not find stored procedure 'edi_PartnerBatchScheduleSelect'.
代码:

对于这个测试用例,我已经设置了Party1和Party2,并在它们之间开始了批处理

BizTalk 2010中的参与方模型(又名贸易伙伴管理)与以前的版本相比有了很大的变化。因此,Microsoft将参与方迁移工具作为BizTalk 2010安装程序的一部分(请参阅)

很抱歉这么说,但是如果您有直接与BizTalk SQL工件交互的代码,那么它现在工作的可能性很小,因为整个模型都已更改。但是,如果不了解
DSSIBizTalkHelper
的实际功能,很难确定这一点


话虽如此,BizTalk 2010的一个记录更好的功能是进行X12 EDI。虽然没有以前的BizTalk经验会很困难,但您可能希望检查是否在BizTalk中发送成批X12 EDI交换。BizTalkHelper类是从Biztalk工作流调用的不相关的帮助程序方法的集合。有很多,但这是唯一需要修改的,以便针对2010程序集进行编译。我的问题已经在内部得到了回答。长话短说,BizTalk参与方的内容已经发生了显著的变化(如您所提到的),助手方法也不再有用了。
[TestMethod()]
public void GetPartyBatchStatusTest()
{
    Assert.IsTrue(GetPartyBatchStatus("Party1"));
}

public bool GetPartyBatchStatus(string PartyName)
{
    if (string.IsNullOrEmpty(PartyName))
    {
        // Throw Exception
        throw new System.ArgumentException("Parameter PartyName cannot be null or empty in the GetPartyBatchStatus method.", "PartyName");
    }

    bool RetVal = false;

    Partner objPartner = new Partner(PartyName);

    if (objPartner.PartyId != -1)
    {
        foreach (IPartnerBatch batch in objPartner.Batches.Batches)
        {
            RetVal = batch.BatchingActivated;
        }
    }

    return RetVal;
}