IBM Support

IT25950: HTTP POST IS COMING INTO HTTP SERVER ADAPTER WITH XML DATA THAT STARTS WITH A $, WHICH IS AN INVALID XML CHARACTER

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • HTTP POST is coming into HTTP server adapter with XML data that
    starts with a $, which is an invalid XML character. The HTTP
    Server Adapter with a URI calls a custom Business Process.
    The payload of the Trading Partner's messages begin with:
    %$xmldata. It uses as one of its HTTP headers in the POST:
    Content-Type: application/x-www-form-urlencoded;charset=utf-8
    
    When the Trading Partner's message hits the HTTP Server
    adapter, an HTTP 500 message is returned, and the Business
    Process does not get kicked off.
    The HTTP log contains errors:
    [2018-07-09 09:55:53.723] ERROR PSHttpServletHandler.invokeBP()
    - Exception while trying to invoke Business Process
    [EAM_BP_InboundXML]:
    INVALID_CHARACTER_ERR: An invalid or illegal XML character is
    specified.
    [2018-07-09 09:55:53.723] ERROR [1531144553723]
    INVALID_CHARACTER_ERR: An invalid or illegal XML character is
    specified.
    [2018-07-09 09:55:53.723] ERRORDTL
    [1531144553723]org.w3c.dom.DOMException: INVALID_CHARACTER_ERR:
    An invalid or illegal XML character is specified.
    

Local fix

  • RTC ID: 572575
    LB / NM
    Circumvention:
    1. Remove invalid characters from payload data.
    2. Try changing the Content-Type from
    application/x-www-form-urlencoded;charset=utf-8 to some other
    value such text/plain
    

Problem summary

  • Users affected:
    All
    
    Problem Description:
    HTTP POST is coming to HTTP server adapter with XML data that
    starts with a $, that is an invalid XML character, when the
    content Type is present as
    :application/x-www-form-urlencoded;charset=utf-8
    
    
    The Business Process is failing with below exception:
    
    
    An invalid or illegal XML character is specified.
        at
    org.apache.xerces.dom.CoreDocumentImpl.createElement(Unknown
    Source)
        at
    com.sterlingcommerce.woodstock.xpathutil.XPathHelper.createNode(
    XPathHelper.java:1467)
        at
    com.sterlingcommerce.woodstock.xpathutil.XPathHelper.createTarge
    tContext(XPathHelper.java:1141)
        at
    com.sterlingcommerce.woodstock.xpathutil.XPathHelper.createTarge
    tContext(XPathHelper.java:1053)
        at
    com.sterlingcommerce.woodstock.workflow.WFCUtil.setDataInTree(WF
    CUtil.java:1154)
        at
    com.sterlingcommerce.woodstock.workflow.WorkFlowContext.setWFCon
    tent(WorkFlowContext.java:3180)
        at
    
    Also in the HTTP logs, we can see:
    
    [2018-07-09 11:43:45.833] DEBUG
    PSHttpServletHandler.setProcessData() - getting parameter names
    ...
    [2018-07-09 11:43:45.833] DEBUG
    PSHttpServletHandler.setProcessData() - Processing param name
    [parm]
    [2018-07-09 11:43:45.833] DEBUG
    PSHttpServletHandler.setProcessData() - adding iwfc content
    element with parameter name [parm] and value [$xmldata]
    [2018-07-09 11:43:45.833] DEBUG
    PSHttpServletHandler.setProcessData() - Completed.
    [2018-07-09 11:43:45.848] DEBUG PSHttpServletHandler.invokeBP()
    - Business Process [EAM_BP_InboundXML] was invoked.
    [2018-07-09 11:43:45.848] DEBUG PSHttpServletHandler.handle() -
    Blocking the handler. Waiting for response...
    [2018-07-09 11:43:45.856] DEBUG HttpRespondService.processData()
    - Start processing ...
    [2018-07-09 11:43:45.856] DEBUG HttpRespondService.processData()
    - propName [doc-has-headers] =propValue [false]
    [2018-07-09 11:43:45.856] DEBUG HttpRespondService.processData()
    - propName [targetenvs] =propValue [all]
    [2018-07-09 11:43:45.856] DEBUG HttpRespondService.processData()
    - propName [XMLVersion] =propValue [2.0]
    
    
    
    The wf log contains the following:
    Unable to get/create XPath object from cache with XPath value of
    "HttpURLDecodedValues/<$xmldata". The system log may have
    further information.
    
    HTTP log shows:
    PSHttpServletHandler.invokeBP() - Exception while trying to
    invoke Business Process [EAM_BP_InboundXML]:
    INVALID_CHARACTER_ERR: An invalid or illegal XML character is
    specified.
    
    
    
    Platforms affected:
    All
    

Problem conclusion

  • Resolution Summary
    A code fix is provided.
    
    Delivered in:
    5020603_7
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT25950

  • Reported component name

    STR B2B INTEGRA

  • Reported component ID

    5725D0600

  • Reported release

    526

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-08-13

  • Closed date

    2018-10-15

  • Last modified date

    2018-10-16

  • 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

    STR B2B INTEGRA

  • Fixed component ID

    5725D0600

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS3JSW","label":"IBM Sterling B2B Integrator"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.2.6","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
16 October 2018