title: Modularize the soapui test suites with groovy script which is written in eclipse, create a jar file of the groovy script and call it into soapui
body: <p>I need to create a sample Soap request by calling the endpoint URL and give the necessary login and password info and then send a request and get a response in XML. I'm writing the groovy script in eclipse IDE and creating a jar file and call that jar file into SoapUI and call the code within the jar file into SoapUI.</p>
  
  <p>Here is the sample code:</p>
  
  <pre><code>package com.xyz.demo
  
  class ABC {
  public setUP() {
      // set data
      def url = new URL("https://qwertywq.asmx").openConnection();
      if(soapaction != null) connection.setRequestProperty("SOAPAction", soapaction);
      connection.setRequestProperty("Content-Type", "Text/xml");
      String AuthorizationString = "Basic " + (username + ":" +  password).bytes.encodeBase64();
      connection.setRequestProperty("Authorization", authorizationString);
      OutputStreamWriter wr = new OutputStreamWriter(connection.getOutputStream());
      wr.write(xml);
      wr.close();
  
      // Get the response
          String response;
          InputStream responseStream;
          try {
              responseStream = connection.getInputStream();
              success = 1;
          } catch( IOException e ) {
              success = 0;
              if( connection.getResponseCode() == 500 ) {
                  responseStream = connection.getErrorStream();
              } else throw e;
          }
  
      response = responseStream.getText("utf-8");
      responseStream.close();
      return response;
  }
  </code></pre>
  
  <p>I am getting an error and how should I resolve this? Is there any other way to achieve my goal? Please let me know.</p>
  
  <p>The Output:
  Caught: groovy.lang.GroovyRuntimeException: This script or class could not be run.
  It should either:
  - have a main method,
  - be a JUnit test or extend GroovyTestCase,
  - implement the Runnable interface,
  - or be compatible with a registered script runner. Known runners:
    * org.apache.groovy.plugin.DefaultRunners$Junit3TestRunner
    * org.apache.groovy.plugin.DefaultRunners$Junit3SuiteRunner
    * org.apache.groovy.plugin.DefaultRunners$Junit4TestRunner</p>