- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
L02_消息模型和XML消息的使用汇编
练习2 消息模型和 XML 消息的使用
概述
在此练习中,您将仅修改 Intro_MessageFlow 以识别用于处理消息的解析器 (XMLNSC)。
该步骤非常简单。
将修改输入节点的属性。
测试客户机将用于运行其他测试。
将查看跟踪文件内容以了解差异。
使用 XML 解析器
返回 WebSphere Message Broker Toolkit。
单击 Intro_MessageFlow 选项卡,使消息流显示在视图中。
单击 XML_Input 节点,使其属性显示在视图中。
您需要修改消息流,以便它使用 XMLNSC 解析器处理输入消息。
在屏幕底部的 Properties 视图中,单击 Input Message Parsing 选项卡。由于添加节点时未指定任何内容,Message domain(例如,解析器)将缺省为您在跟踪中看到的 BLOB。
单击 Message domain 的下拉菜单。这样会列出带有简短描述的各种解析器。根据 Message domain 中的选择,可能会启用或禁用其他字段。
选择 XMLNSC 解析器。XMLNSC 解析器支持名称空间(NS 部分),并将构建更加有效或简洁的树(C 部分)。该简洁树使用更少的内存。
保存消息流 Ctrl S。
关键概念:解析器和消息域
WebSphere? Message Broker 提供一系列解析器,以解析并编写不同格式的消息。
当必须将表示输入消息的位流转换为代理程序内部使用的格式时,将调用解析器;此过程称为解析。 输入为位流,输出为消息的逻辑树表示。
当必须将逻辑树结构转换为(例如输出节点上的)位流时,将调用串行器。此过程称为序列化。
每个解析器都适用于特定的消息类,称为消息域。 以下列表包含 WebSphere Message Broker 中使用的一些消息域示例:
XMLNSC - 针对 XML 文档
DFDL - 针对常规文本或二进制数据流,包括行业标准
JSON - 针对 JSON 文档
DataObject - 针对不带流表示的数据(由适配器使用)
现在,让我们重新运行测试客户机。
切换回测试客户机,右键单击 Invoke Message Flow,并选择 Re-run。
您将再次看到测试客户机中相同的输出消息。
这只是输出消息到达输出队列之后显示的情形。让我们看看消息经过消息流时的情形。
返回 Windows 资源管理器,并浏览至 C:\XML_Input_Trace.txt 文件。
双击 XML_Input_trace.txt 文件,并滚动至该文件末尾(或者按下 Ctrl + End)。
跟踪输出位于文件中任何现有内容的末尾,所以向下滚动至该文件的底部,并查看结果。更棒的是,这是一个很好地格式化的消息树,允许您方便地按照名称访问 XML 消息中的字段。注意:
XMLNSC 域名(这就是我们在输入节点上设置的内容)。
所有元素类型都是由 (CHARACTER) 所表示的字符串!为什么这样?要知道答案,就需要了解解析器和消息模型。
关闭记事本窗口并最小化 Windows 资源管理器。
从 XSD 创建消息模型
在本部分练习中,您将使用消息模型来解析 XML 消息。
关键概念:消息模型
大部分业务环境都依赖应用程序间的信息交换。 此信息包含在具有已定义结构的消息中,而发送方和接收方都了解并同意该结构。
应用程序通常结合使用多种消息格式,包括由以下结构或标准定义的那些消息格式:
逗号分隔的值 (CSV)
COBOL、C、PL1 和其他语言数据结构
行业标准,例如 SWIFT、X12 或 HL7
XML,包括 SOAP
您可以对各种各样的消息格式进行建模,这样 WebSphere Message Broker 消息流就可以理解这些格式。当消息格式已知时,代理程序就可以解析入局消息位流,并将其转换到逻辑消息树中,供消息流操作。
有些消息格式是自定义的,并可以在无需引用模型的情况下进行解析。然而,大部分消息格式都不是自定义的,如果解析器要正确解析消息,那么它必须可以访问对消息进行描述的预定义的模型。
XML 就是自定义消息格式的一个示例。 在 XML 中,消息本身除包含数据值之外还包含元数据,而且该元数据使 XML 解析器在即使没有可用模型的情况下也能理解 XML 消息。 自定义格式的另一个示例是 JSON。
没有自定义消息格式的消息示例是 CSV 文本消息、从 COBOL 程序生成的二进制消息,以及 SWIFT 格式化文本消息。 这些消息格式中的任何一个都没有包含足够的信息以使解析器能完全理解消息。在这些情况下,需要使用模型对它们进行描述。
即使您的消息是自定义的,而且不需要建模,消息建模仍然具有以下优点:
消息的运行时验证。 没有消息模型,
文档评论(0)