This documentation is also available as PDF.
Current Release: beta 3
Download from project page
Requirements: | Eclipse 2.1.1 or newer |
JDK 1.4 or newer |
Readme:
Documentation:
Apendix:
The SOAP message sender plugin is a view in the Eclipse IDE from which raw
SOAP messages can be sent to a web service.
Normally one sends messages programmatically, but sometimes it is handy to
have a way of sending the raw SOAP messages to the web service directly,
especially with interoperability issues between different implementations
of the SOAP specification.
Although developed based on a need to send raw SOAP messages, the plugin
can also be used to call any XML based service over HTTP, or even non-XML
based services.
The zip file contains the plugin directory. Unzip from within the Eclipse
plugin directory.
To uninstall, remove the nl.okc.eclipse.soap.rawmessage_x.x.x (where x.x.x
denotes the version of the plugin you have installed).
For this tutorial we will use Bob Swart's roman numbers <-> digital numbers
conversion web service.
First of all, open the "Show View" window: Window->Show View->Other...
In this window, open the "OKC" category and double click on "Soap Message
Console". This will open the "Soap Message Console" view.
In the "Soap Message Console" view:
Enter "http://www.ebob42.com/cgi-bin/Romulan.exe/wsdl/IRoman" (without the
quotes" in the "Web Service URL" text field. Leave the "Request:" field
empty and click the play button (leftmost button). The response field will
now contain the WSDL of the web service.
Now click on the "New Tab" button (second button from the left). This opens
a new tab. Enter "http://www.ebob42.com/cgi-bin/Romulan.exe/soap/IRoman" in
the "Web Service URL" field. Note, the URL points to soap/IRoman instead of
wsdl/IRoman, we are now pointing to actual the web service itself.
Enter the following raw SOAP request in the "Request:" field:
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:n="x"> <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <n:IntToRoman> <Int xsi:type="soapenc:long">1992</Int> </n:IntToRoman> </soap:Body> </soap:Envelope>Press play and see how 1992 is converted into MCMXCII.
Limitations and known problems
The WSDL request and response fields are a bit dumb and have no XML completion
There is no firewall and https support yet. Control over the HTTP protocol is
a bit limited (no control over headers, time-outs, etc.).
Another problem is the fact that a DOM parser is used to do the indenting.
I could not find the right combination of parsers/ XML libraries provided
by Eclipse to make the indenting work with a SAX parser. I did not feel like
distributing another XML library with the plugin or writing an indentation
engine myself. So indenting the response is a bit slower and takes a bit more
memory than needed.
The WSDL Parser is not complete. It works for some example WSDL files.
So if there are other WSDL files which do not work feel free to report
these WSDL files so we can support the new types in the next release.
Also have a look at the missing WSDL features website.
In case you run into problems, or if you have any suggestions, please send me
an email at emiel@okc.nl. Please prefix the subject line [SOAPMC], so I can
filter the messages into my Soap Message Console mail folder. TIA.
Updates can be found on the OKC web site, open source products. Hoping this
plugin proves to be as usefull to other web service developers as it is to me
already.
Emiel van Rooijen | Object Knowledge Center the Netherlands | |
emiel@okc.nl | www.okc.nl | |
Ferenc Hechler | (WSDL related topics) | |
ferenc_hechler@users.sourceforge.net |