taSoapClient v3.2
What is taSoapClient?
Multi language
Entering and organizing data
Finding data
Invoking a request
Invoking a batch of requests
Debugging
What is taSoapClient ?
This application is a generic XML webservice client with which you can consume XML based webservices.
It is based on the Eve VM 1.42 ( http://www.ewesoft.com).
The program has following features:
- Runs on Win32 Desktops, Pocket PCs (PPC 2003, Windows Mobile 5, Windows Mobile 6), Windows Mobile Smartphones, Linux and systems with a Java VM.
- Multi lingual GUI
- The GUI to enter the input data for the webservice requests is dynamically created based on user-supplied XML request files
- Supports SOAP and REST webservices.
- Supports HTTP proxies with Basic Authorization
- Supports webservices with Basic Authorization
- Supports webservices with HTTPS Tunneling (HTTP CONNECT)
- Supports WSHttpBinding
- Supports HTTP custom header fields
- Supports batch requests
- Can communicate with HTTPS servers, but cannot verify if the certificate is valid and trustworthy.
- Webservice definition files (*.ws) are stored encrypted (but not the request files)
- Webservice definitions can be imported and exported
- The XML response of the webservice is displayed as tree, user-fiendly text or table. Selections in tree, text and table view can be copied to the clipboard. The table content is in tab-delimited format, so it can be pasted into a spreadsheet application.
- The request and the response can be logged to disk (manually or automatically with the Auto-Log option). The log files are stored in the 'Log' subdirectory of the directory that contains the request file.
- You can search for a text string in the response.
- Content that is referenced (XML href tag) can be de-referenced so that the content is shown at the XML element where it belongs.
- Built-in text editor for modifying the request files
- Shows saved log files or XML data from the clipboard
- For troubleshooting the user can activate the debug mode that logs a lot of information that can help solve the problem.
top
Multi language
The application is delivered in english and german, but is designed to support any number of languages. To translate the application into your language or to change the existing english / german texts, follow the instructions in the 'Custom Language Package' (taSoapClient-Custom.zip).
top
Entering and organizing webservices
The data in the webservice definition file (*.ws) is organized in a tree and webservices and / or their requests can be moved along in the tree with the Cut and Paste functions.
Defining proxy settings
At the root node you can define the http proxy settings:
- Name: The name of the root node. You can choose any name you like here.
- Description: Enter any description you like. It will be displayed at the bottom of the GUI when you select the root node.
- Use proxy: Check this box if you want to use the http proxy. This is a global option: The proxy is only used if also 'Use proxy' is checked for the webservice (see below).
- Proxy server: The address of the proxy server, e.g. http://proxy.local:9090 or http://192.168.100.1:8080
- Proxy user: Your username at the proxy
- Proxy password: Your password at the proxy
Adding a new webservice
When adding a new webservice, you'll need to enter following things:
- Name: The name of the webservice. You can choose any name you like - it is only used as name of the node in the GUI.
- Description: Enter any description you like. It will be displayed at the bottom of the GUI when you select the webservice.
- URL: This is the SOAP service endpoint or the REST base URL, e.g. http://www.webservicex.net/country.asmx
- Encoding: Character set used by the webservice
- Use REST: Check this option for REST webservices. For SOAP webservices leave this option un-checked.
- Use WSHttpBinding: Check this option for SOAP webservices that use WSHttpBinding instead of BasicHttpBinding. For REST webservices this option has no effect.
- Username: Your username to access the webservice.
- Password: Your password to access the webservice.
- Use proxy: Check this option, if you want to use the proxy defined at the root node.
Adding a new request
When adding a new request for a webservice, you'll need to enter following things:
- Name: The name of the request. You can choose any name you like - it is only used as name of the node in the GUI.
- Description: Enter any description you like. It will be displayed at the bottom of the GUI when you select the request.
- Username: Your username to access the webservice. If this is empty, the username and password defined in the webservice will be used.
- Password: Your password to access the webservice.
- SOAP action: Enter the SOAP action here (for SOAP webservices).
- HTTP command: Choose the HTTP command here (for REST webservices).
- HTTP custom header fields: Here you can optionally add new or replace existing HTTP header fields. Enter 1 field per line in the following format: name:value
- Replace href: Check this option if you want to de-reference href-ed content. If you see href="#id1" or the like in the webservice response and you'd expected to see some meaningful data there, you should check this option.
- File path: Enter the file path of the request file. You can enter the full path or the path relative to the data directory (directory of the webservice definition file).
- Default element: Defines the element, that will be pre-selected in the tree when the response is shown. The element is defined in Xpath notation.
Example: /doc/pag[1]/lin[2] selects the second lin-element of the first pag-element within the root element doc.
- Default view: Default view for showing the response.
- Auto-Log: Request and response are automatically logged to disk.
- Save request: Updates the request files with the input entered during invoke.
Creating request files
At the beginning of the request file, you can specify the XML encoding. This encoding is used to read and update the request file but need not be the same encoding that is used to communicate with the webservice. For Windows systems (with native VM or Java VM) we recommend to use following definition: <?xml version="1.0" encoding="ISO-8859-1"?>. For Linux systems we recommend <?xml version="1.0" encoding="UTF-8"?>. If there is no XML encoding defined, ISO-8859-1 (=Windows1252, "ANSI") is being used.
Creating request files for SOAP webservices can be a pretty tricky thing because they must conform exactly to the WSDL of the webservice. We recommend that you use a SOAP tool like the free soapUI to create those XML files. Once you have the file, you must tell taSoapClient which are the input fields. You do this by putting ???+ into the content of the field. After this character sequence, you can put in a text that will then be shown in the GUI as the default text of the field. If a field is an input field, but should not be written back when updating the request file (e.g. for password fields) then use a minus, so ???- instead of ???+
Creating request files for REST webservices is pretty easy: All fields that must be passed are defined as XML elements and must all be childs of a root element. The name of the root element does not matter. If the request file contains an element relativeURL, this element will be appended to the REST base URL (see above). If you need to POST data, you can add a POSTdata element which contains only 1 child, the root of the post data.
Here's an example for the API of Pivotal Tracker:
<?xml version="1.0" encoding="ISO-8859-1"?>
<PivotalTracker>
<relativeURL>/projects</relativeURL>
<token>???-</token>
<POSTdata>
<story>
<story_type>???+feature</story_type>
<name>???-</name>
<description>???-</description>
</story>
</POSTdata>
</PivotalTracker>
top
Finding data
You can search for webserices / requests that contain the string you are searching for. The search is always case-insensitive and searches all text fields of all entries.
'Find' always searches from the root of the tree. 'Find next' continues the search from the last found entry (not from the currently selected entry).
top
Invoking requests
In order to perform a webservice request, you must select a request and invoke it. The program will then dynamically build and show a GUI based on the defined request file. Enter all inputs and press OK. The program will then put your inputs into the request, send it to the webservice and display the response in a new tab on the screen. For SOAP webservices, also the request is shown in a tab on the screen.
top
Invoking a batch of requests
If you need to invoke the same request several times with different data, you can automate this task by using the batch invoke function:
- File path: Choose the file containing the input data. The file must be a tab-delimited ANSI encoded text file. Every line contains all input fields of one request. In the data fields you can use ^t for tabulators and ^n for new lines.
- Show response in GUI: If checked, every response will be shown in a tab of the GUI.
- Auto-Log: This read-only checkbox shows the Auto-Log option of the request. If checked, all responses are automatically logged.
- Save request: This read-only checkbox shows the Save-request option of the request. If checked, the request file will be updated after every request. For performance reasons you should un-check this option in batch mode.
- Start: Starts the batch process. By pressing the button again, the process can be aborted.
This feature depends on the type of license you purchased and might therefore not be available to you.
top
Debugging
If you encounter problems when working with this application, you might want to activate the debug mode. This mode gathers data on certain operations and you can then view this data after the operation is done. The debug data might help you find out what is going wrong.
When the application starts, the debug mode is always off. The application does not remember the state of the debug mode.
top