User Guide

Table Of Contents
968 Chapter 38: Integrating COM and CORBA Objects in CFML Applications
In this example, the CORBA object gets called with the second (not first) entry in the
enumerator, a.
Double-byte character considerations
If you are using an ORB that supports CORBA later than version 2.0, you do not have to do
anything to support double-byte characters. Strings and characters in ColdFusion will
appropriately convert to wstring and wchar when they are used. However, the CORBA 2.0 IDL
specification does not support the wchar and wstring types, and uses the 8-bit Latin-1 character
set to represent string data. In this case, you cannot pass parameters containing those characters,
however, you can call parameters with char and string types using ColdFusion string data.
Handling exceptions
Use the
cftry and cfcatch tags to catch CORBA object method exceptions thrown by the
remote server, as follows:
1.
Specify type="coldfusion.runtime.corba.CorbaUserException" in the cfcatch tag to
catch CORBA exceptions.
2.
Use the cfcatch.getContents method to get the contents of the exception object.
The
cfcatch.getContents method returns a ColdFusion structure containing the data specified
by the IDL for the exception.
The following code example shows the IDL for a CORBA object that raises an exception defined
by the PrimitiveException exception type definition, and the CFML that catches the exception
and displays the contents of the object.
IDL
interface myInterface
{
exception PrimitiveException
{
long l;
string s;
float f;
};
void testPrimitiveException() raises (PrimitiveException);
}
CFML
<cftry>
<cfset ret0 = handle.testPrimitiveException()>
<cfcatch type=coldfusion.runtime.corba.CorbaUserException>
<cfset exceptStruct= cfcatch.getContents()>
<cfdump var ="#exceptStruct#">
</cfcatch>
</cftry>