...
注意,Parasoft 应用市场(可通过 marketplace.parasoft.com 或你组织的 或贵公司的 CTP 访问)提供了 TCP/IP、FTP 和其他固定长度消息类型(如 Equifax)的示例。
...
需要实现此接口,以便 IMessageHandler.handleMessage()
实现可以接受该接口的实例。或者,如果你的消息内容格式是用字符串的最好代表,你可以使用默认实现类 实现可以接受该接口的实例。或者,如果您的消息内容格式是用字符串的最好代表,您可以使用默认实现类 DefaultCustomMessage<T>。参数化类型可用于用字符串键控的属性(或头文件)对象类型。
...
实现必要类之后,如下定义 parasoft-extension.xml (在 添加扩展的通用程序中有所介绍):
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?> <extension xmlns="urn:com/parasoft/extensibility-framework/extension" type="messageListener" name='The name of your message listener, appears in the transports menu' description='A more detailed description'> <class>com.mycompany.MyMessageListener</class> <!-- implements ICustomMessageListener--> <form xmlns="urn:com/parasoft/extensibility-framework/gui"> <!-- This describes the fields you wish to appear in your transport GUI --> <section label="field group 1"> <field id="key 1" label="field 1"/> <field id="key 2" label="field 2"/> ... <section label="field group 2"> <field id="key 3" label="field 3" /> </section> <section label="field group 2"> <field label="field 1" /> ... </section> ... </form> </extension> |
...
此处 section 元素下的字段 id 被用于传递到各种 API 方法的 ICustomMessageListenerConfiguration 实例检索值,该对象允许将用户提供的值传递到实现中。它们还可用于在保存值时,将用户提供的值保存到响应器部署描述符文件中。GUI 中出现的字段标签是基于此 XML 构建的。section 布局不存在编程影响;它只是帮助将各种 GUI 字段组织成 sections 或 categories,以便最终用户方便地访问和使用。
...
如果只有一个自定义监听器可用,则这个选项卡将专门用于配置该自定义格式:
如果有多个自定义侦听器可用,则可以从 Select Implementation 下拉菜单选择要使用的:
示例
有几个自定义消息侦听器实现可以在 Parasoft 应用市场上使用(可以在 marketplace.parasoft.com 或从你组织的 或从贵公司的 CTP 中访问)。 有关如何安装和使用这些扩展的详细信息,请参阅这些 zip 文件中提供的文档。
...
- 将提供给扩展 GUI 的值保存为名称-值字符串映射。作为一种结果,重新整理 parasoft-extension.xml 中表单元素的字段将不会影响用户值是否已保存;然后,改变 id 将会影响这一点。id 用于保存或加载值,因此它们必须是唯一的。如果更改它们,则先前保存的配置将不会加载以前的值,并且将变为空。然而,你可以使用修订更新器将用老 用于保存或加载值,因此它们必须是唯一的。如果更改它们,则先前保存的配置将不会加载以前的值,并且将变为空。然而,您可以使用修订更新器将用老 id 保存的老设置迁徙到新 保存的老设置迁移到新 id 集。
- 仅支持自定义表单 GUI 中带字符串值的 GUI 字段。如果扩展要求 integer 或其他类型,则你可以将字符串内容转换为扩展实现类中的所需类型。或其他类型,则您可以将字符串内容转换为扩展实现类中的所需类型。
如果希望 GUI 字段用作密码字段(输入屏蔽和安全保存特定密码),请给该字段元素一个设置为 true 的 password 属性。例如,以下设置 pwd 字段为密码模式:
Code Block <form xmlns="urn:com/parasoft/extensibility-framework/gui"> <section label="Main Settings"> <field id="usr" label="Username"/> <field id="pwd" label="Password" password="true"/> </section> </form>
- 表格或列表可以在字符串字段中实现为逗号分隔的值。
- 若要提供与此自定义侦听器相关事件和错误的可见性,可以从 ApplicationContext 调用日志记录(在可扩展性 API 中)。事件可以分类为 INFO、ERROR、WARN 和 DEBUG,这些类别可以在 SOAtest 事件监视器中用作筛选条件。我们建议你直接在传入的上下文中调用 事件监视器中用作筛选条件。我们建议您直接在传入的上下文中调用 reportEvent 方法(String message, String type),因为这将自动填充事件的源(比如,它来自哪个响应器和 PVA)。