Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SVC2020.1

...

对于出站消息传递, MultiPartMessage 由单个部分构造,该部分将请求消息包装为“text/xml”类型。用户可以通过部件内容 ID 字段指定部件的“Content-ID”头字段。对于入站消息传递,JMS 和 SonicMQ 传输都可以使用多个部分解析 MultiPartMessage。

为 SonicMQ 创建新的测试

若要配置 SOAtest 来创建访问 SonicMQ 的测试,请完成以下操作:

  1. 正常完成 WSDL 测试创建向导(有关详细信息,请查阅 Creating Tests From a WSDL )。
  2. 双击将使用 SonicMQ 的测试的测试节点。
  3. 在右侧 GUI 面板中,打开 Transport 选项卡,然后从 Transport 下拉菜单选择 SonicMQ 。各种选项将显示在 Transport 下拉菜单下:
    • Connection Settings
    • Queue/Topic
    • Messaging Model
    • Message Exchange Pattern
    • Message Type
    • Request Message Properties
    • Response Message Correlation
  4. 按照以下部分的描述配置所需的选项。

配置 SonicMQ 选项

从合适工具的 Transport 选项卡内的 Transport 下拉菜单选中 SonicMQ 之后,将在 Transport 选项卡的左窗格显示以下选项:

Anchor
SonicMQ_connection_settings
SonicMQ_connection_settings
连接设置

Connection Settings 包含 Settings 和 Properties 选项。属性选项卡是可选项,它允许执行传递给 JNDI javax.naming.InitalContext 构造器的其他属性;除了在 Settings 选项卡中指定的 Provider URL 和 Initial Context factory 属性。Settings 选项卡包含:

...

  • Keep-Alive Connection: 选择通知测试是否共享或关闭当前连接。共享连接被返回到连接池,以便在整个测试套件中使用。连接池的生命圈如下所示:
    • 对于单个测试,其将在测试执行结束被销毁。
    • 对于测试套件,它在测试套件执行结束时被销毁。

Anchor
SonicMQ_queue_topic
SonicMQ_queue_topic
Queue/Topic

Queue/Topic 设置包括以下选项:

  • JMS Destination: 指定将消息发送到何处的队列名称(如果使用点到点)或主题名称(如果使用发布和订阅)。
  • JMS ReplyTo: 指定从何处获得响应消息的队列名称(如果使用点到点)或主题名称(如果使用发布和订阅)。如果选中的是 Temporary 而不是 Form,则这可以是临时队列。

Anchor
SonicMQ_messaging_model
SonicMQ_messaging_model
Messaging Model

指定如何在应用程序之间发送消息。选择 Point to Point 或 Publish and Subscribe

Anchor
SonicMQ_message_exchange_pattern
SonicMQ_message_exchange_pattern
Message Exchange Pattern

指定是 SOAtest 接收响应还是 Virtualize 接收响应。如果选择 Get Response ,SOAtest 或 Virtualize 发送消息并接收响应。如果选择 Get Response ,SOAtest 或 Virtualize 只发送消息不接收响应。

...

此选项不可与 Match response JMSCorrelationID with the request JMSMEssageID 混合使用,因为 JMS 规范要求供应商在消息发送后生成 JMSMessageID。因此,没有办法使用该关联(选择器)在响应目的地上创建使用者,直到消息设置好并且 JMSMessageID 可用之后。 

Anchor
SonicMQ_message_type
SonicMQ_message_type
Message Type

允许从下拉菜单中选择消息类型。SonicMQ 消息是一个 Java 对象,它包含在 SonicMQ 客户机之间传输的数据。可使用以下消息类型:

  • progress.message.jclient.MultipartMessage

Anchor
SonicMQ_part _content_ID
SonicMQ_part _content_ID
部分内容 ID

一个 Sonic MultipartMessage 可以有多个部分。每个部分都有自己的名称(ID)和内容。SOAtest 和 Virtualize 支持使用单个部件发送 MultipartMessages 消息。  此字段指定部件名称,内容由请求区域定义,如表单输入、文字、文字 XML(SOAtest)等。SOAtest 和 Virtualize 支持接收包含多个部件的 MultipartMessages,并将所有部件内容以 XML 格式输出到工具的响应输出。

Anchor
SonicMQ_Request_Message_Properties
SonicMQ_Request_Message_Properties
Request Message Properties 

可选项。它允许要设置到 javax.jms.Message 对象的任何其他属性值,然后将其发送到队列或发布到主题。这些包括预定义属性,这些属性被设置为使用一个与 javax.jms.Message 或 setStringProperty() 方法提供的任何自定义属性。

Anchor
SonicMQ_Response_Message_Correlation
SonicMQ_Response_Message_Correlation
响应信息关联 

响应信息关联设置包括以下选项:

  • Match response JMSCorrelationID with request JMSMessageID: 如果选择该选项,术语 JMSCorrelationID = '[msgId]’ 将被附加到选择器表达式之后,其中 msgId 是从传出(请求)javax.jms.Message(使用 getJMSMessageID() 方法)中动态生成的。实际上,这会导致工具阻塞,直到具有指定关联 id 的消息在队列(或主题)中可用,并且它只检索特定的消息,而不检索队列(或主题)中的任何消息。如果没有监视选择器条件的消息,工具将在超时量过期后超时。
  • Match response JMSCorrelationID with request JMSCorrelationID: 如果选择该选项,术语 JMSCorrelationID = '[correlationId]’ 将附加到选择器表达式后,其中 correlationId 从消息属性部分中的 JMSCorrelationID 属性检索到。该选项只在此属性添加到消息属性部分时才可启用。实际上,这会导致工具阻塞,直到具有指定关联 id 的消息在队列(或主题)中可用,并且它只检索特定的消息,而不检索队列(或主题)中的任何消息。如果没有监视选择器条件的消息,工具将在超时量过期后超时。
  • Additional Selector Expression Terms: (可选)输入一个值作为消息过滤器。有关指定选择器的提示, 请查阅 使用消息选择器过滤器

使用 SonicMQ 为客户端输出消息对象

可以添加消息对象输出给使用 SonicMQ 传输的工具。例如,连接到使用 SonicMQ 工具的扩展工具将有权访问响应 SonicMQ 消息。在 ObjectMessage 用例中,可以使用 getter 和 equals() 方法来验证响应,从而创建回归控制。此外,您还可以将 Diff 工具链接到响应流量,如果响应是一个 ObjectMessage,则 SOAtest 或 Virtualize 将会把插入的可序列化对象转换为 XML 格式并执行 XML 差异比较。这样做,您可以使用数据库值,忽略 Xpath 差异,等。

...