【问题标题】:Access to requestContent within AfterRequest Script soapui在 AfterRequest Script soapui 中访问 requestContent
【发布时间】:2014-08-28 15:36:44
【问题描述】:

我正在尝试在 web 服务模拟上模拟异步响应。目标是响应同步确认消息,然后将延迟消息返回到回复地址。我选择的方法使用模拟服务来处理确认,然后运行一个测试用例,将处理后的消息处理回replyTo。我正在使用 OnRequest Script 生成确认消息,并使用 AfterRequest Script 来运行测试用例,该测试用例将模拟延迟和对 replyTo 的响应。

所以问题是我可以使用哪个脚本对象来访问 requestContent。我看过一些例子:

def holder = new com.eviware.soapui.support.XmlHolder( mockRequest.requestContent )

但是模拟请求实例在 AfterRequest 上不可用,我可以使用哪个对象来代替具有请求内容的持有者?

【问题讨论】:

    标签: groovy mocking soapui


    【解决方案1】:

    我发现了

    def holder = new com.eviware.soapui.support.XmlHolder( mockResult.getMockRequest().requestContent )
    

    做到这一点,但现在我发现在 AfterRequest 中运行测试脚本会延迟同步响应,为什么会发生这种情况? AfterRequest的脚本不是在模拟服务响应返回后执行的吗?我是否必须在 Dispatch 或 OnRequest 显式执行某些操作才能在执行 AfterRequest 代码之前返回响应?

    【讨论】:

      【解决方案2】:

      我知道这确实是个老问题,但我自己也遇到了同样的问题。我不知道为什么它可以正常工作,但是您可以通过访问 OnRequest 中的请求内容来避免该问题,然后将所需信息存储到上下文中并使用 AfterRequest 中的上下文来获取您需要的信息。

      【讨论】:

        猜你喜欢
        • 2016-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多