Contributions
Re: Connection refused outcome doesn't make the test fail
aldana wrote: eviware support wrote: Try adding a "SOAP Response" assertion to your teststep, this should fail and thus fail the test. I see. But I think there should be a default/implicit assertion which checks this (otherwise I need to add such an assertion on each request step, which adds effort)... I think there are very rare test-cases which check that the endpoint is not listening. This is very much by design, one many people agree with.884Views0likes0CommentsRe: Re: Having trouble with MockResponse Test Step
After chatting with the Developer, we think what is happening is both Calls are going to the first (AddLocation) MockService instance. If the 2nd MockResponse is disabled, then I get this error: Thu Apr 15 11:11:58 CDT 2010:ERROR:com.eviware.soapui.impl.wsdl.mock.DispatchException: Missing operation for soapAction [] and body element [{urn:com:ssn:schema:service:v1.0:DeviceManager.xsd}ReplaceLocation] with SOAP Version [SOAP 1.1] com.eviware.soapui.impl.wsdl.mock.DispatchException: Missing operation for soapAction [] and body element [{urn:com:ssn:schema:service:v1.0:DeviceManager.xsd}ReplaceLocation] with SOAP Version [SOAP 1.1] at com.eviware.soapui.impl.wsdl.support.soap.SoapUtils.findOperationForRequest(SoapUtils.java:353) at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchPostRequest(WsdlMockRunner.java:260) at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchRequest(WsdlMockRunner.java:383) at com.eviware.soapui.monitor.JettyMockEngine$ServerHandler.handle(JettyMockEngine.java:701) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) If the 2nd MockResponse is ENABLED, I get this error (I also get the above error as a debug statement): Thu Apr 15 11:18:07 CDT 2010:ERROR:com.eviware.soapui.impl.wsdl.mock.DispatchException: org.apache.xmlbeans.XmlException: error: Unexpected end of file after null com.eviware.soapui.impl.wsdl.mock.DispatchException: org.apache.xmlbeans.XmlException: error: Unexpected end of file after null at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchRequest(WsdlMockRunner.java:396) at com.eviware.soapui.monitor.JettyMockEngine$ServerHandler.handle(JettyMockEngine.java:701) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) Caused by: org.apache.xmlbeans.XmlException: error: Unexpected end of file after null at org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3486) at org.apache.xmlbeans.impl.store.Locale.parse(Locale.java:712) at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:696) at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:683) at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:208) at org.apache.xmlbeans.XmlObject$Factory.parse(XmlObject.java:580) at com.eviware.soapui.impl.wsdl.mock.WsdlMockRequest.getRequestXmlObject(WsdlMockRequest.java:270) at com.eviware.soapui.impl.wsdl.mock.WsdlMockRequest.initPostRequest(WsdlMockRequest.java:147) at com.eviware.soapui.impl.wsdl.mock.WsdlMockRequest. (WsdlMockRequest.java:102) at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchRequest(WsdlMockRunner.java:376) ... 11 more Caused by: org.xml.sax.SAXParseException: Unexpected end of file after null at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.reportFatalError(Piccolo.java:1038) at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.parse(Piccolo.java:723) at org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3454) ... 20 more Both situations cause the 500 error in our application. We actually got it to work once, but 99% of the time it fails.1.2KViews0likes0CommentsRe: Having trouble with MockResponse Test Step
I have a MockService that we've been using for some time to test WebService requests coming from our system. I'm now trying to automate the process, and have created a Test Case that will trigger the request. The problem is: This is a 2 call-process, after the response for Operation 1 is returned, a 2nd call should be sent. However, After the first MockResponse test step executes properly, our system is blowing up with a "Internal Server Error [500]". SoapUI never gets the 2nd call. I have both MockResponse steps set up to 'Start Listening' on the same step What am I doing different from a 'normal' Mockservice answering both calls, vs 2 MockResponse test steps? The normal timing difference between the 2: 2010-04-14 12:09:36.130: [AddLocation] 1ms 2010-04-14 12:09:36.162: [ReplaceLocation] 1ms I can attach the project or Stack Trace if that would be helpful.2.9KViews0likes5CommentsJMS Testing without defining a WSDL
Would it be possible to allow Messages to be sent to JMS endpoints without defining a WSDL? I've been forced to have the 'sample' WSDL in every project to get around this issue. Perhaps defining an XSD instead would work? Similar in how you create sample Soap messages, SoapUI could build sample messages from the XSD. Thanks!1.3KViews0likes1CommentRe: [Resolved]Executing remote Unix Script
I was able to figure it out by utilizing JSCH. Groovy Script below, visit http://www.jcraft.com/jsch/ to download jsch-0.1.42.jar. I abstracted this whole thing to a 'utility' test case I can call with parameters. package com.content.jsc; import com.jcraft.jsch.*; import java.awt.*; import javax.swing.*; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.io.*; public static class MyUserInfo implements UserInfo{ String password = ""; public MyUserInfo(String password) { this.password = password; } public String getPassword(){ return password; } public boolean promptYesNo(String str){return true;} public String getPassphrase(){ return null; } public boolean promptPassphrase(String message){ return true; } public boolean promptPassword(String message){ return true; } public void showMessage(String message){} } def mode = context.expand( '${#TestCase#RUN_MODE}' ) def wacssid = context.expand( '${#TestCase#WACS_SID}' ) def date = context.expand( '${#TestCase#DATE}' ) def pwd = context.expand( '${#TestCase#PASSWORD}' ) def host = context.expand( '${#TestCase#HOSTNAME}' ) def command = context.expand( '${#TestCase#COMMAND}' ) JSch jsch=new JSch(); session=jsch.getSession(wacssid,host,22) // username and password will be given via UserInfo interface. UserInfo ui=new MyUserInfo(pwd); session.setUserInfo(ui); session.connect(); Channel channel=session.openChannel("exec"); //log.info(mode) ((ChannelExec)channel).setCommand("/u01/wacsapp/"+wacssid+"/MDM/bin/"+command); channel.setInputStream(null); ((ChannelExec)channel).setErrStream(System.err); instream=channel.getInputStream(); channel.connect(); byte[] tmp=new byte[1024]; while(true){ while(instream.available()>0){ int i=instream.read(tmp, 0, 100); if(i<0)break; log.info(new String(tmp, 0, i)); } if(channel.isClosed()){ log.info("exit-status: "+channel.getExitStatus()); if (channel.getExitStatus()!=0) throw new Exception( "Script "+command+" Failed" ); break; } try{Thread.sleep(1000);}catch(Exception ee){ log.info(ee); } } channel.disconnect(); session.disconnect();2.3KViews1like0Comments[Resolved]Executing remote Unix Script
I've been doing some research and have been unsuccessful in executing a command on a remote Unix server through SoapUI. I've seen some recommendations using Pure Java, but was obviously hoping to leverage SoapUI's existing Features. Anyone have any ideas or experience on this?3.9KViews0likes4Comments