我是BizTalk的新手,有没有人可以帮我解决BizTalk 2010中的以下场景?
在BizTalk业务流程中,需要将消息(xml)作为参数发送到WCF服务; 该服务将返回一条消息.如下面的截图所示.

我的问题和问题是如何构造'SimRequest'消息,它是来自WCF的自动生成的消息部分(当我使用'添加生成的项'来消费WCF时),另一个消息部分是'SimResponse'.
这是我对Message Assignment Shape的表达式:
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;
Run Code Online (Sandbox Code Playgroud)
如果我的问题不明确或您需要我提供更多信息,请告诉我.提前致谢.
Zalan
在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;
Run Code Online (Sandbox Code Playgroud)
要生成XML,您可以右键单击visual studio中的模式文件,然后选择"生成实例",这将生成一个基本的XML文件,可以作为起点.注意:要使用上述方法,您需要将所有双引号替换为您使用的XML中的单引号.
| 归档时间: |
|
| 查看次数: |
4786 次 |
| 最近记录: |