Contributions
Re: How to change Hermes Config Project Property from cmdLine?
Hi Todd, We tried to follow the same approach but when trying to reference the project custom property within the SoapUI "Project Properties" tab, we're getting following error: javax.naming.NamingException: Session name 'QM_BUILD_DEV' does not exist in Hermes configuration or path to Hermes config ( ${#Project#HermesConfigPath} )is not valid! error at line: 8 We are positive that the session name exists in the hermes config xml file. To be clear, besides referencing the project custom property in the"Project Properties" tab, we're then also trying tooverwrite theproject custom property via -P option on the command linetestrunner.sh call. This seems irrelevant to the issue because the reference to the path variable doesn't seem valid in the first place. Any ideas? How did it work for you? Are you truly referencing it successfully? Thanks in advance!3.3KViews0likes0CommentsUnder tab Soapui NG, the REST request doesn't show a message editor
Hi all, I setup a project with a REST resource 'LBG -> Mgmt' which does a PUT with a JSON message. The request on the 'Projects' tab works fine but when I switch to the 'SoapUI NG (PRO)' tab and I add a REST Request under a Test Case, I don't see a way to add the JSON message. Sorry if I'm missingsomething obvious. Thanks! Screenshot of the missing JSON editor: Screenshot of the JSON editor on therequest on the 'Projects' tab which I expect to see on the'SoapUI NG (PRO)' tab as well:1.3KViews0likes0CommentsRe: WSDL not displaying when hitting url
I have the same question/problem. The browser displays: Server java.lang.NullPointerException I can import the same wsdl into SoapUi 5 and generate a mock service and it perfectly returns the wsdl when retrieving it via URL. I'm attaching both projects, SoapUi and ReadyAPI for review. SoapUi_5.1.2 - VehicleInfoService-soapui-project ReadyAPI_1.4.0 - VehicleInfoService-soapui-project Thanks!9 years agoPlace ReadyAPI QuestionsReadyAPI Questions4.3KViews0likes0CommentsSwitched from SoapUi to Ready! API. ServiceV requires different license?
Hello! I switched from SoapUi to Ready! API and it appears that with the current license, we lost the Mock Service functionality. It appear that it moved to ServiceV which requires a different license. Is this correct or am I missing something?9 years agoPlace ReadyAPI QuestionsReadyAPI Questions2.3KViews0likes1CommentRe: Missing operation for soapAction
I noticed that this error also shows when you have two Mock Response steps serving the same Port/URL even though only one is enabled (not disabled). When I delete the disabled step, it works fine. When I hit the URL with ?wsdl at the end, I can see the running services. Another problem is, when I stop the test cases and restart them, more and more running services with the same endpoint get added. Here is what the server shows me when using my URL with ?wsdl attached to the end of it. There are currently 4 running SoapUI MockServices NotificationSvc SOAP Mock Response SOAP Mock Response SOAP Mock Response10 years agoPlace ReadyAPI QuestionsReadyAPI Questions20KViews0likes0CommentsRe: [Resolved] Groovy Script - Clear JMS Messages from Queue
Ok, I played around with this a bit more and got it functioning (without a very detailed java docs api) Here is my working example: import com.eviware.soapui.impl.wsdl.submit.transports.jms.JMSConnectionHolder import com.eviware.soapui.impl.wsdl.submit.transports.jms.JMSEndpoint import com.eviware.soapui.impl.wsdl.submit.transports.jms.util.HermesUtils import hermes.Hermes import javax.jms.* // This is the name of the session from your hermes-config.xml. Search for 'session'. It also shows in the URL and in my case it's the Queue Manager name. def hermesSssionName = "MySessionName"; List queues = ["MyQueueName1, MyQueueName2"]; queues.each{ def queueName = "${it}" def jmsEndPoint = new JMSEndpoint("jms://" + hermesSssionName + "::-::queue_" + queueName); def hermes = HermesUtils.getHermes(testSuite.getProject(), jmsEndPoint.getSessionName()) def jmsConnectionHolder = new JMSConnectionHolder(jmsEndPoint,hermes,false,null,null,null); log.info("hermesSssionName:" + hermesSssionName); log.info("queueName:" + queueName); Session session = jmsConnectionHolder.getSession(); Queue queue = jmsConnectionHolder.getQueue(jmsConnectionHolder.getJmsEndpoint().getReceive()); MessageConsumer consumer = session.createConsumer(queue); Message message = null; while((message = consumer.receiveNoWait()) != null){ log.info(message); //do nothing } jmsConnectionHolder.closeAll() }12 years agoPlace ReadyAPI QuestionsReadyAPI Questions5.2KViews0likes0Comments[Resolved] Groovy Script - Clear JMS Messages from Queue
Hi all, I'm trying to create a script to clear all messages from one or more queues. I found a code example online http://josies.blogspot.com/2012/03/delete-messages-from-queues-in-groovy.html but it contains a bunch of issues. This script however, serves as my basis since it's better than starting from scratch. The purpose of clearing messages from a queue is to run it as a setup of a test case that works with JMS messages. Having old JMS messages on a queue will create assertion failures since its likely not what the test case expects. Clearing messages will solve this problem. The problem with below code is that I'm still unclear as to how I get a handle on certain objects. Unfortunately the Java Doc API http://www.soapui.org/apidocs/ doesn't contain quite enough information to work with. Currently I'm stuck with following line of code: def hermes = HermesUtils.getHermes(testSuite.getProject(), "sessionName") http://www.soapui.org/apidocs/com/eviware/soapui/impl/wsdl/submit/transports/jms/util/HermesUtils.html I don't know what sessionName should be. Once that's clear, I'm sure there are going to be additional challenges with the script. Does anybody have better documentation on how to use the Classes and feed the methods? Or some additional ideas to get this working? Here is my current version of the script: import com.eviware.soapui.impl.wsdl.submit.transports.jms.JMSConnectionHolder import com.eviware.soapui.impl.wsdl.submit.transports.jms.JMSEndpoint import com.eviware.soapui.impl.wsdl.submit.transports.jms.util.HermesUtils import hermes.Hermes import javax.jms.* // ${endpoint} is set in global properties to session created in Hermes ie Tibco-INT def endpoint = context.expand('${endpoint}') List queues = ["MYQUEUE"]; queues.each{ def queueName = "${it}" def jmsEndPoint = new JMSEndpoint("jms://" + endpoint + "::-::queue_" + queueName); def hermes = HermesUtils.getHermes(testSuite.getProject(), "sessionName") def jmsConnectionHolder = new JMSConnectionHolder(jmsEndPoint,hermes,false,null,null,null); log.info("endpoint:" + endpoint); log.info("queueName:" + queueName); //log.info("jmsEndPoint:" + "jms://" + endpoint + "::-::queue_" + queueName"); Session session = jmsConnectionHolder.getSession(); Queue queue = jmsConnectionHolder.getQueue(jmsConnectionHolder.getJMSEndpoint().getReceive()); MessageConsumer consumer = session.createConsumer(queue); Message message = null; while((message = consumer.receiveNoWait()) != null){ //do nothing } jmsConnectionHolder.closeAll() */ } Thanks much for your help!12 years agoPlace ReadyAPI QuestionsReadyAPI Questions8.7KViews0likes4CommentsRe: [Resolved] Groovy Script - Unable to resolve class
Thanks Shadid, Sorry, I just assumed that the person posting the example of how to clear a queue from groovy has ran his script at least once. Anyway, unfortunately the API doesn't contain enough information to work with it. Not that I don't know how to use java doc, it just doesn't contain enough information to work with it. For instance, I'm trying to use HermesUtils.getHermes(WsdlProject project, String sessionName) and it doesn't tell me what sessionName would be. Here is the extract from the api http://www.soapui.org/apidocs/com/eviware/soapui/impl/wsdl/submit/transports/jms/util/HermesUtils.html getHermes public static hermes.Hermes getHermes(WsdlProject project, String sessionName) throws NamingException Parameters: project - sessionName - Returns: hermes.Hermes Throws: NamingException How do I find out what sessionName is? Once I know that, I'm sure I'll run across additional items that don't have documentation in the java docs. I will open another topic to discuss creating a script to clear a hermes queue since this doesn't really fit here. Anyway, thanks for your help so far, I really appreciate it. Matthias12 years agoPlace ReadyAPI QuestionsReadyAPI Questions19KViews0likes0Comments[Resolved] Groovy Script - Unable to resolve class
[hr:2xjk0mbc][/hr:2xjk0mbc] I'm having trouble using soapUi classes in a Groovy script. It shows "unable to resolve class" when executing. Here is the error: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script8.groovy: 1: unable to resolve class Here is what I'm trying to do: I’m trying to put together a groovy script to execute before tests which is supposed to clear all messages from a queue which is available in hermes. I found a sample online (http://josies.blogspot.com/2012/03/delete-messages-from-queues-in-groovy.html) but soapUi can’t resolve the imports in my script. import com.eviware.soapui.impl.wsdl.submit.transport.jms.JMSConnectionBuilder import com.eviware.soapui.impl.wsdl.submit.transports.jms.JMSEndpoint import com.eviware.soapui.impl.wsdl.submit.transports.jms.util.HermesUtils import hermes.Hermes import javax.jms.* Thanks for your help.12 years agoPlace ReadyAPI QuestionsReadyAPI Questions21KViews0likes3CommentsUnit Testing One Way Web Services?
I'm trying to create repeatable unit tests for web service applications with one-way web services that don't have a response. I figured out how to create repeatable unit tests for two-way web services. This can be done by using mock services and assertions on the response but this obviously doesn't work for the one-way calls since there is no response. I tried to see if the tested application could (one-way) invoke a mock service in soapUi but from what I can see, it's not possible to have assertions on the mock service itself to assert the request message. Furthermore, I believe that assertions are the only way of having a test case fail. This is important when you want to have test cases executed in an automated fashion e.g. by a script on a continuous integration server. Does anybody have an idea how this could be done?1.7KViews0likes1Comment