Возвращение значения типа Microsoft.XLANGs.BaseTypes.XLANGMessage - PullRequest
0 голосов
/ 03 ноября 2008

Возникла проблема при попытке создать функцию в составе вспомогательного класса 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», используя ключевое слово new (= new ....), но это также приводит к ошибке сборки.

Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 03 ноября 2008

В предоставленном вами коде измените строку:

XLANGMessage outputFile;

до:

XLANGMessage outputFile = null;

и измените TypeOf на typeof

Возможно, вы захотите взглянуть на эти две статьи блога здесь и здесь , в которых оба упоминают несколько лучших способов сделать это, включая передачу классов на основе вашего xsd вместо XLANGMessage и использование потока вместо XMLDocument.


После короткого повторения с этим (потому что у меня было плохое предчувствие), я не уверен, будет ли BizTalk использовать возвращенный XLANGMessage так, как вы пытаетесь. Это происходит с неструктурированной ошибкой, когда я пытаюсь использовать ее в своем тестовом жгуте. Позже сегодня вечером, когда у меня будет немного свободного времени, я посмотрю, есть ли простой способ использовать XLANGMessage непосредственно в формах оркестровки. Добавьте комментарий, если вам удастся заставить его работать до того, как я обновлюсь.

0 голосов
/ 04 декабря 2008

В этом случае нет необходимости возвращать XLangMessage. Вы можете вернуть сам объект XmlDocument и назначить ему новую переменную в форме сообщения Construct.

Также не рекомендуется возвращать XLangMessage из кода пользователя. Смотри здесь http://msdn.microsoft.com/en-us/library/aa995576.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...