Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SOAVIRT_9.10.6_CTP_3.1.2

...

注意,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)。