Bear in mind that since the errors I encounter are generated by my own code, some of the details will be reflective of that code. Just look past code specifics and into the heart of the matter in order to find what, within your OWN application, spawned your non-informative Model-Glue error.
May I also encourage all of you Model-Glue developers to do a similar thing as you encounter such ambiguous and frustrating errors. If you'll forward those to me (dougboude att geemale dote calm) along with a cause and fix, I'll gladly add them for the benefit of the community!
Without further adieux, my "Ambiguous Model-Glue Error Matrix" as it currently exists:
| Error Text | Cause | Fix |
|---|---|---|
Oops!Message An error occured while Searching an XML document. Detail Empty expression! Extended Info Tag Context C:\ColdFusion8\wwwroot\reactor\core\objectTranslator.cfc (144) C:\ColdFusion8\wwwroot\reactor\core\objectTranslator.cfc (159) C:\ColdFusion8\wwwroot\reactor\core\objectTranslator.cfc (159) C:\ColdFusion8\wwwroot\reactor\core\objectTranslator.cfc (99) C:\ColdFusion8\wwwroot\reactor\core\objectFactory.cfc (214) C:\ColdFusion8\wwwroot\reactor\reactorFactory.cfc (80) C:\ColdFusion8\wwwroot\ModelGlue\unity\orm\ReactorAdapter.cfc (57) C:\ColdFusion8\wwwroot\ModelGlue\unity\controller\GenericORMController.cfc (113) C:\ColdFusion8\wwwroot\ModelGlue\unity\listener\Listener.cfc (26) C:\ColdFusion8\wwwroot\ModelGlue\unity\eventrequest\MessageBroadcaster.cfc (32) C:\ColdFusion8\wwwroot\ModelGlue\unity\framework\ModelGlue.cfc (359) C:\ColdFusion8\wwwroot\ModelGlue\unity\framework\ModelGlue.cfc (332) C:\ColdFusion8\wwwroot\ModelGlue\unity\framework\ModelGlue.cfc (306) C:\ColdFusion8\wwwroot\ModelGlue\unity\framework\ModelGlue.cfc (264) C:\ColdFusion8\wwwroot\ModelGlue\unity\ModelGlue.cfm (104) C:\ColdFusion8\wwwroot\Housefacks\index.cfm (50) |
Case sensitivity issue when using Reactor with or without a Modelglue Generic Event. The generic commit lists the value as "ImageRecord"; the actual object exists as "imageRecord". Portion of the event calling the generic commit: <message name=""ModelGlue.genericCommit"">
reactor.xml corresponding entry:<argument name=""recordName"" value=""ImageRecord"" /> <argument name=""criteria"" value=""imageID"" /> <argument name=""object"" value=""image"" /> </message> <object name="hf_image" alias="image">
<hasOne name="Report"> <relate from="ReportID" to="ReportID" /> </hasOne> </object> |
Make sure that case matches on every front. Generic event's recordname value; generic event's object value; alias name in reactor.xml for that object; actual name of record object generated by Reactor. Correct all case values, put Reactor into Development mode (within coldspring.xml), then re-execute the event that broadcasts the generic message, ensuring that "&init=true" is appended to the url. This will regenerate the object with the proper case and everything will be in sync again. |
| The web site you are accessing has experienced an unexpected error. Please contact the website administrator. The following information is meant for the website developer for debugging purposes. Error Occurred While Processing Request Model-Glue XML Problem: Bad |
The Event definition was malformed in the modelglue.xml file (or included xml file). Here is the offending event: <event-handler name=""inspector.saveprefs"" access=""public""> <broadcasts>
<message name=""ModelGlue.genericCommit""> <argument name=""recordName"" value=""ClientRecord"" /> <argument name=""criteria"" value=""ClientID"" /> <argument name=""object"" value=""Client"" /> <argument name=""validationName"" value=""PreferenceValidation"" /> </message> <results> <result name=""commit"" do=""Inspector.ClientDetails"" redirect=""true"" append="""" preserveState=""false"" /> <result name=""validationError"" do=""Inspector.ClientDetails"" redirect=""false"" append="""" preserveState=""true"" /> </results> <views /> </broadcasts> </event-handler> |
Ensure that the event definition is well formed. Even though from an XML standpoint it may be valid, it must also be valid from a Modelglue standpoint as well. |
Oops!Message The cause of this output exception was that: coldfusion.tagext.sql.QueryParamTag$InvalidDataException: Invalid data value [invite to parrty] exceeds maxlength setting [50].. Detail Extended Info Tag Context C:\ColdFusion8\wwwroot\reactor\project\housefacks\Dao\ClientDao.cfc (694) C:\ColdFusion8\wwwroot\reactor\project\housefacks\Dao\ClientDao.cfc (13) C:\ColdFusion8\wwwroot\reactor\base\abstractRecord.cfc (148) C:\ColdFusion8\wwwroot\reactor\base\abstractRecord.cfc (139) C:\ColdFusion8\wwwroot\reactor\base\abstractRecord.cfc (129) C:\ColdFusion8\wwwroot\ModelGlue\unity\orm\ReactorAdapter.cfc (526) C:\ColdFusion8\wwwroot\ModelGlue\unity\controller\GenericORMController.cfc (139) C:\ColdFusion8\wwwroot\ModelGlue\unity\listener\Listener.cfc (26) C:\ColdFusion8\wwwroot\ModelGlue\unity\eventrequest\MessageBroadcaster.cfc (32) C:\ColdFusion8\wwwroot\ModelGlue\unity\framework\ModelGlue.cfc (359) C:\ColdFusion8\wwwroot\ModelGlue\unity\framework\ModelGlue.cfc (332) C:\ColdFusion8\wwwroot\ModelGlue\unity\framework\ModelGlue.cfc (306) C:\ColdFusion8\wwwroot\ModelGlue\unity\framework\ModelGlue.cfc (264) C:\ColdFusion8\wwwroot\ModelGlue\unity\ModelGlue.cfm (104) C:\ColdFusion8\wwwroot\Housefacks\index.cfm (50) |
Occurs during attempted insert/update/commit, when the value of submitted form field contains more characters than the table field allows. This entry present because it CAN occur even when invoking Reactor's auto-validation. The reason this error could be seen WITH validation in place is due to the finicky nature of Reactor and how and when it regenerates its base objects. If the base object was not regenerated after the table had been modified, then no validation exists for any new fields that were added and we get this mostly untrapped error. | Solution:
|
Oops!Message Routines cannot be declared more than once. Detail The routine setState has been declared twice in the same file. The CFML compiler was processing: A cffunction tag beginning on line 395, column 10. Extended Info Tag Context C:\ColdFusion8\wwwroot\reactor\project\housefacks\Record\UserRecord.cfc (395) C:\ColdFusion8\wwwroot\reactor\core\objectFactory.cfc (145) C:\ColdFusion8\wwwroot\reactor\reactorFactory.cfc (26) C:\ColdFusion8\wwwroot\Housefacks\model\Authentication.cfc (62) C:\ColdFusion8\wwwroot\Housefacks\controller\AuthenticationController.cfc (25) C:\ColdFusion8\wwwroot\ModelGlue\unity\listener\Listener.cfc (26) C:\ColdFusion8\wwwroot\ModelGlue\unity\eventrequest\MessageBroadcaster.cfc (32) C:\ColdFusion8\wwwroot\ModelGlue\unity\framework\ModelGlue.cfc (359) C:\ColdFusion8\wwwroot\ModelGlue\unity\framework\ModelGlue.cfc (332) C:\ColdFusion8\wwwroot\ModelGlue\unity\framework\ModelGlue.cfc (306) C:\ColdFusion8\wwwroot\ModelGlue\unity\framework\ModelGlue.cfc (264) C:\ColdFusion8\wwwroot\ModelGlue\unity\ModelGlue.cfm (104) C:\ColdFusion8\wwwroot\Housefacks\index.cfm (50) |
Added a relationship to Reactor.xml. Attempted to relate a User's state ID value to a record in the States table in order to be able to retrieve the state abbreviation as opposed to the state ID. <object name="hf_User" alias="User">
<hasMany name="Role"> <link name="UserRole" /> </hasMany> <hasMany name="Report"> <relate from="UserID" to="InspectorID" /> </hasMany> <hasMany name="Client" > <relate from="UserID" to="UserID" /> </hasMany> <hasMany name="Realtor"> <relate from=""UserID"" to="UserID" /> </hasMany> <hasOne name="membership"> <relate from="membershipID" to="membershipID" /> </hasOne> <hasOne name="State"> <relate from="state" to="stateID" /> </hasOne> </object> |
SOLUTION: Use the attribute "alias" within the hasOne or hasMany tag to alias the method that will be generated. Like so: <hasOne name="State" alias="ST">
<relate from="state" to="stateID" /> </hasOne> |
|
An error occured while Parsing an XML document. The element type "value" must be terminated by the matching end-tag "". The error occurred in C:\ColdFusion8\wwwroot\coldspring\beans\DefaultXmlBeanFactory.cfc: line 87 Called from C:\ColdFusion8\wwwroot\coldspring\beans\DefaultXmlBeanFactory.cfc: line 63 Called from C:\ColdFusion8\wwwroot\ModelGlue\unity\ModelGlue.cfm: line 71 Called from C:\ColdFusion8\wwwroot\Housefacks\index.cfm: line 50 85 : 86:00:00 87 : |
ID10T error. Accidentally erased part of a tag in Coldspring.xml |
look at the change that was just made and correct the malformed tag. In this case, it was a property tag: <property name="mode"><value>production/value></property> |
|
Model-Glue: C:\ColdFusion8\wwwroot\catschedule\scheduler\config\security.xml isn't valid XML! The error occurred in C:\ColdFusion8\wwwroot\ModelGlue\unity\loader\XmlConfigurationLoader.cfc: line 76 Called from C:\ColdFusion8\wwwroot\ModelGlue\unity\loader\XmlConfigurationLoader.cfc: line 99 Called from C:\ColdFusion8\wwwroot\ModelGlue\unity\loader\FrameworkLoader.cfc: line 98 Called from C:\ColdFusion8\wwwroot\ModelGlue\unity\ModelGlue.cfm: line 116 Called from C:\ColdFusion8\wwwroot\catschedule\scheduler\index.cfm: line 72 74 : </p>
<cfset cfg = xmlParse(cfg).xmlRoot /> 75 : <cfcatch> 76 : <cfthrow message="Model-Glue: #configurationPath# isn't valid XML!" /> 77 : </cfcatch> 78 : </cftry> |
Mal-formed modelglue.xml (or included configuration xml file). | If you've looked it over carefully and your tags are all balanced, you might try also verifying that you're using the same CASE for all tag names. XML is case sensitive, so "value" is not the same as "Value". It is recommended that you not make TOO many changes to your modelglue configuration file before testing it, otherwise tracking down the offending line may be a very frustrating and time consuming task. |
| Oops! Message An error occured while Parsing an XML document. Detail The content of elements must consist of well-formed character data or markup. Extended Info Tag Context D:\web\housefacks.com\www\reactor\core\objectTranslator.cfc (91) D:\web\housefacks.com\www\reactor\core\objectFactory.cfc (214) D:\web\housefacks.com\www\reactor\reactorFactory.cfc (80) D:\web\ModelGlue\unity\orm\ReactorAdapter.cfc (271) D:\web\ModelGlue\unity\orm\ReactorAdapter.cfc (145) D:\web\ModelGlue\unity\orm\ReactorAdapter.cfc (250) D:\web\ModelGlue\unity\controller\GenericORMController.cfc (73) D:\web\ModelGlue\unity\listener\Listener.cfc (26) D:\web\ModelGlue\unity\eventrequest\MessageBroadcaster.cfc (32) D:\web\ModelGlue\unity\framework\ModelGlue.cfc (359) D:\web\ModelGlue\unity\framework\ModelGlue.cfc (332) D:\web\ModelGlue\unity\framework\ModelGlue.cfc (306) D:\web\ModelGlue\unity\framework\ModelGlue.cfc (264) D:\web\ModelGlue\unity\ModelGlue.cfm (104) D:\web\housefacks.com\www\index.cfm (50) |
This error was thrown by Reactor when it attempted to XMLParse a dictionary file for a given table. What has probably happened is you are using SVN in your development cycle, and when you performed an update to the destination code, SVN did a kind of "merge" on one of your dictionary files and flubbed it all up for you, thinking it was helping. Because the merged file is now not valid XML, Reactor barfed on it. | Replace the target/faulty dictionary file with what's in the repository rather than attempt to merge it. |
| Bean creation exception in model.client Cannot declare local variable homehistory twice.:Local variables cannot have the same names as parameters or other local variables.: Line: -1 The error occurred in C:\ColdFusion8\wwwroot\MyApp\coldspring\beans\BeanDefinition.cfc: line 400 Called from C:\ColdFusion8\wwwroot\MyApp\coldspring\beans\BeanDefinition.cfc: line 215 Called from C:\ColdFusion8\wwwroot\MyApp\coldspring\beans\DefaultXmlBeanFactory.cfc: line 566 Called from C:\ColdFusion8\wwwroot\MyApp\coldspring\beans\DefaultXmlBeanFactory.cfc: line 495 Called from C:\ColdFusion8\wwwroot\MyApp\ModelGlue\unity\loader\XmlConfigurationLoader.cfc: line 293 Called from C:\ColdFusion8\wwwroot\MyApp\ModelGlue\unity\loader\XmlConfigurationLoader.cfc: line 210 Called from C:\ColdFusion8\wwwroot\MyApp\ModelGlue\unity\loader\XmlConfigurationLoader.cfc: line 58 Called from C:\ColdFusion8\wwwroot\MyApp\ModelGlue\unity\loader\XmlConfigurationLoader.cfc: line 74 Called from C:\ColdFusion8\wwwroot\MyApp\ModelGlue\unity\loader\FrameworkLoader.cfc: line 73 Called from C:\ColdFusion8\wwwroot\MyApp\ModelGlue\unity\ModelGlue.cfm: line 94 Called from C:\ColdFusion8\wwwroot\MyApp\index.cfm: line 50 398 : <cfthrow type="coldspring.beanCreationException" 399 : message="Bean creation exception in #getBeanClass()#" 400 : detail="#cfcatch.message#:#cfcatch.detail#:#additionalInfo#"> 401 : </cfcatch> 402 : </cftry> |
The model.client CFC had a local variable named the same as one of the arguments <cfargument name="myVar"... />
<cfset var myVar = "foo" /> |
Rename either the local variable or the argument. |

