This topic explains the basic procedure for extending Parasoft’s built-in transports and message formats. Sections include: Use the following process to add support for all of the various message formats and transports your team is working with. All extension work is done using Java. Choose SOAtest or Virtualize> Custom Development> SOAtest or VirtualizeJava Project Interfaces to Implement for Custom Transports Interfaces to Implement for Custom Message Formats in SOAtest Interfaces to Implement for Custom Tools in SOAtest Interfaces to Implement for Custom Listeners in Virtualize Interfaces to Implement for Custom Message Formats in Virtualize Interfaces to Implement for Custom Tools in Virtualize Create a If you want to add multiple extensions at once, you create one parasoft-extension.xml file that covers all of the extensions you’re adding—and you use the top-level For details on how to configure this file for a specific type of extension in Virtualize, see: Defining parasoft-extension.xml for a Custom Message Format Defining parasoft-extension.xml for a Custom Listener Defining parasoft-extension.xml for a Custom Tool For details on how to configure this file for a specific type of extension in Virtualize, see: Defining parasoft-extension.xml for a Custom Transport Restart SOAtest/Virtualize and verify that the extension appears in the appropriate area. For details, see the following Virtualize sections for details: Verifying the New Message Format For details, see the following Virtualize sections for details: If your team is using a number of extensions, you might want to add multiple extensions at once—for example, a bundle that includes all of your custom message formats, custom transports, and message listeners. To add multiple extensions at once: For example, a single extension might have a parasoft-extension.xml file such as: For a project that includes multiple extensions, you would have a parasoft-extension.xml file like: You can access documentation for the Extension framework API via the Parasoft> Help menu and look for the Parasoft SOAtest or Virtualize Extensibility API book. Custom extensions can depend on Java libraries other than com.parasoft.api.jar. For details in SOAtest, see Configuring External Dependencies.For details in Virtualize, see Configuring External Dependencies. You can externalize any string displayed in the GUI to support different languages. For details in SOAtest, see Localizing GUI Text.For details in Virtualize, see Localizing GUI Text.Adding an Extension
parasoft-extension.xml
file in the default package of your Java project and configure it as appropriate for the item (or items) you’re adding.<extensions>
element; see Adding Multiple Extensions at Once for details. Parasoft looks for parasoft-extension.xml files in its classpath under the default package, so each of your parasoft-extension.xml files need to be included on the classpath—by putting the directories each live in (or the jar files each are contained in) on the classpath in the System Properties preferences.Adding Multiple Extensions at Once
<extensions>
and define the specific custom extensions as children of this top-level element.<?xml version="1.0" encoding="UTF-8"?>
<extension xmlns="urn:com/parasoft/extensibility-framework/v1/extension"
type="tool"
name='the name of your tool, appears in menus'
description='A more detailed description'>
<class>com.myCompany.MyTool</class> <!-- implements ICustomTool -->
<version id='your version ID' updaterClass="com.myCompany.myUpdater"/>
<tool xmlns="http://schemas.parasoft.com/extensibility-framework/v1/tool"
...
</extension>
<?xml version="1.0" encoding="UTF-8"?>
<extensions xmlns="urn:com/parasoft/extensibility-framework/v1/extension">
<extension
type="tool"
name='the name of your tool, appears in menus'
description='A more detailed description'>
<class>com.myCompany.MyTool</class> <!-- implements ICustomTool -->
<version id='your version ID' updaterClass="com.myCompany.myUpdater" />
<tool xmlns="http://schemas.parasoft.com/extensibility-framework/v1/tool">
...
</tool>
...
</extension>
<extension
type="transport"
name='The name of your transport, appears in the transports menu'
description='A more detailed description'>
<class>com.mycompany.MyTransport</class> <!-- implements ICustomTransport -->
<form xmlns="urn:com/parasoft/extensibility-framework/gui">
<!-- This describes the fields you wish to appear in your transport GUI -->
<section label="field group 1">
<field id="key 1" label="field 1"/>
...
<field id="key n" label="field n"/>
</section>
</form>
</extension>
...
<extension>
...
</extension>
</extensions>
API Documentation
Additional Considerations
If you are using an existing extension and later create a new version of that extension that has a different set of GUI options, you can use a version updater to update your saved .tst (SOAtest) or .pva, .pvn (Virtualize) files to adapt them to the new set of options. For details on updating SOAtest artifacts, see Updating GUI Fields for a New Version.For details on updating Virtualize artifacts, see Updating GUI Fields for a New Version..
Overview
Content Tools