DataPower

DataPower

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  DataPower FFD include escape character

    Posted Fri July 21, 2023 10:30 AM

    Hi Team,

    For FFD conversion from flat file to XML message in DataPower. We need to include the escape character "?" so that the character after the "?" symbol is treated as plain text instead of special delimiter for FFD.

    How can we do that in FFD in DataPower?

    The syntax in IIB DFDL is:
    <xsd:annotation>
    <dfdl:defineEscapeScheme name="escapeChar">
    <dfdl:escapeScheme escapeKind="escapeCharacter">
    <dfdl:property name="escapeCharacter">?</dfdl:property>
    </dfdl:escapeScheme>
    </dfdl:defineEscapeScheme>
    </xsd:annotation>

    We want to do similiar thing in DataPower FFD.



    ------------------------------
    Geoff Xu
    ------------------------------


  • 2.  RE: DataPower FFD include escape character

    Posted Mon July 24, 2023 07:05 AM
    Edited by Hermann Stamm-Wilbrandt Mon July 24, 2023 07:07 AM

    That is a bad idea.

    FFDs are supported in DataPower only to be used with Contivo Analyst product (with a 10000$ seat license you likely do not have).
    Hand crafted FFDs are not supported by default.

    You can find few exception FFD types that are supported in these two WSTE webcasts:
    https://www.ibm.com/support/pages/webcast-replay-non-xml-data-processing-websphere-datapower-soa-appliances-stylesheets-12-basics-and-encodings

    https://www.ibm.com/support/pages/webcast-replay-non-xml-data-processing-websphere-datapower-soa-appliances-stylesheets-22-advanced
    If what you want to do is not covered by those, then please stay away from using FFDs.
    Any ticket you will open on this will be closed immediately as unsupported.


    My rule of thumb:
    For processing XML/JSON/binary use DataPower XSLT/GatewayScript/GatewayScript.

    You can just read your input in GatewaScript with "session.input.readAsBuffer()" (in case input size is not >1GB).
    Then you can validate "by hand" what you want by insppecting the read buffer.



    ------------------------------
    Hermann Stamm-Wilbrandt
    Compiler Level 3 support
    IBM DataPower Gateways (⬚ᵈᵃᵗᵃ / ⣏⠆⡮⡆⢹⠁⡮⡆⡯⠂⢎⠆⡧⡇⣟⡃⡿⡃)
    https://stamm-wilbrandt.de/en/blog/
    ------------------------------