尝试在项目级别设置属性时遇到以下问题。
没有方法签名:com.eviware.soapui.impl.wsdl.WsdlProject.setPropertyValue()适用于参数类型:(java.lang.String,java.math.BigDecimal)值:[TitleId,1]可能解决方案:setPropertyValue(java.lang.String,java.lang.String),getPropertyValue(java.lang.String)
当我第一次使用'rs'设置项目属性时代码有效,但是第二次它拒绝存储它并返回上面的错误消息。
条件查询如下:
if (rs !=null) {
log.info ("Result " + (rs[0]))
project.setPropertyValue("TitleId", rs[0]); //this works
}
else {
def cdsTitle = "SELECT TITLE_TYPE, TITLE_TEXT FROM PARTY WHERE PARTY_KEY ='" + context.expand('${#Project#PartyKey}') + "'";
def titleType= sqlCDS.firstRow(cdsTitle)
project.setPropertyValue("TitleId", titleType[0]); //This is the statement which causes the error message
}
'titleType'返回两个值,我试图将它设置为第一个,因此'[0]'。我试图将此值存储在自己的变量中并使用它来设置属性,但是仍然会出现相同的错误消息。
即
def cdsTitle = "SELECT TITLE_TYPE, TITLE_TEXT FROM PARTY WHERE PARTY_KEY ='" + context.expand('${#Project#PartyKey}') + "'";
def titleType= sqlCDS.firstRow(cdsTitle)
def ttype = titleType[0]; //returns 1
project.setPropertyValue("TitleId", ttype;)
}
非常感谢任何帮助。感谢
答案 0 :(得分:0)
它认为rs[0]
(作为第二个参数)具有正确的类型并且(正如你所写的)它已被接受。
然后程序沿着 else 路径并使用titleType[0]
作为第二个论点。
你确定它的类型相同吗?
仔细查看错误消息:
No signature of method: ... is applicable for argument types:
(java.lang.String, java.math.BigDecimal) values: [TitleId, 1]
以上消息说:
TitleId
(我假设一个字符串,它已被接受),1
(值为1的 BigDecimal )并且可能存在
这种类型有问题。也许你应该将它转换为另一种类型?
答案 1 :(得分:0)
titleType [0] .toString()似乎解决了问题