SOAP Client

SOAP Client is a free Cocoa-based developer tool for Mac OS X Tiger that allows you access and debug WSDL & SOAP-based Web Services from the comfort of your desktop.




SOAP Client screenshot

SOAP Client is now an open source project (BSD license) on Google Code!

2006/11/29: SOAP Client 1.6.3 Released.

New in SOAP Client v1.6.3:

2006/11/17: SOAP Client 1.6.2 Released.

New in SOAP Client v1.6.2, Improved WSDL/XSD parsing:

Bottom line: SOAP Client is even more likely to create a correct GUI for your SOAP/WSDL service.

2006/11/16: SOAP Client 1.6.1 Released.

New in SOAP Client v1.6.1:

2006/11/15: SOAP Client 1.6 Released.

New in SOAP Client v1.6:

Important Note: You will not be able to open .soapclient documents created with a previous version using v1.6. You will have to create new documents. Sorry for the inconvenience.

Also note that xsd:complexTypes with nested xsd:complexTypes are still not supported. Workinonit.

2006/11/10: SOAP Client 1.5 Released.

New SOAP Client v1.5:

Note that there's an important caveat to the complexType encoding support. v1.5 does not currently support nested complexTypes -- that is, a complexType with another complexType as one of it's properties/fields. This is due to the rather short-sighted way in which I implemented this feature -- it should be recursive in a sense so that a complexType graph can be constructed. Unfortunately, that's not how I did it for v1.5. Watch for support for complexType graphs in a future version coming soon.

2006/11/07: SOAP Client 1.4.1 Released.

New SOAP Client v1.4.1:

2006/11/06: SOAP Client 1.4 Released.

New in SOAP Client v1.4:

2006/11/03: SOAP Client 1.3 Released.

New in SOAP Client v1.3:

Also, this version improves .soapclient document saving support.

Now SOAP Client windows have a 'SOAP Envelope Header' tab that contain a large text area in which you can paste or type XML content that will automatically be injected into the <SOAP-ENV:Header> element of your SOAP request. This allows for custom SOAP request headers... a common need.

2006/11/03: SOAP Client 1.2 Released.

New in SOAP Client v1.2:

Previous versions of SOAP Client actually defaulted to "RPC" binding styles for all requests regardless of what style was specified in any given WSDL file. These styles are specified in a WSDL file as the style attribute of <wsdlsoap:binding> element that is the child of <wsdl:binding> element.

This all may sound rather arcane (and it is)... but binding styles can actually have a profound effect on whether your SOAP request is successful or not. For example, requests against this free, public movie showtime webservice available on always failed in previous versions of SOAP Client. That's because the showtime operations described in that WSDL file required "Document" binding styles... and previously, SOAP Client always used RPC binding styles. Thus, the request always failed.

So the binding style specified in your WSDL file (most WSDL seems to specify this explicitly) will now be displayed in the HTML UI that is auto-generated by SOAP Client. That means you can edit this value and change it if you like. Generally, I would not ;).

SOAP Client v1.2 also fixes an annoying bug where an extraneous ":" was added to the HTTP headers of all SOAP requests, causing errors against many servers.

One final note: Unfortunately, .soapclient documents from previous versions of SOAP Cient may not work properly with regard to this new binding style text field (causing an "undefined" value to appear). I recommend creating new .soapclient documents using the new version (v1.2) of SOAP Client and discarding your old documents.

2006/10/30: SOAP Client 1.1.3 Released.

Version 1.1.3 fixes a nasty crasher when a null response is returned from a SOAP request.

2006/10/28: SOAP Client 1.1.2 Released.

Version 1.1.2 fixes some more buggy behavior.

2006/10/26: SOAP Client 1.1.1 Released.

Version 1.1.1 fixes some buggy behavior in the HTTP Request Headers table. Specifically, in v1.1, if you deleted the last custom header, the table would become unusable with no "+" or "-" buttons. 1.1.1 fixes this. Also fixed is the bug in 1.1 where empty string headers were erroneously placed into the request.

2006/10/25: SOAP Client 1.1 Released.

Version 1.1 adds the ability to manually set/edit the HTTP request headers for your SOAP RPCs as well as view the raw HTTP headers in both the serialized SOAP request and response. The UI for adding/editing headers uses convenient, editable combo boxes pre-poplated with many common HTTP header names and values.

2006/10/24: SOAP Client 1.0 Released.

Version 1.0 is a major step forward in functionality for SOAP Client. SOAP Client now uses WSDL files you provide to dynamically create a graphical user interface for any given SOAP-based web service. Here's how:

  1. Find a SOAP-based web service that also has an accompanying WSDL description file.
  2. Launch SOAP Client 1.0 and paste the URL of a remote WSDL file into the 'WSDL' text field, or download the WSDL file to your local system and find it using the 'Browse' Button.
  3. Click the 'Parse' button.
  4. Watch in wonder as SOAP Client dynamically builds a graphical user interface for the SOAP-based web service described by the given WSDL file.
  5. Use this newly-created UI to select your desired method and input your parameter values. SOAP Client will automatically take care of adding the Endpoint URI, method namespace, and SOAPAction headers.
  6. Click the 'Execute' button.
  7. Now view both the SOAP request and response in the tabbed view below.
Universal Binary

Implementation Details

SOAP Client is written in Objective-C, XSLT, and C, and is based on:

Powered by libxslt

Powered by libxml2

Missing Features

SOAP Client requires Mac OS X 10.4 Tiger or later.

SOAP Client is developed by Todd Ditchendorf. Have feedback? Email me.

Valid XHTML 1.0! Valid CSS!