Возвращает значение типа Microsoft.XLANGs.Базовые типы.XLANGMessage
Вопрос
Возникла проблема при попытке создать функцию как часть вспомогательного класса BizTalk, которая возвращает значение типа (Microsoft.XLANGs.BaseTypes.XLANGMessage).Код функции выглядит следующим образом:
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'".Я попытался инициализировать 'outputFile', используя ключевое слово new ( = new ....), но это также приводит к ошибке сборки.
Что я делаю не так?
Решение
В коде, который вы предоставили, измените строку:
XLANGMessage outputFile;
Для:
XLANGMessage outputFile = null;
и изменить TypeOf
Для typeof
Возможно, вы захотите ознакомиться с этими двумя статьями в блоге здесь и здесь в обоих упоминаются некоторые лучшие способы сделать это, включая передачу классов на основе вашего xsd вместо XLANGMessage и использование потока вместо XMLDocument
.
После быстрого ознакомления с этим (потому что у меня было плохое предчувствие) Я не уверен, что BizTalk будет использовать возвращенные XLANGMessage
то, как ты пытаешься.Он завершается сбоем с неконструктивной ошибкой, когда я пытаюсь использовать его в своем тестовом жгуте.Позже вечером, когда у меня будет немного свободного времени, я посмотрю, есть ли простой способ использовать XLANGMessage
непосредственно в формах оркестровки.Добавьте комментарий, если вам удастся заставить его работать до того, как я обновлю.
Другие советы
В этом случае нет необходимости возвращать XLangMessage. Вы можете вернуть сам объект XmlDocument и назначить ему новую переменную в форме сообщения Construct.
Также не рекомендуется возвращать XLangMessage из кода пользователя. Смотрите здесь http://msdn.microsoft.com/en-us/library/ aa995576.aspx р>