Как создать сообщение для сообщения запроса WCF в Biztalk 2010 - PullRequest
1 голос
/ 07 сентября 2011

Я новичок в BizTalk, может ли кто-нибудь помочь мне разработать следующий сценарий в BizTalk 2010?

В оркестровке BizTalk сообщение (xml) необходимо отправить в службу WCF в качестве параметра;служба вернет сообщение в результате.Как показано на скриншоте ниже.

enter image description here

Моя проблема и вопрос в том, как создать сообщение SimRequest, которое представляет собой автоматически генерируемую часть сообщения из WCF (когда я использую 'Добавьте сгенерированные элементы (для использования WCF), другая часть сообщения - «SimResponse».

Это мое выражение для формы назначения сообщения:

varIncomingMessage = msgPI;

varStringParam = varIncomingMessage.OuterXml;
varOutMessage.LoadXml("I dont know what should be put here. Hard code the data schema of the SimRequest Message?");
msgSimRequest.parameters = varOutMessage;
msgSimRequest.parameters.msg = varStringParam;

Пожалуйста, дайте мне знать, если мой вопросне ясно или вам нужна дополнительная информация от меня.Заранее спасибо.

Залан

1 Ответ

8 голосов
/ 07 сентября 2011

В BizTalk вы создаете экземпляр сообщения либо:

  1. С преобразованием (идеальный способ), что означает создание карты.Когда преобразование выполняется внутри вашей формы конструкции, оно создаст экземпляр сообщения, или
  2. Создав его в присваивании, которое похоже на то, как вы делаете это в приведенном выше примере, за исключением того, что оно, вероятно,проще сделать это с помощью статического вспомогательного метода.Если вам нужно передать сообщения Biztalk в качестве аргументов методу, используйте тип XLANGMessage, найденный в библиотеке Microsoft.XLANGs.BaseTypes.Сначала вам нужно будет сгенерировать .net представление вашей схемы сообщений (используя xsd.exe или svcutil.exe), чтобы вы могли десериализовать сообщение, используя XLANGPart.RetrieveAs(typeOf(xxx)).Чтобы передать ваши сообщения, вы можете сделать так, чтобы ваш метод .net возвращал тип XmlDocument, и пока XML сопоставляется со схемой сообщений, BizTalk позаботится о преобразовании за вас.

Надеюсь, это поможет.

Можете ли вы рассказать мне больше подробностей о том, как создать msg в назначении

Это похоже на то, что у вас есть, за исключением того, что вы используете тип XmlDocument и BizTalk сделаетнеявный актерский состав для вас.

Допустим, у вас есть схема с именем SimRequest.xsd, и вы создали сообщение оркестрации этого типа с именем MySimRequestMessage .

Вам необходимо определить переменную типа System.Xml.XmlDocument для хранения XML, которую мы будем называть xmlDocSimRequest .

Затем в форме назначения:

xmlDocSimRequest = new System.Xml.XmlDocument();
xmlDocSimRequest.LoadXml("<SimRequest xmlns='http://blahblah'>...some data here</SimRequest>");

// Cast to your message - it's as simple as
MySimRequestMessage = xmlDocSimRequest;

Чтобы сгенерировать XML, вы можете щелкнуть правой кнопкой мыши файл схемы в Visual Studio и выбрать «Создать экземпляр», который сгенерирует базовый XMLфайл, который может служить отправной точкой.Примечание. Чтобы использовать вышеуказанный метод, вам необходимо заменить все двойные кавычки одинарными кавычками в используемом вами XML-файле.

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