IBM Support

JR57376: YOU RECEIVE AN EXCEPTION WHEN YOU RUN THE TW.SYSTEM.SERIALIZER. FROMXML JS API FOR A BUSINESS OBJECT WITH AN AMBIGUOUS TYPE NAME

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • To serialize a business object into an IBM Business Process
    Manager (BPM) proprietary XML format, you can use the toXML or
    toXMLString functions on the business object:
    
    var xml = tw.local.variableName.toXML();
    var xmlString = tw.local.variableName.toXMLString();
    
    Alternatively, you can use the serializer API:
    
    var xml = tw.system.serializer.toXml(tw.local.variableName);
    
    To deserialize the XML back into a variable, you use the
    following JavaScript (JS) API:
    
    tw.local.variableName = tw.system.serializer.fromXml(xml);
    
    However, when you run the "tw.local.variableName =
    tw.system.serializer.fromXml(xml)" JavaScript API for an XML
    that contains a serialized object of a business object type, and
    that business object uses a name that is used in multiple
    toolkits, the operation fails and you find an exception like the
    following example in the SystemOut.log file on the server:
    
    [1/27/17 13:07:03:936 CST] 000001a7 SerializerScr E
    com.lombardisoftware.core.script.js.SerializerScriptable
    jsFunction_fromXml fromXML() Error deserializing: Attempt to
    deserialize element of complex type <BOTYPENAME> failed because
    the property name '<PROPERTYNAME>' specified in the XML content
    does not exist on the specified type.
    
    com.lombardisoftware.core.TeamWorksException: Attempt to
    deserialize element of complex type <BOTYPENAME> failed because
    the property name '<PROPERTYNAME>' specified in the XML content
    does not exist on the specified type.
     at
    com.lombardisoftware.core.VariableObjectSerializer.deserializeCo
    mplexType(VariableObjectSerializer.java:1185)
     at
    com.lombardisoftware.core.VariableObjectSerializer.deserialize(V
    ariableObjectSerializer.java:951)
     at
    com.lombardisoftware.core.VariableObjectSerializer.deserialize(V
    ariableObjectSerializer.java:876)
     at
    com.lombardisoftware.core.VariableObjectSerializer.deserializeCo
    mplexType(VariableObjectSerializer.java:1197)
     at
    com.lombardisoftware.core.VariableObjectSerializer.deserialize(V
    ariableObjectSerializer.java:951)
     at
    com.lombardisoftware.core.VariableObjectSerializer.deserialize(V
    ariableObjectSerializer.java:876)
     at
    com.lombardisoftware.core.VariableObjectSerializer.deserializeCo
    mplexType(VariableObjectSerializer.java:1197)
     at
    com.lombardisoftware.core.VariableObjectSerializer.deserialize(V
    ariableObjectSerializer.java:951)
    
    PRODUCTS AFFECTED
    IBM BPM Advanced
    IBM BPM Standard
    IBM BPM Express
    

Local fix

Problem summary

  • The serialized XML for a business object included only
    information about its type name. During deserialization, IBM BPM
    used the ordered dependency list of the toolkits to find the
    first business object type that had a matching name.
    This business object type might be wrong if the serialized XML
    is of a type from another toolkit that is later in the
    dependency list.
    

Problem conclusion

  • A fix will be included in IBM BPM V8.5.7 cumulative fix 2017.03
    that enhances the serialized XML format with an additional
    attribute that identifies the toolkit or process application
    that contains the business object type so that the
    deserialization can use that information to find the correct
    business object type.
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR57376

  • Reported component name

    BPM ADVANCED

  • Reported component ID

    5725C9400

  • Reported release

    856

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-02-06

  • Closed date

    2017-03-07

  • Last modified date

    2017-03-07

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    BPM STANDARD

  • Fixed component ID

    5725C9500

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSFTDH","label":"IBM Business Process Manager Standard"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"856","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
04 September 2023