ContributionsMost RecentMost LikesSolutionsRe: How to update tag value in external xml using groovy script? Hi, Ok, I am not sure I get exactly what you mean, please can you explain more? So you say you arent testing with SoapUI, but want to update tags in the response - are you calling some kind of service that returns XML and wanting to update the response based on values taken from an Excel spreadsheet? Thanks, Rup Re: SoapUI editor appearing small on high resolution monitorYou're welcome Sivaganehsan 😁Re: Eclipse / Maven integration of Soapui free edition ? Hiworkpeter, Sorry for not replaying sooner, I was out all day yesterday! Good question, answer and well done sharing it with the community!:smileywink: The solution that you are describing is very much in line with challenges I have experienced, although I tended to favour Gradle and Groovy (with Grab to resolve dependencies), rather than Maven. Managing the rather large Soapui lib requirements is not only a challenge when running SoapUI as you are, but also when you need to Groovy scriptin some of the more modern 3rd party client libs e.g. newer Selenium / AWS java API (where they often have newer versions of some of the same libs as SoapUI has resulting in classpath issues, I sometimes found myself have to do dependency gymnastics to get them to work). I remember these 3 being an issue for example: exclude(module: 'jms') exclude(module: 'jtidy' ) exclude(module: 'cajo' ) I have been mostly a spectator in the Soapui community for more than a year now, as I have shifted job role more into DevOps from application development, but questions like this make me remember all the improvements / feature requests I wanted to contribute to improve some of these catches. It wouldn't take a lot to make some big improvements.Nice to see you and others are contributing quality posts! Thanks, Rupert Re: how to convert soap request to curl Hi, Maybe this would be a nice plugin/extension to SoapUI, maybe add it as a feature request? https://community.smartbear.com/t5/SoapUI-Feature-Requests/idb-p/SoapUIFeatureRequests Thanks, Rupert Re: How to simulate an asynchronous web service with mock services in soapUI Hi, What do you mean by provide a snapshot? Do you mean a sample of the SoapUI project mentioned in the answer to that original question? Regards, Rupert Re: Create SOAP Automation Project in Eclipse Hi, Was it a REST or SOAP project that you were looking to create? Please take a look at an integration test I wrote for a SoapUI extension and see if it helps give you any ideas (covers creating Project/TestSuite/TestCase/TestSteps): https://github.com/bearsoftware/ReplaceRequestInAllTestStepsAction/blob/master/src/test/groovy/bsl/custom/RelatedTestStepsSelectorIntegrationTest.groovy If this helps I can probably find other examples. Regards, Rupert Re: Generating a WSDL-first web service using SoapUI tool Hi, Thank youfromltow! And sorry Aman85that I didn't spot this question! I do try to scan the posts (as I still care a lot about SoapUI), but am not as active on the community as I used to be due to work pressures - please also consider sending me private messages if you need any help on the book's recipes. Nice to know someone actually tried that recipe too, not one of my favourites. Thanks, Rupert Re: Known limitations of custom groovy classes packaged in a JAR file Hi, Thanks for the questions here and on the blog: http://rupertanderson.com/blog/1-how-to-develop-add-and-use-a-custom-groovy-library-in-soapui/ On the first question about the exception handing behaviour, an example would help asnmraosaid. The second question about how to log from the extension is a good one, ideally I'd like to add that to the blog, but will try to reply here first for time reasons. So, perhaps the easiest way is to just get hold of SoapUI's script log tab using Log4J. Following on from the blog, please consider the following simple extension library class: package custom import org.apache.log4j.Logger public class SequentialIdGenerator { public static final Logger soapuiLogFileLogger = Logger.getLogger(getClass()) public static final Logger scriptLogger = Logger.getLogger("groovy.log") public static void logSomething(){ scriptLogger.info "Hello scriptlog from extension!" } } To compile this with Gradle, we need to add the Log4J dependency: apply plugin: 'groovy' version = '1.0' jar { classifier = 'sample' manifest { attributes 'Implementation-Title': 'SoapUI Sample Groovy Library', 'Implementation-Version': version } } repositories { mavenCentral() } dependencies { compile 'org.codehaus.groovy:groovy:2.1.7' compile group: 'log4j', name: 'log4j', version: '1.2.17' } Once, build i.e. gradle clean build jar, the jar added to SoapUI /ext folder and SoapUI restarted, we can call the class and see logging in the standard SoapUI 'script log' tab: Is this what you wanted? As for other imitations, we would need to discuss them in turn. I am not sure that there are specific limitations as such, more things we need to provide extra code for, but it does depend on exactly what you need to do. For example, this approach is probably not a good way to extend/override the core SoapUI functionality e.g. better to do it directly in the product source or possibly via a plugin. Regards, Rupert Re: GroovyScript: Parse SOAP Response and get node names and node values Hi, No problem, happy to help! :-) Does this also help with your other post? https://community.smartbear.com/t5/SoapUI-Open-Source/GroovyScript-Getting-node-name-sub-node-names-and-its-values-in/m-p/143201#M24238 It looked related.. if not, let me know if I can help with this. Thanks, Rup Re: GroovyScript: Parse SOAP Response and get node names and node values Hi, Ok, no problem. Although I think you can surely assume that given that it's a SOAP response we can start at the Body element - would that be OK? If so, here is a recursive alternative: def results=[] def printNode printNode = { output,node -> node.children().each{ printNode(results,it) } if (node.children().size()==0) output << node.name()+'='+node.text() //Exlude parent elements } slurperResponse.'**'.findAll { it.name() == 'Body' }.each { printNode(results,it) } results.each{ log.info it } This should: Iterate over all child elements (not attributes, could add that) Only print the child element names and values (not the parent ones, to get those remove the if statement that excludes them) Is this what you need? Regards, Rup