许多 Web 服务使用附件来发送和接收 XML 消息不能很好地表示的数据(比如多媒体二进制数据)。SOAtest 与 Virtualize 可用来发送和接收消息附带的附件。然后可以对接收的附件进行处理和正确性验证。
SOAP 客户端和 Virtualize 消息响应器工具配置后可在发送消息时附带 MIME、DIME 和 MTOM 附件。可以在工具的混合(针对 SOAtest)或选项(针对 Virtualize)选项卡下配置附件封装格式。
使用 MIME/DIME,工具的附件选项卡使您能够发送二进制或 XML 附件,而无需编写脚本,如SOAtest 附件选项和 Virtualize 附件选项卡所述。使用 MTOM,您不需要向附件选项卡添加任何内容(详情请参阅下文)。
附件处理程序工具可与 SOAP 客户端或消息响应器结合使用,从响应消息中提取并验证附件。
有关配置附件处理程序工具的更多信息,请参阅附件处理器。 Virtualize 将忽略除根部分(包含 SOAP 消息封套)之外的所有传入消息 MIME 部分。因此,不可能在这些上配置消息关联或其他操作。但是,响应可以包括消息响应器中配置的任何 MIME/DIME/MTOM 内容。MTOM/XOP 消息
SOAtest 与 Virtualize可与使用 MTOM(消息传输优化机制)和 XOP(XML 二进制优化打包)技术的服务协同工作。 您可以选择要包含的二进制内容以及验证、发送和接收优化的消息。
可以使用表单输入视图中的 SOAP 客户端或消息响应器发送 MTOM 优化的消息。
通过替换 xsd:base64Binary 元素具有类似于以下内容的引用的内容:
< xop:Include href="cid:1.urn:uuid:[email protected]" xmlns:xop="http://www.w3.org/2004/08/xop/include" />
在 MIME_boundary 小节中使用相同的 href cid 值,该节将包括相应的非编码内容。
要启用优化消息的发送,请完成以下操作:
点击工具的混合或选项选项卡,从附件封装格式下拉菜单中选择定制。
- 启用 MTOM Always 或 MTOM Optional。
- MTOM Always:即使请求中没有优化内容(即尽管消息中没有 xsd:base64Binary XML 类型),该工具也会始终以 XOP 包(即具有 MIME 边界)形式发送请求。
MTOM Optional:只有当请求中有优化的内容时,此工具才会以 XOP 包(即具有 MIME 边界)发送请求。在没有优化内容的情况下,它会发送普通请求。注意,可在 SOAP 客户端选项选项卡或首选项面板 SOAP 客户端页面的测试或响应器级别选择 MTOM always 或 MTOM optional。
选择请求或响应选项卡,并确保已从视图菜单中选择表单输入。 表单输入视图是一个模式感知视图。在这个视图中,将识别 xsd:base64Binary 模式数据类型,以便您可以引用要优化的内容。点击 base64Binary 类型时,以下选项可用:
文件的引用:这是推荐的选项。此选项允许您选择要作为优化内容发送的文件。 SOAtest 与 Virtualize 在文件内容通过网络发送时从文件中读取内容。 这样,文件内容就不会存储在套件中。
- 保留为相对路径:始终建议将文件的路径保留为套件的相对路径,以便于与团队的其他成员共享和协作。
- 从文件导入:此选项(不推荐)允许您读取文件的内容。不建议对大文件使用此选项,因为文件的内容将加载到内存中。
此外,通过从下拉框中选择参数化并选择文件数据源,可以由数据源驱动要发送的文件。 有关文件数据源的更多信息,请参阅在 SOAtest 中配置文件数据源或在 Virtualize 中配置文件数据源。
在使用 MTOM 时,不需要向 SOAP 客户端或消息响应器的附件选项卡添加任何内容。 请注意,可以通过将附件处理程序链接到邮件响应器的传入附件输出来提取传入的 MIME 附件。这一点在向消息响应器添加附件处理程序中进行了描述。