如何在groovybean的方法中加载请求?

如何在groovybean的方法中加载请求?,groovy,soapui,Groovy,Soapui,我想创建一个groovy的bean,它接受请求的参数,并在参数和为正时返回适当的响应。我想知道如何在groovybean方法中加载请求 import com.eviware.soapui.support.XmlHolder import com.eviware.soapui.support.GroovyUtils import com.eviware.soapui.model.mock.* import org.apache.commons.lang.StringUtils import gro

我想创建一个groovy的bean,它接受请求的参数,并在参数和为正时返回适当的响应。我想知道如何在groovybean方法中加载请求

import com.eviware.soapui.support.XmlHolder
import com.eviware.soapui.support.GroovyUtils
import com.eviware.soapui.model.mock.*
import org.apache.commons.lang.StringUtils
import groovy.util.*
import groovy.lang.*

public class Test
{
    public int somme ()
    {
        def holder = new XmlHolder(mockRequest.getRequestContent())
        def a = holder["//firstInt:a"]
        def b = holder["//secondInt:b"]
        return(a + b)
    }

    public String getResponse ()
    {
        Test t = new Test ()
        if (t.somme() > 0)
        {
            return "response1"
        }
        else
        {
           return "response2"
        }
    }
  }
运行此代码时,出现以下错误:

com.eviware.soapui.impl.wsdl.mock.DispatchException:未能 使用脚本进行调度;groovy.lang.MissingPropertyException:没有这样的 类:Test的属性:mockRequest


你的班级应该是这样的

注意这些变化:

声明mockRequest成员变量,将其作为参数传递给类的构造函数。 getResponse方法中不需要创建对象,相反,您可以根据需要在另一个脚本中创建对象。就像在mockresponse的脚本中,mockRequest是可用的。 导入com.eviware.soapui.model.mock.MockRequest 导入com.eviware.soapui.support.xmlcholder 公开课考试{ MockRequest MockRequest 公共TestMockRequest mockRequest{ this.mockRequest=mockRequest } 公共内部实体{ def holder=new XmlHoldermockRequest.getRequestContent def a=holder[//firstInt:a] def b=保持架[//secondInt:b] a+b } 公共字符串getResponse{ somme?response1:response2 } }
那么,你的要求是什么?它应该来自哪里?它应该来自使用SoapUI生成的Mockservice。我的目标是在另一个脚本中实例化测试的类。但它是在哪里定义的?您不能访问类内的任意内容;它需要传入、注入、全局、静态方法等。