Web services 如何仅从SOAPUI获取JSON响应
我正在进行一个项目,该项目提供XML和JSON类型的响应。我只需要从SOAPUI获取JSON响应来处理下一步 是否有任何SOAPUI api可用于通过groovy脚本仅获取JSON类型的响应Web services 如何仅从SOAPUI获取JSON响应,web-services,groovy,soapui,Web Services,Groovy,Soapui,我正在进行一个项目,该项目提供XML和JSON类型的响应。我只需要从SOAPUI获取JSON响应来处理下一步 是否有任何SOAPUI api可用于通过groovy脚本仅获取JSON类型的响应 提前感谢。请检查此回复 假设它是一个REST服务,默认情况下,这种方法将以JSON格式获取响应 def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) def response = groovyUtils.getXmlHol
提前感谢。请检查此回复
假设它是一个REST服务,默认情况下,这种方法将以JSON格式获取响应
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def response = groovyUtils.getXmlHolder("RequestStepName#Response")
// as a string -> def response = context.expand('${RequestStepName#Response}')
您可以使用#ResponseAsXml以xml的形式获取它。在我开发的SOAPUI Javascript上下文中,我开发了这个算法
var xmlHolder = com.eviware.soapui.support.XmlHolder(messageExchange.responseContent);
var nodes = xmlHolder.getDomNodes("//SOAP-ENV:Envelope/SOAP-ENV:Body/ns:xxxxxx");
var obj = {};
toJsonObject(nodes[0], obj);
function toJsonObject(xmlObject, jsonObject) {
for (var i = 0; i < xmlObject.getLength(); i++) {
var node = xmlObject.item(i);
if (node.getNodeType() == org.w3c.dom.Node.ELEMENT_NODE) {
if (node.getLength() == 1) {
if (node.hasChildNodes()) {
jsonObject[node.getNodeName()] = String(node.item(0).getNodeValue());
}
} else {
if (node.hasChildNodes()) {
jsonObject[node.getNodeName()] = {};
jsonObject[node.getNodeName()] = toJsonObject(node, jsonObject[node.getNodeName()]);
}
}
}
}
return jsonObject;
}
log.info(JSON.stringify(obj));
context.setProperty('JSON: ', JSON.stringify(obj));
var xmlHolder=com.eviware.soapui.support.xmlHolder(messageExchange.responseContent);
var-nodes=xmlHolder.getDomNodes(“//SOAP-ENV:Envelope/SOAP-ENV:Body/ns:xxxxxx”);
var obj={};
toJsonObject(节点[0],对象);
函数到jsonObject(xmlObject,jsonObject){
对于(var i=0;i
var xmlHolder = com.eviware.soapui.support.XmlHolder(messageExchange.responseContent);
var nodes = xmlHolder.getDomNodes("//SOAP-ENV:Envelope/SOAP-ENV:Body/ns:xxxxxx");
var obj = {};
toJsonObject(nodes[0], obj);
function toJsonObject(xmlObject, jsonObject) {
for (var i = 0; i < xmlObject.getLength(); i++) {
var node = xmlObject.item(i);
if (node.getNodeType() == org.w3c.dom.Node.ELEMENT_NODE) {
if (node.getLength() == 1) {
if (node.hasChildNodes()) {
jsonObject[node.getNodeName()] = String(node.item(0).getNodeValue());
}
} else {
if (node.hasChildNodes()) {
jsonObject[node.getNodeName()] = {};
jsonObject[node.getNodeName()] = toJsonObject(node, jsonObject[node.getNodeName()]);
}
}
}
}
return jsonObject;
}
log.info(JSON.stringify(obj));
context.setProperty('JSON: ', JSON.stringify(obj));