<?xml version="1.0" encoding="UTF-8"?>
<con:soapui-project name="SOAPUI_Sample" resourceRoot="" soapui-version="3.6.2-SNAPSHOT" abortOnError="false" runType="SEQUENTIAL" xmlns:con="http://eviware.com/soapui/config"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.actions.iface.tools.soapui.TestRunnerAction@values-local"><![CDATA[<xml-fragment xmlns:con="http://eviware.com/soapui/config">
  <con:entry key="Global Properties" value=""/>
  <con:entry key="TestSuite" value="USZipSoap TestSuite"/>
  <con:entry key="Report to Generate" value=""/>
  <con:entry key="Password" value=""/>
  <con:entry key="soapui-setings.xml Password" value=""/>
  <con:entry key="TestRunner Path" value=""/>
  <con:entry key="Tool Args" value=""/>
  <con:entry key="Ignore Errors" value="false"/>
  <con:entry key="Host:Port" value=""/>
  <con:entry key="WSS Password Type" value=""/>
  <con:entry key="Save Project" value="false"/>
  <con:entry key="Enable UI" value="false"/>
  <con:entry key="System Properties" value=""/>
  <con:entry key="Domain" value=""/>
  <con:entry key="Coverage Report" value="false"/>
  <con:entry key="Export JUnit Results" value="true"/>
  <con:entry key="Open Report" value="false"/>
  <con:entry key="Project Properties" value=""/>
  <con:entry key="Project Password" value=""/>
  <con:entry key="Export All" value="true"/>
  <con:entry key="Report Format(s)" value=""/>
  <con:entry key="TestCase" value="&lt;all>"/>
  <con:entry key="Print Report" value="true"/>
  <con:entry key="Username" value=""/>
  <con:entry key="Root Folder" value="C:\web-services-test"/>
  <con:entry key="Save After" value="false"/>
  <con:entry key="Add Settings" value="false"/>
  <con:entry key="Endpoint" value=""/>
</xml-fragment>]]></con:setting><con:setting id="com.eviware.soapui.impl.wsdl.actions.iface.tools.soapui.LoadTestRunnerAction@values-local"><![CDATA[<xml-fragment xmlns:con="http://eviware.com/soapui/config">
  <con:entry key="TestSuite" value="USZipSoap TestSuite"/>
  <con:entry key="Global Properties" value=""/>
  <con:entry key="Report to Generate" value=""/>
  <con:entry key="Password" value=""/>
  <con:entry key="soapui-setings.xml Password" value=""/>
  <con:entry key="TestRunner Path" value="C:\Program Files (x86)\eviware\soapUI-3.6.1/bin"/>
  <con:entry key="Tool Args" value=""/>
  <con:entry key="LoadTest" value="ValidateZipLoadTest"/>
  <con:entry key="Host:Port" value=""/>
  <con:entry key="WSS Password Type" value=""/>
  <con:entry key="Save Project" value="false"/>
  <con:entry key="System Properties" value=""/>
  <con:entry key="Domain" value=""/>
  <con:entry key="Open Report" value="false"/>
  <con:entry key="Print Report Statistics" value="true"/>
  <con:entry key="Project Properties" value=""/>
  <con:entry key="Project Password" value=""/>
  <con:entry key="Report Format(s)" value=""/>
  <con:entry key="TestCase" value="ValidateZip TestCase"/>
  <con:entry key="Username" value=""/>
  <con:entry key="Root Folder" value="C:\temp"/>
  <con:entry key="Add Settings" value="false"/>
  <con:entry key="Save After" value="false"/>
  <con:entry key="Endpoint" value=""/>
  <con:entry key="ThreadCount" value=""/>
  <con:entry key="Limit" value=""/>
</xml-fragment>]]></con:setting></con:settings><con:interface xsi:type="con:WsdlInterface" wsaVersion="NONE" name="USZipSoap" type="wsdl" bindingName="{http://webservicemart.com/ws/}USZipSoap" soapVersion="1_1" anonymous="optional" definition="http://www.webservicemart.com/uszip.asmx?WSDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache type="TEXT" rootPart="http://www.webservicemart.com/uszip.asmx?WSDL"><con:part><con:url>http://www.webservicemart.com/uszip.asmx?WSDL</con:url><con:content><![CDATA[<wsdl:definitions targetNamespace="http://webservicemart.com/ws/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://webservicemart.com/ws/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://webservicemart.com/ws/">
      <s:element name="ValidateZip">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ZipCode" type="s:string"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ValidateZipResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ValidateZipResult" type="s:string"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="string" nillable="true" type="s:string"/>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="ValidateZipSoapIn">
    <wsdl:part name="parameters" element="tns:ValidateZip"/>
  </wsdl:message>
  <wsdl:message name="ValidateZipSoapOut">
    <wsdl:part name="parameters" element="tns:ValidateZipResponse"/>
  </wsdl:message>
  <wsdl:message name="ValidateZipHttpGetIn">
    <wsdl:part name="ZipCode" type="s:string"/>
  </wsdl:message>
  <wsdl:message name="ValidateZipHttpGetOut">
    <wsdl:part name="Body" element="tns:string"/>
  </wsdl:message>
  <wsdl:message name="ValidateZipHttpPostIn">
    <wsdl:part name="ZipCode" type="s:string"/>
  </wsdl:message>
  <wsdl:message name="ValidateZipHttpPostOut">
    <wsdl:part name="Body" element="tns:string"/>
  </wsdl:message>
  <wsdl:portType name="USZipSoap">
    <wsdl:operation name="ValidateZip">
      <wsdl:documentation>Returns United States Postal Service State Abbreviation, Latitude (decimal degrees) and Longitude (decimal degrees).</wsdl:documentation>
      <wsdl:input message="tns:ValidateZipSoapIn"/>
      <wsdl:output message="tns:ValidateZipSoapOut"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="USZipHttpGet">
    <wsdl:operation name="ValidateZip">
      <wsdl:documentation>Returns United States Postal Service State Abbreviation, Latitude (decimal degrees) and Longitude (decimal degrees).</wsdl:documentation>
      <wsdl:input message="tns:ValidateZipHttpGetIn"/>
      <wsdl:output message="tns:ValidateZipHttpGetOut"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="USZipHttpPost">
    <wsdl:operation name="ValidateZip">
      <wsdl:documentation>Returns United States Postal Service State Abbreviation, Latitude (decimal degrees) and Longitude (decimal degrees).</wsdl:documentation>
      <wsdl:input message="tns:ValidateZipHttpPostIn"/>
      <wsdl:output message="tns:ValidateZipHttpPostOut"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="USZipSoap" type="tns:USZipSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="ValidateZip">
      <soap:operation soapAction="http://webservicemart.com/ws/ValidateZip" style="document"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="USZipSoap12" type="tns:USZipSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="ValidateZip">
      <soap12:operation soapAction="http://webservicemart.com/ws/ValidateZip" style="document"/>
      <wsdl:input>
        <soap12:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="USZipHttpGet" type="tns:USZipHttpGet">
    <http:binding verb="GET"/>
    <wsdl:operation name="ValidateZip">
      <http:operation location="/ValidateZip"/>
      <wsdl:input>
        <http:urlEncoded/>
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="USZipHttpPost" type="tns:USZipHttpPost">
    <http:binding verb="POST"/>
    <wsdl:operation name="ValidateZip">
      <http:operation location="/ValidateZip"/>
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded"/>
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="USZip">
    <wsdl:port name="USZipSoap" binding="tns:USZipSoap">
      <soap:address location="http://www.webservicemart.com/uszip.asmx"/>
    </wsdl:port>
    <wsdl:port name="USZipSoap12" binding="tns:USZipSoap12">
      <soap12:address location="http://www.webservicemart.com/uszip.asmx"/>
    </wsdl:port>
    <wsdl:port name="USZipHttpGet" binding="tns:USZipHttpGet">
      <http:address location="http://www.webservicemart.com/uszip.asmx"/>
    </wsdl:port>
    <wsdl:port name="USZipHttpPost" binding="tns:USZipHttpPost">
      <http:address location="http://www.webservicemart.com/uszip.asmx"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>http://www.webservicemart.com/uszip.asmx</con:endpoint></con:endpoints><con:operation isOneWay="false" action="http://webservicemart.com/ws/ValidateZip" name="ValidateZip" bindingOperationName="ValidateZip" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Request 1"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://www.webservicemart.com/uszip.asmx</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://webservicemart.com/ws/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:ValidateZip>
         <!--Optional:-->
         <ws:ZipCode>95122</ws:ZipCode>
      </ws:ValidateZip>
   </soapenv:Body>
</soapenv:Envelope>]]></con:request><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://webservicemart.com/ws/ValidateZip"/><con:wsrmConfig version="1.2"/></con:call></con:operation></con:interface><con:testSuite name="USZipSoap TestSuite"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="ValidateZip TestCase" searchProperties="true" id="1541081c-2f92-4e1f-b643-96328ceebe04"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.panels.testcase.JTestRunLog$OptionsForm@max_rows">1000</con:setting><con:setting id="com.eviware.soapui.impl.wsdl.panels.testcase.JTestRunLog$OptionsForm@errors_only">false</con:setting></con:settings><con:testStep type="properties" name="Properties"><con:settings/><con:config xsi:type="con:PropertiesStep" saveFirst="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:properties><con:property><con:name>zipCode</con:name><con:value>98011</con:value></con:property></con:properties></con:config></con:testStep><con:testStep type="request" name="ValidateZip"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>USZipSoap</con:interface><con:operation>ValidateZip</con:operation><con:request name="ValidateZip"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://www.webservicemart.com/uszip.asmx</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://webservicemart.com/ws/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:ValidateZip>
         <!--Optional:-->
         <ws:ZipCode>${Properties#zipCode}</ws:ZipCode>
      </ws:ValidateZip>
   </soapenv:Body>
</soapenv:Envelope>]]></con:request><con:assertion type="Simple Contains"><con:configuration><token>zip</token><ignoreCase>true</ignoreCase><useRegEx>false</useRegEx></con:configuration></con:assertion><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig action="http://webservicemart.com/ws/ValidateZip" mustUnderstand="NONE" version="200508"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="groovy" name="Groovy Script"><con:settings/><con:config><script>testRunner.runTestStepByName("Properties")
		testRunner.runTestStepByName("ValidateZip")
	     //testRunner.runTestStepByName("GetHospitals")
	     log.info testRunner.getStatus()
		//testRunner.cancel("Stopped")
		def results = testRunner.results
		log.info( "Found " + results.size() + " TestStepResults.." )

		def size = 0;
		while( size &lt; results.size() )
		{
		  if( results[size].status.toString() == "FAILED" )
					      break;
		  size++
		}
		
		// failed?
		if( size &lt; results.size() )
		{
		  log.info( "Failure in TestStep " + results[size].testStep.name )
		  for( msg in results[size].messages )
		      log.info( msg )
		}
		else
		{
		  log.info( "No errors occured" )
		}
     
		    			log.info "Time taken" + testRunner.testCase.testSteps["ValidateZip"].testRequest.response.timeTaken
		    			log.info "Time taken" + testRunner.testCase.testSteps["ValidateZip"].testRequest.response.contentLength
		    			log.info "Full Response size (in bytes) " + testRunner.testCase.testSteps["ValidateZip"].testRequest.response.rawResponseData.length

</script></con:config></con:testStep><con:testStep type="groovy" name="AssertZip"><con:settings/><con:config><script>groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
holder = groovyUtils.getXmlHolder( "ValidateZip#Response" )
log.info(holder)
holder.namespaces["ns"] = "http://webservicemart.com/ws/";
def ZipCode = holder.getNodeValue( "//ns:ValidateZipResult" )
log.info("zip code is " + ZipCode)
assert ZipCode != null
assert ZipCode.length() > 0
//context["zipCode"] = zipCode</script></con:config></con:testStep><con:loadTest name="ValidateZipLoadTest"><con:settings><con:setting id="HttpSettings@close-connections">false</con:setting></con:settings><con:threadCount>9</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>120</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Thread</con:type><con:config><startThreadCount>1</startThreadCount><endThreadCount>10</endThreadCount></con:config></con:loadStrategy><con:assertion type="Step Status" name="Step Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:statisticsLogFolder>C:\temp</con:statisticsLogFolder><con:statisticsLogInterval>50</con:statisticsLogInterval><con:logStatisticsOnThreadChange>false</con:logStatisticsOnThreadChange><con:cancelOnReachedLimit>false</con:cancelOnReachedLimit><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:updateStatisticsPerTestStep>false</con:updateStatisticsPerTestStep><con:reportParameters/></con:loadTest><con:setupScript>log.info("Inside the Zip Code validator script")
props = new java.util.Properties()
fis = new FileInputStream ("C:/testprops.txt")
props.load (fis)
zipCode = props.getProperty ( "zipCode" )
targetStep = testRunner.testCase.getTestStepByName( "Properties" )
// transfer all properties
targetStep.setPropertyValue( "zipCode", zipCode)
log.info(zipCode)</con:setupScript><con:properties/><con:reportParameters/></con:testCase><con:properties/><con:setupScript>log.info("I'm inside the ZipCode Validator application")
props = new java.util.Properties ()
file = new File("C:/testprops.txt")
if(!file.exists())
{
file.createNewFile()
fis = new FileInputStream (file )
props.setProperty ( "zipCode" , "95130")
fos = new java.io.FileOutputStream ( file )
props.store(fos, "Writing the zipcode")
}</con:setupScript><con:reportParameters/></con:testSuite><con:properties/><con:wssContainer/><con:databaseConnectionContainer/><con:reporting><con:xmlTemplates/><con:parameters/></con:reporting></con:soapui-project>