# \[SDK\] component XMLDeserializer error in client on upgrade

**URL:** <https://forum.inductiveautomation.com/t/sdk-component-xmldeserializer-error-in-client-on-upgrade/4810>\
**Category:** Ignition\
**Created:** [July 12, 2012, 8:43pm UTC](https://forum.inductiveautomation.com/t/sdk-component-xmldeserializer-error-in-client-on-upgrade/4810 "2012-07-12T20:43:30Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![pdibenedetto](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pdibenedetto/32/6364_2.png) [@pdibenedetto](https://forum.inductiveautomation.com/u/pdibenedetto)\
**Post date:** [July 12, 2012, 8:43pm UTC](https://forum.inductiveautomation.com/t/sdk-component-xmldeserializer-error-in-client-on-upgrade/4810/1 "2012-07-12T20:43:30Z")

</div>

We develop a module that add a component to Ignition.

We program a deserializer in DesignerHook.

Work’s ok in designer and client. V7.3.2.

Recently upgrade version to 7.3.8.

The client’s works OK. But when open the window that holds the component on the designer and saved it, then, open that window in staging client and throw this error:

Unable to open window “Window”

com.inductiveautomation.ignition.common.xmlserialization.SerializationException: Error: null deserialization handler for element ‘serializable’  
at com.inductiveautomation.ignition.common.xmlserialization.deserialization.XMLDeserializer$ParseContext.onElementStart(XMLDeserializer.java:594)  
at com.inductiveautomation.ignition.common.xmlserialization.deserialization.BinaryParser.readElement(BinaryParser.java:151)  
at com.inductiveautomation.ignition.common.xmlserialization.deserialization.BinaryParser.readElement(BinaryParser.java:157)  
at com.inductiveautomation.ignition.common.xmlserialization.deserialization.BinaryParser.readElement(BinaryParser.java:157)  
at com.inductiveautomation.ignition.common.xmlserialization.deserialization.BinaryParser.readElement(BinaryParser.java:157)  
at com.inductiveautomation.ignition.common.xmlserialization.deserialization.BinaryParser.readElement(BinaryParser.java:157)  
at com.inductiveautomation.ignition.common.xmlserialization.deserialization.BinaryParser.readElement(BinaryParser.java:157)  
at com.inductiveautomation.ignition.common.xmlserialization.deserialization.BinaryParser.readElement(BinaryParser.java:157)  
at com.inductiveautomation.ignition.common.xmlserialization.deserialization.BinaryParser.readElement(BinaryParser.java:157)  
at com.inductiveautomation.ignition.common.xmlserialization.deserialization.BinaryParser.parse(BinaryParser.java:51)  
at com.inductiveautomation.ignition.common.xmlserialization.deserialization.XMLDeserializer.deserializeBinary(XMLDeserializer.java:296)  
at com.inductiveautomation.ignition.common.xmlserialization.deserialization.XMLDeserializer.deserialize(XMLDeserializer.java:216)  
at com.inductiveautomation.factorypmi.application.model.WindowCache.\_deserializeWindow(WindowCache.java:278)  
at com.inductiveautomation.factorypmi.application.model.WindowCache.\_loadWindow(WindowCache.java:218)  
at com.inductiveautomation.factorypmi.application.model.WindowCache.openWindow(WindowCache.java:433)  
at com.inductiveautomation.factorypmi.application.FPMIApp$RuntimeWindowOpener.openWindow(FPMIApp.java:1483)  
at com.inductiveautomation.factorypmi.application.FPMIApp.openWindow(FPMIApp.java:866)  
at com.inductiveautomation.factorypmi.application.script.builtin.NavUtilities$5.run(NavUtilities.java:374)  
at com.inductiveautomation.factorypmi.application.script.builtin.WindowUtilities.doGUIAction(WindowUtilities.java:532)  
at com.inductiveautomation.factorypmi.application.script.builtin.NavUtilities.openWindowImpl(NavUtilities.java:321)  
at com.inductiveautomation.factorypmi.application.script.builtin.NavUtilities.openWindow(NavUtilities.java:317)  
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)  
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)  
at java.lang.reflect.Method.invoke(Unknown Source)  
at org.python.core.PyReflectedFunction. **call** (PyReflectedFunction.java)  
at com.inductiveautomation.ignition.common.script.ScriptManager$ReflectedInstanceFunction. **call** (ScriptManager.java:314)  
at org.python.core.PyObject. **call** (PyObject.java)  
at org.python.core.PyObject.invoke(PyObject.java)  
at org.python.pycode.\_pyx11.f$0(event:actionPerformed:4)  
at org.python.pycode.\_pyx11.call\_function(event:actionPerformed)  
at org.python.core.PyTableCode.call(PyTableCode.java)  
at org.python.core.PyCode.call(PyCode.java)  
at org.python.core.Py.runCode(Py.java)  
at com.inductiveautomation.ignition.common.script.ScriptManager.runCode(ScriptManager.java:395)  
at com.inductiveautomation.factorypmi.application.binding.action.ActionAdapter.runActions(ActionAdapter.java:139)  
at com.inductiveautomation.factorypmi.application.binding.action.ActionAdapter.invoke(ActionAdapter.java:247)  
at com.inductiveautomation.factorypmi.application.binding.action.RelayInvocationHandler.invoke(RelayInvocationHandler.java:55)  
at $Proxy5.actionPerformed(Unknown Source)  
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)  
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)  
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)  
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)  
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)  
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)  
at java.awt.Component.processMouseEvent(Unknown Source)  
at javax.swing.JComponent.processMouseEvent(Unknown Source)  
at java.awt.Component.processEvent(Unknown Source)  
at java.awt.Container.processEvent(Unknown Source)  
at java.awt.Component.dispatchEventImpl(Unknown Source)  
at java.awt.Container.dispatchEventImpl(Unknown Source)  
at java.awt.Component.dispatchEvent(Unknown Source)  
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)  
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)  
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)  
at java.awt.Container.dispatchEventImpl(Unknown Source)  
at java.awt.Window.dispatchEventImpl(Unknown Source)  
at java.awt.Component.dispatchEvent(Unknown Source)  
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)  
at java.awt.EventQueue.access$000(Unknown Source)  
at java.awt.EventQueue$1.run(Unknown Source)  
at java.awt.EventQueue$1.run(Unknown Source)  
at java.security.AccessController.doPrivileged(Native Method)  
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)  
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)  
at java.awt.EventQueue$2.run(Unknown Source)  
at java.awt.EventQueue$2.run(Unknown Source)  
at java.security.AccessController.doPrivileged(Native Method)  
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)  
at java.awt.EventQueue.dispatchEvent(Unknown Source)  
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)  
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)  
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)  
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)  
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)  
at java.awt.EventDispatchThread.run(Unknown Source)

Ignition v7.3.8 (b647)  
Java: Sun Microsystems Inc. 1.6.0\_32

The published version of the window work’s ok (because we don’t publish the window).

But the problem is that we can’t modify that window anymore.

---

<div class="post-metadata">

**Author:** ![Carl.Gould](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/carl.gould/32/7262_2.png) [@Carl.Gould](https://forum.inductiveautomation.com/u/Carl.Gould)\
**Post date:** [July 30, 2012, 10:27pm UTC](https://forum.inductiveautomation.com/t/sdk-component-xmldeserializer-error-in-client-on-upgrade/4810/2 "2012-07-30T22:27:00Z")

</div>

It’s hard to say without knowing how your serializer works. It looks like you may have un-escaped XML serialized in the XML. Try this in the Designer: Shift-right click on the window while it is closed. This should give you the option to copy the XML source of the window to your clipboard. This should help give you a clue to what’s going on. You can post it here if you want and I can look at it as well.

---

<div class="post-metadata">

**Author:** ![gmazzola](https://avatars.discourse-cdn.com/v4/letter/g/85e7bf/32.png) [@gmazzola](https://forum.inductiveautomation.com/u/gmazzola)\
**Post date:** [September 30, 2013, 3:28pm UTC](https://forum.inductiveautomation.com/t/sdk-component-xmldeserializer-error-in-client-on-upgrade/4810/3 "2013-09-30T15:28:37Z")

</div>

I’ve being reviwing this issue and confirmed the method configureDeserializer in ClientModuleHook is never called on version 7.6.3.

Seems to me that you have forgotten to consult custom module’s client hooks when configuring the XML serializer. In the Designer works just fine.

---

<div class="post-metadata">

**Author:** ![Carl.Gould](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/carl.gould/32/7262_2.png) [@Carl.Gould](https://forum.inductiveautomation.com/u/Carl.Gould)\
**Post date:** [September 30, 2013, 5:25pm UTC](https://forum.inductiveautomation.com/t/sdk-component-xmldeserializer-error-in-client-on-upgrade/4810/4 "2013-09-30T17:25:56Z")

</div>

Yikes, it looks like you’re right! I’ve made a ticket to get this fixed, it should be in 7.6.4

---

<div class="post-metadata">

**Author:** ![gmazzola](https://avatars.discourse-cdn.com/v4/letter/g/85e7bf/32.png) [@gmazzola](https://forum.inductiveautomation.com/u/gmazzola)\
**Post date:** [September 30, 2013, 6:47pm UTC](https://forum.inductiveautomation.com/t/sdk-component-xmldeserializer-error-in-client-on-upgrade/4810/5 "2013-09-30T18:47:57Z")

</div>

Great, thank you!

---

<div class="post-metadata">

**Author:** ![Carl.Gould](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/carl.gould/32/7262_2.png) [@Carl.Gould](https://forum.inductiveautomation.com/u/Carl.Gould)\
**Post date:** [September 30, 2013, 11:18pm UTC](https://forum.inductiveautomation.com/t/sdk-component-xmldeserializer-error-in-client-on-upgrade/4810/6 "2013-09-30T23:18:46Z")

</div>

Ok, this’ll be in 7.6.4rc2
