IBM Research

Release Notes, WBI DK 4.1, release 2

These notes summarize bug fixes and new features of the WBI Development Kit 4.1 Release 2. Feedback and questions from many programmers who downloaded and used the initial release of the WBI DK has enabled us to locate bugs and add new features, making WBI more reliable and easier to use.

In addition to the changes listed, we have enhanced and modified many parts of the documentation, especially the API documentation. We hope WBI programmers will to continue to report problems either to the WBI discussion forum on IBM Alphaworks, to the WBI developer mailing list or to TeamWBI.

You can stay in touch with what's happening with WBI by checking out the WBI homepage or subscribing to the WBI mailing list.


Bug Fixes Summary

Problem: -cp: Illegal argument warning, when Run was used with a JDK 1.1.x on Windows 95/98/NT.
Fix: Changed compiler option -cp into -classpath for backwards compiler compatibility.
Affected File: wbij41/Run.bat

Problem: The NoCacheEditor would swallow the contents of the HttpResponse so that data was not available to following Megs or to the browser.
Fix: The NoCacheEditor now copies content from its MegInputInputStream back to its MegOutputStream.
Affected Class:

Problem: The contents (data) of POST requests sometimes contains an additional \r\n, which FormHelper treated as part of the posted data.
Fix: FormHelper now considers only the number of bytes specified in the HTTP header field, content-length, when parsing posted data.
Affected Class:

Problem: Proxying of several common protocols (e.g., FTP, GOPHER, and HTTPS) was broken.
Fix: Internal modifications to WBI's core now enable WBI to proxy these protocols. Specifically, to use WBI to proxy FTP, GOPHER, and HTTPS, simply set the proxy fields for these in your browser's settings (just like it is set for proxying HTTP). Note: All WBI will do is tunnel these sorts of requests --- you cannot write Megs that affect these data streams.

Problem: Users reported problems trying out the XML/XSL samples provided with the WBI Development Kit.
Fix: The problems arose from incompatible differences between different versions of the required Lotus XSL processor. The XML-XSL plugin of the current release was compiled and tested with the Lotus XSL processor, version 0.17.4. As mentioned in the documentation of the XML-XSL plugin, you also need the IBM XML Parser for Java, version 2.0.13.
Affected Files: Please refer to the plugin documentation.

Problem: Registration of plugins failed when parsing version numbers in the ".reg" file. Subsequent attempts to register the same plugin would fail because WBI considered the plugin to already be registered.
Fix: The parser considers all characters between <minorVersion> and </minorVersion> (or <majorVersion>, </majorVersion>) as part of the version number. However, in the previous version leading or trailing whitespaces were not trimmed from the version number string, which caused Exceptions when the method Integer.parseInt(...) was called.
The registration of a plugin leads to an entry in one of WBI's ".ini" files. If a plugin is registered for which an entry already exists the plugin cannot be registered. In case of a failed plugin registration, the entry is now removed so that subsequent registration attempts may succeed if ".reg" file is syntactically correct.

Back to the top of the bug fixes list.


New Features Summary

New Feature: HTML tags can be constructed from scratch and given an identifier, which previously was only available for attributes.
Affected Class:

New Feature: New and improved way to store the header fields of an HTTP request/response. Multiple fields of the same name are now supported and can be distinguished.
New and improved access to the header fields of a HTTP request/response. Header fields can now be removed or changed directly. HttpResponse now has two deprecated methods that should be replaced with the newly added methods.
Affected Classes:,,

New Feature: Batch files and shell scripts provide a convenient way to launch WBI on different operating systems.
Affected Files: wbij41/Run.cmd (batch file for OS/2) and
wbij41/ (shell script for Unix systems).

New Feature: New megs to wrap a CGI executable(s) by launching a new process and setting the CGI/1.1 environment variables. The specified executable is started and standard input and standard output routed as necessary.
New Classes: and

New Feature: New class and package to support server side image maps.
New Classes: and

New Feature: Additional removeByKey() method in class DocumentInfo such that HTTP header fields can be stripped from the DocumentInfo object if necessary (eg, proxy-authorization).
Affected Class:

New Feature: Certain Megs are now allowed to throw an IOException.
Affected Classes: and

New Feature: Each plugin now has a reference to the proxy it is running on. This is useful to access properties of the running proxy.
Affected Class:

Back to the top of the bug fixes list.
Back to the top of the new features list.