10 April 2007 - 1.7 home user-guide eclipse jbossws intellij netbeans maven 1.X/2.X PDF files forums bugs sourceforge






Vote for soapUI at the WSJ Readers' Choice awards in the

'Best Web Services Utility' and

'Best Web Services Testing Tool'

categories

Workspaces / Projects

soapUI uses the same workspace/project metaphor as for example eclipse:

  • Workspace information is maintined in the ${user.home}/default-soapui-workspace.xml file. If you want to use multiple workspaces specify another filename (for example "my-soapui-workspace.xml") as the only command-line argument to soapUI, the corresponding file will be created/used instead.
  • Any number of projects can be added to the workspace.
When starting, soapUI loads all project files contained in the current workspace and displays these as project nodes in the navigator.

If a project file is for some reason not available it will be grayed out and displayed as disabled, with right-click options to either remove it from the workspace or reload it (optionally from a new location).

When exiting, soapUI will automatically save all project files in the workspace. If soapUI detects that a project file has been modified externally since it was last loaded (based on modification date), it will first prompt if to overwrite the file or leave it as it is.

Workspace Actions

The following actions are available from the workspace-nodes right-button menu (and from the main "File" menu):
  • New WSDL Project : Prompts to create a new WSDL project as described below.
  • Import Project : Prompts for a filename for an existing soapui-project. The project will be added to the current workspace. If the project-file is read-only it can still be added but no changes will be saved and a warning will be shown in the soapUI log.
  • Save All Projects - Saves all projects
  • Online Help - Displays this page in an external browser

Workspace Details Tab

The "Details" tab shown in the bottom-left shows the following values when the workspace node is selected in the navigation tree
  • File (read-only): the current workspace file used

Creating Projects

Selecting the New WSDL Project option opens this dialog which prompts for:

  • A name for the project is required
  • An optional inital WSDL to import into the project (either file or URL)
  • An option to optionally create default requests when specifying an initial WSDL

Once specified, soapUI will prompt for a filename to which the project is to be saved (defaults to <project-name>-soapui-project.xml). Put this file anywhere you want, te file is a regular XML file and can be checked into SCM systems and edited with any XML editor.

soapUI WSDL Projects

Internally, soapUI abstracts the actual nature of projects and their contained interfaces, tests, etc... opening the possiblity of support for other service-definitions/protocols than WSDL/SOAP (check out the com.eviware.soapui.model package). Currently though, the only implementation for these interfaces is for WSDL 1.1 and the SOAP/HTTP binding (as required by Basic Profile 1.0). Therefore, all actions and functionality described will be in regard to this implementation.

A soapUI WSDL project contains the following items:

  • A number of Interfaces each corresponding to a SOAP/HTTP Binding for a defined PortType
  • A number of Test-Suites containing TestCases for these Interfaces' Operations
  • A number of MockServices containing Mock implementations of these Interfaces' Operations

soapUI projects are saved in a self contained xml-file upon creation (as described above). This file can be safely moved around, checked into CVS, sent by email, etc. It only has file-system references if an interface/WSDL has been imported from a local file (not recommended due to this limitation) and/or if referenced attachments / inline files are used (see Attachments). When obtaining an existing soapUI project file, this can be added to the current workspace with the "Import Project" workspace action as described above

Project Actions

The following actions are available from the project nodes' right-button menu:
  • Add WSDL from URL - Prompts for a WSDL URL that will be parsed and imported accordingly
  • Add WSDL from file - Prompts for a local WSDL file that will be parsed and imported accordingly
  • Generate WSDL with JBossWS - Invokes the integrated JBossWS tools for generating a WSDL from code as described under JBossWS Integration
  • New TestSuite - Prompts to create a new TestSuite in the selected project
  • New MockService - Prompts to create a new MockService in the selected project
  • Rename - Prompts to rename the selected project. The new name will be shown in the navigation tree. The filename of the project will be unaffected
  • Remove - Prompts to remove the selected project from the workspace. The project file will not be deleted and can be imported back into the workspace subsequently
  • Save Project - Saves the state of the project and all its contained items to the underlying project file
  • Save Project As - Saves the state of the project and all its contained items to a new project file
  • Online Help - Displays this page in an external browser

Project Details Tab

The "Details" tab shown in the bottom-left shows the following values when the workspace node is selected in the navigation tree
  • File (read-only): the selected projects project-file
  • Cache Definitions : sets if definitions should be cached for this project (see Caching Definitions). This overrides the global "Cache WSDLs" setting under the WSDL Preferences settings tab


Next: Interfaces and Operations