xpath - SoapUI属性传输和XPath/XQuery数字格式

标签 xpath formatting xquery soapui

我在SoapUI中有此属性转移:

declare namespace soapEnv="http://schemas.xmlsoap.org/soap/envelope/";
//soapEnv:Body/LoginResponse/baseSequenceId


并说它返回123456。但是我想要123457(我得到+1)

我尝试了这个:

declare namespace soapEnv="http://schemas.xmlsoap.org/soap/envelope/";
//soapEnv:Body/LoginResponse/baseSequenceId + 1


但结果是123457.0。我尝试了一些重新格式化的方法,但是很可能我没有以正确的方式使用它们。我在这方面很新。

我也尝试了这个(使用xquery):

declare namespace soapEnv="http://schemas.xmlsoap.org/soap/envelope/";
let $x := //soapEnv:Body/LoginResponse/baseSequenceId
return $x


并用$ x尝试了几件事,但是我尝试的所有结果都以null或InvocationTargetException结尾。

任何帮助表示赞赏!

最佳答案

非常感谢您的建议,尽管我无法使它们起作用:(
我的SoapUI可能有问题,因为所有xpath函数都返回null。

我使它与groovy一起工作:

groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )

loginResponse = groovyUtils.getXmlHolder("Login#Response")
loginResponse.declareNamespace( "soapEnv", "http://schemas.xmlsoap.org/soap/envelope/" )
sessionIdStr = loginResponse.getNodeValue( "//soapEnv:Body/LoginResponse/sessionId" )
baseSequenceIdStr = loginResponse.getNodeValue( "//soapEnv:Body/LoginResponse/baseSequenceId" )
sequenceIdStr = (baseSequenceIdStr.toInteger() + 1).toString()

createRequest = groovyUtils.getXmlHolder("Create#Request")
createRequest.declareNamespace( "soapEnv", "http://schemas.xmlsoap.org/soap/envelope/" )
createRequest.setNodeValue( "//soapEnv:Header/SessionId", sessionIdStr )
createRequest.setNodeValue( "//soapEnv:Header/TransactionId", baseSequenceIdStr )
createRequest.setNodeValue( "//soapEnv:Header/SequenceId", sequenceIdStr )
createRequest.updateProperty()

关于xpath - SoapUI属性传输和XPath/XQuery数字格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6360756/

相关文章:

excel - Selenium VBA Excel - 在 iframe 中单击链接时出现问题

java - 如何在 XQuery 中使用或实现数组?

xml - xQuery更新问题

javascript - Highcharts:共享工具提示格式化程序 this.points[i]

xquery - 使用 eXist-db 中的范围索引提高查询性能

php - 如何防止文档类型被添加到 HTML 中?

java - 当存在命名空间时通过Xpath表达式提取值

JavaScript 评估元素内的 XPATH?

java - 将尾随 0 添加到我的 0.1、0.2 值,但不添加到我的 0.25 值

c# - 在 dataGridView 中创建自定义格式字符串