我正在尝试将一些BizTalk 2006 R2帮助程序代码转换为BizTalk 2010,我遇到了一个特殊的问题。我正在尝试对从2006 R2中具有重大API变化的方法进行单元测试 - > 2010年,当我尝试访问聚会的批次时,我不断收到以下异常:
System.Data.SqlClient.SqlException: Could not find stored procedure 'edi_PartnerBatchScheduleSelect'.
代码:
[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;
}
对于这个测试用例,我已经设置了Party1和Party2并在它们之间启动了批处理。
答案 0 :(得分:1)
BizTalk 2010中的Party模式(又名贸易伙伴管理)与以前的版本相比发生了很大变化。因此,Microsoft将Party Migration Tool作为BizTalk 2010安装程序的一部分包含在内(请参阅here)。
我很遗憾地说这个,但是如果你有直接与BizTalk SQL工件交互的代码,那么现在它几乎不可能工作,因为整个模型已经改变了。但是,如果没有看到DSSIBizTalkHelper
实际上做了什么,那肯定很难知道。
话虽这么说,BizTalk 2010功能更好的一个就是做X12 EDI。虽然没有以前的BizTalk经验会很困难,但您可能需要查看this walkthrough以便在BizTalk中发送批量X12 EDI交换。他们也有several other helpful walkthroughs围绕同一主题。