0

尝试创建函数时遇到问题,该函数作为返回类型 (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;
}

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

我究竟做错了什么?

4

2 回答 2

2

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

XLANGMessage outputFile;

到:

XLANGMessage outputFile = null;

并将其更改TypeOftypeof

您可能想在这里这里查看这两篇博客文章,它们都提到了一些更好的方法,包括基于您的 xsd 而不是 XLANGMessage 传递类,以及使用流而不是XMLDocument.


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

于 2008-11-03T01:12:19.797 回答
0

在这种情况下不需要返回 XLangMessage。您可以返回 XmlDocument 对象本身并在 Construct Message Shape 中为其分配一个新变量。

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

于 2008-12-04T20:27:48.903 回答