Monthly Archives: March 2010
soapUI – Web Service tool
Sometimes a you come across a tool that just makes you think why you never used it before, I ran across one such tool last month, it’s called soapUI (http://www.soapui.org/ ).
This is an open source tool for testing web services, everything I wanted to do for testing some of the web services that we were developing including unit testing and load testing was provided out of the box by this awesome tool. Also I think the UI is quite well thought out and mature.
Here’s a list of the features at a high level,
soapUI is a free and open source desktop application for
- inspecting Web Services
- invoking Web Services
- developing Web Services
- Web Services Simulation and Mocking
- Functional, Load and Compliance testing of Web Services
It is mainly aimed at developers and testers providing or consuming WSDL or REST based Web Services (Java, .net, etc). Functional and Load Testing can be done both interactively in soapUI or within an automated build or integration process using the soapUI command line tools.
Mock Web Services can easily be created for any WSDL and hosted from within soapUI or using the command-line MockService runner. IDE-plugins are available for
soapUI requires Java 1.5 and is licensed under the LGPL license.
See their features page http://www.soapui.org/features.html for some screenshots of the cool stuff you can do using this.
OutOfMemory/Heap space errors in Java
Recently I had to work on a Java based rule modeling tool that was built on Java/Eclipse. The tool was pushing both eclipse and the JVM to the limits in terms of memory and I was getting a lot of OutOfMemory exceptions and out of heap space errors, usually these can be fixed by increasing the default limits.
The important settings in question are arguments passed to the JVM on startup, http://java.sun.com/javase/6/docs/technotes/tools/windows/java.html
-Xmsn
Specify the initial size, in bytes, of the memory allocation pool. This value must be a multiple of 1024 greater than 1MB. Append the letter k or K to indicate kilobytes, or m or M to indicate megabytes. The default value is chosen at runtime based on system configuration. For more information, see HotSpot Ergonomics
Examples:
-Xms6291456
-Xms6144k
-Xms6m
-Xmxn
Specify the maximum size, in bytes, of the memory allocation pool. This value must a multiple of 1024 greater than 2MB. Append the letter k or K to indicate kilobytes, or m or M to indicate megabytes. The default value is chosen at runtime based on system configuration. For more information, see HotSpot Ergonomics
Examples:
-Xmx83886080
-Xmx81920k
-Xmx80m
Other advanced VM settings are documented here, http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp
1. Eclipse IDE – If the IDE itself is running out of memory when compiling or editing code then you can increase the maximum memory pool using the Xmx option in eclipse.ini file present in the same folder as eclipse.exe.
2. JVM from within eclipse – If the JVM is running out of memory when running an app from within eclipse, then you can adjust the memory settings from the JVM configuration tab within eclipse.
3. JVM from Tomcat – On the Apache Tomcat configuration utility on the Java tab, you can specify the memory and heap settings.