Sebastien, Go ahead and commit the changes. I'll review them once committed. The logging changes sound good.
I'm pretty sure the xsi:type writing has been fixed (many times!) so I'd like to look at the latest change. Cheers and good luck! On 11/11/06, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:
Hi all, The last few weeks I went to some conferences (incl. the Colorado Software Summit, and the WebSphere Technical Exchange in San Francisco) and had to fix a few bugs in our C++ runtime as I was putting demos together for these conferences... I've been distracted and didn't have time to review and cleanup these fixes until now, but I'm going to spend a little bit of time this weekend to do that and merge them with the trunk. Here's the list of bugs I ran into, and the fixes I had to make. Bugs handling OpenDataObjects with WSDL-less and REST interactions: - Fixed the Web service extension to handle OpenDataObject types correctly - Made a minor fix to the Ruby extension to work with OpenDataObjects as well Exceptions when running multiple demos/composites behind a single Apache HTTPD server (insteaf of the Axis2C simple HTTP server): - Allowed componentName/serviceName to be specified in the SOAP address URL as specified in spec (instead of just the serviceName) - Changed to not recycle the TuscanyRuntime each time the componentName changes To help diagnosing problems in my demos I had to clean up our exception story a bit: - Replaced all throw char* by valid TuscanyRuntimeExceptions to allow correct error reporting inside the runtime - Changed TuscanyRuntimeException to track and report where exceptions are thrown - Changed all throw statements to use a throwException() macro similar to the macro used in the SDO runtime - In the CPP extension converted Tuscany exceptions into ServiceRuntimeExceptions to allow error reporting in the samples I really needed better logs... so I ran some Perl scripts on the sources + made manual changes to log statements to get more complete and usable logs: - All the LOGENTRY macros have been replaced by a new logentry() macro which uses __FUNCTION__ to print the correct function name and signature - The LOGEXIT have been removed, a logentry() at the top of your function takes care of the exit as well for you (see the logentry macro to see how this is done) - LOGINFO_1/2/3, LOGERROR_1/2/3 have been replaced by simpler loginfo(), logwarning() and logerror() which work with variable numbers of args Note: If you guys don't like this new log scheme I should be able to adjust the Perl scripts to change the the log macros again. I also ran into some bugs in the SDO runtime: - In SDOXMLWriter, fixed the generation of namespace prefixes and xsi:type attributes for OpenDataObjects - In SDOSAXParser, a small change to handle cases where namespaces are declared at different levels in an XML document - Zero init the first SDORuntimeException.location to help SCA turn an SDO exception into an SCA exception. And finally, I did some minor cleanup of the samples as I was demoing them to people: - Nicer output in the Ruby bigbank sample - Added a Web Service client to the Ruby bigbank sample - Removed the old MyValue sample (which does not seem to build or work), which we can add back later if we fix it If there is no objection I'll try to to commit these fixes later this weekend (hoping that I don't run into too many conflicts with the trunk). I'll contribute the SDO writer and parser fixes as a patch instead as they seem to confuse some SDO test cases. This is probably caused by small changes in the output of the SDO writer, and the test cases simply need to be adjusted to the new output, but I'd prefer Geoff or Pete to take a look. -- Jean-Sebastien --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Pete