Researching the cause a little further lead me to believe there is a problem loading from the database. In the backtrace1, the String form, that should be returned by props.getProperty(context) (where the value of context = “jive.dataform.wg”) has been returned null2. This context value is stored in table fpWorkgroupProp and has an xml*3 value as listed below. From these two findings, this value appears like it did not load from the database, then form was null triggering the Java errors.
Refs:
*1
at org.jivesoftware.openfire.fastpath.dataforms.FormManager.getDataForm(FormManage r.java:189)
*2
179 public DataForm getDataForm(Workgroup workgroup) {
180 DbProperties props = workgroup.getProperties();
181 String context = “jive.dataform.wg”;
182 String form = props.getProperty(context);
183
184 if (form != null) {
185 XStream xstream = new XStream();
186 xstream.setClassLoader(this.getClass().getClassLoader());
187
188 try {
*189 return (DataForm) xstream.fromXML(form);
190 }
191 catch (Exception e) {
192 ComponentManagerFactory.getComponentManager().getLog().error(e);
193 }
194 }
195 return null;
196 }
*3
<org.xmpp.forms.DataForm>
<qname serialization="custom">
<org.dom4j.QName>
<string></string>
<string>jabber:x:data</string>
<default>
<hashCode>-1110501510</hashCode>
<documentFactory serialization="custom">
<org.dom4j.DocumentFactory>
<default/>
</org.dom4j.DocumentFactory>
</documentFactory>
<name>x</name>
</default>
</org.dom4j.QName>
</qname>
<parentBranch class="org.dom4j.tree.DefaultDocument">
<rootElement class="org.dom4j.tree.DefaultElement" reference="../.."/>
<content>
<org.dom4j.tree.DefaultElement reference="../../.."/>
</content>
<documentFactory reference="../../qname/org.dom4j.QName/default/documentFactory"/>
</parentBranch>
<content class="list">
<org.dom4j.tree.DefaultElement>
<qname serialization="custom">
<org.dom4j.QName>
<string></string>
<string>jabber:x:data</string>
<default>
<hashCode>0</hashCode>
<documentFactory reference="../../../../../../qname/org.dom4j.QName/default/documentFactory"/>
<name>field</name>
</default>
</org.dom4j.QName>
</qname>
<parentBranch class="org.dom4j.tree.DefaultElement" reference="../../.."/>
<content class="org.dom4j.tree.DefaultElement">
<qname serialization="custom">
<org.dom4j.QName>
<string></string>
<string>jabber:x:data</string>
<default>
<hashCode>0</hashCode>
<documentFactory reference="../../../../../../../qname/org.dom4j.QName/default/documentFactory"/ >
<name>required</name>
</default>
</org.dom4j.QName>
</qname>
<parentBranch class="org.dom4j.tree.DefaultElement" reference="../.."/>
</content>
<attributes class="list">
<org.dom4j.tree.DefaultAttribute>
<parent class="org.dom4j.tree.DefaultElement" reference="../../.."/>
<qname serialization="custom">
<org.dom4j.QName>
<string></string>
<string></string>
<default>
<hashCode>0</hashCode>
<documentFactory reference="../../../../../../../../qname/org.dom4j.QName/default/documentFactor y"/>
<name>label</name>
</default>
</org.dom4j.QName>
</qname>
<value>Name:</value>
</org.dom4j.tree.DefaultAttribute>
<org.dom4j.tree.DefaultAttribute>
<parent class="org.dom4j.tree.DefaultElement" reference="../../.."/>
<qname serialization="custom">
<org.dom4j.QName>
<string></string>
<string></string>
<default>
<hashCode>0</hashCode>
<documentFactory reference="../../../../../../../../qname/org.dom4j.QName/default/documentFactor y"/>
<name>var</name>
<qualifiedName>var</qualifiedName>
</default>
</org.dom4j.QName>
</qname>
<value>username</value>
</org.dom4j.tree.DefaultAttribute>
<org.dom4j.tree.DefaultAttribute>
<parent class="org.dom4j.tree.DefaultElement" reference="../../.."/>
<qname serialization="custom">
<org.dom4j.QName>
<string></string>
<string></string>
<default>
<hashCode>3575610</hashCode>
<documentFactory reference="../../../../../../../../qname/org.dom4j.QName/default/documentFactor y"/>
<name>type</name>
<qualifiedName>type</qualifiedName>
</default>
</org.dom4j.QName>
</qname>
<value>text-single</value>
</org.dom4j.tree.DefaultAttribute>
</attributes>
</org.dom4j.tree.DefaultElement>
<org.dom4j.tree.DefaultElement>
<qname reference="../../org.dom4j.tree.DefaultElement/qname"/>
<parentBranch class="org.dom4j.tree.DefaultElement" reference="../../.."/>
<content class="org.dom4j.tree.DefaultElement">
<qname reference="../../../org.dom4j.tree.DefaultElement/content/qname"/>
<parentBranch class="org.dom4j.tree.DefaultElement" reference="../.."/>
</content>
<attributes class="list">
<org.dom4j.tree.DefaultAttribute>
<parent class="org.dom4j.tree.DefaultElement" reference="../../.."/>
<qname reference="../../../../org.dom4j.tree.DefaultElement/attributes/org.dom4j.tree. DefaultAttribute/qname"/>
<value>Email Address:</value>
</org.dom4j.tree.DefaultAttribute>
<org.dom4j.tree.DefaultAttribute>
<parent class="org.dom4j.tree.DefaultElement" reference="../../.."/>
<qname reference="../../../../org.dom4j.tree.DefaultElement/attributes/org.dom4j.tree. DefaultAttribute[2]/qname"/>
<value>email</value>
</org.dom4j.tree.DefaultAttribute>
<org.dom4j.tree.DefaultAttribute>
<parent class="org.dom4j.tree.DefaultElement" reference="../../.."/>
<qname reference="../../../../org.dom4j.tree.DefaultElement/attributes/org.dom4j.tree. DefaultAttribute[3]/qname"/>
<value>text-single</value>
</org.dom4j.tree.DefaultAttribute>
</attributes>
</org.dom4j.tree.DefaultElement>
<org.dom4j.tree.DefaultElement>
<qname reference="../../org.dom4j.tree.DefaultElement/qname"/>
<parentBranch class="org.dom4j.tree.DefaultElement" reference="../../.."/>
<content class="org.dom4j.tree.DefaultElement">
<qname reference="../../../org.dom4j.tree.DefaultElement/content/qname"/>
<parentBranch class="org.dom4j.tree.DefaultElement" reference="../.."/>
</content>
<attributes class="list">
<org.dom4j.tree.DefaultAttribute>
<parent class="org.dom4j.tree.DefaultElement" reference="../../.."/>
<qname reference="../../../../org.dom4j.tree.DefaultElement/attributes/org.dom4j.tree. DefaultAttribute/qname"/>
<value>Question:</value>
</org.dom4j.tree.DefaultAttribute>
<org.dom4j.tree.DefaultAttribute>
<parent class="org.dom4j.tree.DefaultElement" reference="../../.."/>
<qname reference="../../../../org.dom4j.tree.DefaultElement/attributes/org.dom4j.tree. DefaultAttribute[2]/qname"/>
<value>question</value>
</org.dom4j.tree.DefaultAttribute>
<org.dom4j.tree.DefaultAttribute>
<parent class="org.dom4j.tree.DefaultElement" reference="../../.."/>
<qname reference="../../../../org.dom4j.tree.DefaultElement/attributes/org.dom4j.tree. DefaultAttribute[3]/qname"/>
<value>text-single</value>
</org.dom4j.tree.DefaultAttribute>
</attributes>
</org.dom4j.tree.DefaultElement>
</content>
<attributes class="org.dom4j.tree.DefaultAttribute">
<parent class="org.dom4j.tree.DefaultElement" reference="../.."/>
<qname reference="../../content/org.dom4j.tree.DefaultElement/attributes/org.dom4j.tre e.DefaultAttribute[3]/qname"/>
<value>form</value>
</attributes>
</org.xmpp.forms.DataForm>