# Serializing to binary with Ignition SDK

**URL:** <https://forum.inductiveautomation.com/t/serializing-to-binary-with-ignition-sdk/111113>\
**Category:** Ignition\
**Tags:** ignition81, scripting\
**Created:** [September 30, 2025, 9:07pm UTC](https://forum.inductiveautomation.com/t/serializing-to-binary-with-ignition-sdk/111113 "2025-09-30T21:07:31Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![akivabrookler](https://avatars.discourse-cdn.com/v4/letter/a/41988e/32.png) [@akivabrookler](https://forum.inductiveautomation.com/u/akivabrookler)\
**Post date:** [September 30, 2025, 9:07pm UTC](https://forum.inductiveautomation.com/t/serializing-to-binary-with-ignition-sdk/111113/1 "2025-09-30T21:07:31Z")

</div>

Hey, I’m trying to serialize `ScriptConfig` objects to the data.bin files that Ignition 8.1 uses for gateway events.

At the top level, this snippet takes the formed object and returns a byte array.

```python
    public static byte [] serialize(JsonNode root){

        XMLSerializer xmlSerializer = new XMLSerializer();
        xmlSerializer.initDefaults();

        //Root Attributes
        ScriptConfigSerializer.addRootAttributes(root, xmlSerializer);

        //Script Config
        ScriptConfig scriptConfig = ScriptConfigSerializer.serializeScriptConfig(root);

        try {
            return xmlSerializer.serializeBinary(scriptConfig, true);
        } catch (SerializationException e) {
            throw new RuntimeException(e);
        }
    }

```

When I write this to the filesystem, Ignition gives me the following error:

> SerializationException: Unexpected parsing error during XML deserialization.  
> caused by org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.

Also, when I try to deserialize the output file, I get this error that the data is not binary encoded serialized data.

> Exception in thread "main" java.lang.RuntimeException: com.inductiveautomation.ignition.common.xmlserialization.SerializationException: Data is not binary encoded serialized data. magic number is wrong.

I looked into possibly adding a `SerializationDelegate`but it didn’t seem like any of them were the correct type.

> **[XMLSerializer](https://files.inductiveautomation.com/sdk/javadoc/ignition83/8.3.0/com/inductiveautomation/ignition/common/xmlserialization/serialization/XMLSerializer.html#addSerializationDelegate(java.lang.Class,com.inductiveautomation.ignition.common.xmlserialization.serialization.SerializationDelegate))**
>
> declaration: package: com.inductiveautomation.ignition.common.xmlserialization.serialization, class: XMLSerializer

Any help would be greatly appreciated!

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [September 30, 2025, 10:02pm UTC](https://forum.inductiveautomation.com/t/serializing-to-binary-with-ignition-sdk/111113/2 "2025-09-30T22:02:04Z")

</div>

> [@akivabrookler](#):
>
> ```python
> //Root Attributes
> ScriptConfigSerializer.addRootAttributes(root, xmlSerializer);
> 
> //Script Config
> ScriptConfig scriptConfig = ScriptConfigSerializer.serializeScriptConfig(root);
> 
> ```

I'm not sure what these classes are doing, but your snippet basically matches what the designer is doing internally. Are you sure your `ScriptConfig` object is fully formed? What is the actual byte content you end up with?
