返回Microsoft.XLANGs.BaseTypes.XLANGMessage类型的值

时间:2008-11-03 00:41:07

标签: c# .net xml biztalk

尝试创建函数时遇到问题,作为返回类型值(Microsoft.XLANGs.BaseTypes.XLANGMessage)的BizTalk帮助程序类的一部分。功能代码如下:

public XLANGMessage UpdateXML (XLANGMessage inputFile)
{
   XmlDocument xDoc = new XmlDocument();
   XLANGMessage outputFile;
   xDoc = (System.Xml.XmlDocument) inputFile[0].RetrieveAs(typeof(System.Xml.XmlDocument));

   // Modify xDoc document code here

   outputFile[0].LoadFrom(xDoc.ToString());
   return outputFile;
}

此代码无法构建,因为我收到一条错误,指出“使用未分配的局部变量 '输出文件'。我试图使用new关键字(= new ....)初始化'outputFile',但这也会导致构建错误。

我做错了什么?

2 个答案:

答案 0 :(得分:2)

在您提供的代码中,更改行:

XLANGMessage outputFile;

为:

XLANGMessage outputFile = null;

并将TypeOf更改为typeof

您可能需要查看这两篇博客文章herehere,它们都提到了一些更好的方法,包括根据您的xsd而不是XLANGMessage传递类,并使用流而不是XMLDocument


在快速完成一次之后(因为我的感觉不好)我不确定BizTalk是否会按照您尝试的方式使用返回的XLANGMessage。当我尝试在我的测试工具中使用它时,它会因未构造的错误而失败。今晚晚些时候,当我有空闲时间时,我会看到是否有一种简单的方法可以直接在编排形状中使用XLANGMessage。如果您在我更新之前设法让它正常工作,请添加评论。

答案 1 :(得分:0)

在这种情况下,无需返回XLangMessage。您可以返回XmlDocument对象本身,并在Construct Message Shape中为其指定一个新变量。

从用户代码返回XLangMessage也不是一个好主意。 见http://msdn.microsoft.com/en-us/library/aa995576.aspx