If you haven't booked your travel yet, you'd better get crackin'.
Naturally, it worked just fine for me.
After much investigation, I found out that it was a runtime DLL dependency issue. It appears that by default non-.NET applications compiled in Visual C++ 2005 require MSVCR80.DLL. This file should be in the directory (get this):
C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd
On most Windows XP and Windows 2003 installations the file seems to be there. However, it's not there by default on Windows 2000. If the program that you've compiled is an EXE, you'll get an obvious error that you're missing a dependent file and you can figure out how to fix it. If it's a DLL like mine, you may get a very generic error that is difficult to troubleshoot (or it may just fail silently).
One option is to have the users download the Microsoft Visual C++ 2005 Redistributable Package (only a 2.6 MB download) and install it. That will give them MSVCR80.DLL, MSVCM80.DLL, and MCVCP80.DLL and your VC++ apps should run happily.
Another option is to compile the program with the /MT option instead of the /MD option, which will make the compiled program much bigger (74.5 KB versus 14.5 KB for me) but will remove the dependency. Compiling with /MD on Visual Studio 6 wasn't a problem because it would make your program rely on MSVCRT.DLL and MSVCP60.DLL, which virtually every Windows machine in the world already has these days. VS2005 changed this dependency to MSVCR80.DLL, which isn't quite as ubiquitous.
A third possibility is to create an installer package for your application that automatically installs the redistributable files if they're not there.
In my case it was easiest just to compile with /MT and be done with it. From a percentage standpoint, the final program is much bigger (~400% bigger), but in real terms it's still only a 75KB file.
So if SoapLog didn't work for you before, please download the 1.0.2 version and try again!
Still lots of boxes (my office isn't nearly as clean as Devin's), but we're getting there.
"What does it do", you ask? It monitors the web service traffic on your Domino 7.0 server!
SoapLog is a Lotus Notes/Domino DSAPI filter and accompanying database. The SoapLog filter can be copied to a Lotus Domino 7.0 server running on the Windows platform to track the contents of incoming SOAP requests, both the request and the response.
It can be very useful for tracking and debugging web services on the Domino server, and it requires no special configuration of any of the web services or databases that are already on the server. It just listens for any SOAP request and logs the transaction. Here's how you set it up:
SOAPLOG_DBNAME=SoapLog.nsf
-- to the server's Notes.ini fileThat's it! All SOAP messages/web service transactions will be written to log documents in the database (see screenshots on the download page).
Version 1.0 is the initial release of this program and database. The program and database are currently unsupported but free for personal, development, and production use -- please test thoroughly before deploying to a production server for this 1.0 release. I am currently working out terms for support of the product, for companies that prefer to work with a well-supported version of this tool. The DSAPI filter itself is currently Windows-only, although I am also working on compiling a Linux version.
Instructions for setting up and using the DSAPI DLL file and database can be found in the "Using This Database" document within the database download.
Granted, almost none of us ever felt any pain or had to pay anything extra because of the GIF patent -- it was mostly a theoretical issue for end users -- but it's a good thing to happen anyway.
Now if we can just get the Notes client to natively support the PNG format without having to resort to strange hacks I'll be in happy graphics land (PNG is a fantastic format for screenshots).