2015-01-02 85 views
0

我想在參數的總和爲正創建一個常規的豆這需要一個請求的參數和返回適當的響應。我想知道我可以在Groovy bean的方法裝載了我的請求如何在groovy bean的方法中加載請求?

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:沒有這樣的 屬性:類的模擬請求:測試

+0

那麼,什麼是'mockRequest'?它應該從哪裏來? –

+0

它應該來自Mockservice用了SoapUI產生 – Raspoutine

+0

我的目標是在實例化另一個腳本測試的類。 – Raspoutine

回答

0

你的班級應該是這樣的。

注的變化:

  1. 聲明mockRequest成員變量,將它作爲參數傳遞給類的構造函數。
  2. 對象創建不getResponse()方法所需要的,而不是你可以做它在另一個腳本按你們的要求。就像模擬回覆的腳本中有mockRequest可用。
import com.eviware.soapui.model.mock.MockRequest 
import com.eviware.soapui.support.XmlHolder 
public class Test { 
    MockRequest mockRequest 
    public Test(MockRequest mockRequest) { 
    this.mockRequest=mockRequest 
    } 
    public int somme() { 
    def holder=new XmlHolder(mockRequest.getRequestContent()) 
    def a=holder["//firstInt:a"] 
    def b=holder["//secondInt:b"] 
    (a + b) 
    } 
    public String getResponse() { 
    somme() ? "response1" : "response2" 
    } 
} 
+0

這是確定我解決我的問題。 – Raspoutine