<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Addressing BIP6062 in IBM ESB (IIB / IBM ACE) following the OneAgent injection in Troubleshooting</title>
    <link>https://community.dynatrace.com/t5/Troubleshooting/Addressing-BIP6062-in-IBM-ESB-IIB-IBM-ACE-following-the-OneAgent/ta-p/297737</link>
    <description>&lt;H2 id="toc-hId-1653134084"&gt;Summary&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1117"&gt;After OneAgent injection, you might occasionally see the&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1176"&gt;BIP6062: Invalid parser sequence&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1209"&gt;&amp;nbsp;error. According to IBM &lt;A href="https://www.ibm.com/docs/en/app-connect/12.0.x?topic=messages-bip6001-bip6603" target="_self"&gt;diagnostics&lt;/A&gt;, this occurs because:&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;The integration node has encountered a message body of type &amp;lt;insert_2&amp;gt; followed by a message header of type &amp;lt;insert_1&amp;gt;. It is not valid to have message headers following message bodies.&lt;/BLOCKQUOTE&gt;
&lt;H3&gt;Background&lt;/H3&gt;
&lt;P&gt;The header in IBM ESB can be manipulated in a different ways and one of the possibility to build an outgoing message in the &lt;STRONG&gt;Compute node&lt;/STRONG&gt;. Below is the simple message flow that receives HTTP request and then prepare a JSON for reply:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="anton_konikov_0-1776252338101.png" style="width: 999px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/32738iE8A252C8F32E14DD/image-size/large?v=v2&amp;amp;px=999" role="button" title="anton_konikov_0-1776252338101.png" alt="anton_konikov_0-1776252338101.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;The message structure after &lt;STRONG&gt;PrepareReplyMessage Compute node&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="anton_konikov_0-1776329896800.png" style="width: 999px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/32764iEC2E91FD44312801/image-size/large?v=v2&amp;amp;px=999" role="button" title="anton_konikov_0-1776329896800.png" alt="anton_konikov_0-1776329896800.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;As we can see the JSON folder is placed between HTTPReplyHeader and HTTPRequestHeader:&lt;/P&gt;
&lt;LI-CODE lang="java"&gt;Message
├── Properties
├── HTTPReplyHeader
│   ├── Content-Type: CHARACTER:application/json
│   ├── X-Global-Transaction-ID: CHARACTER:9ad8a9f5-0a3c-4d3e-99c0-b746a1e03c85
│   ├── X-Correlation-ID: CHARACTER:0eb4c033-8028-467d-862b-56257558b753
│   ├── timestamp: CHARACTER:2026-04-16T00:56:28.306-8
│   └── messageId: CHARACTER:20260416005628306
├── JSON
│   └── Data
│       ├── firstName: CHARACTER:John
│       ├── lastName: CHARACTER:Doe
│       ├── age: INTEGER:34
│       ├── sex: CHARACTER:male
│       ├── height: INTEGER:181
│       ├── weight: INTEGER:78
│       ├── email: CHARACTER:john.doe@example.com
│       ├── phone: CHARACTER:+1-555-234-5678
│       ├── dateOfBirth: CHARACTER:1991-07-12
│       └── address
│           ├── street: CHARACTER:742 Evergreen Terrace
│           ├── city: CHARACTER:Springfield
│           ├── state: CHARACTER:IL
│           ├── postalCode: CHARACTER:62704
│           └── country: CHARACTER:US
└── HTTPRequestHeader    &amp;lt;--- [ERROR: header follows the Message Body]
    ├── Accept: CHARACTER:application/json
    └── Content-Type: CHARACTER:application/json&lt;/LI-CODE&gt;
&lt;P&gt;In this case, if the message propagates to the HTTPReply node, the client will receive the response and the transaction is being finished after the reply:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;curl -kv -X POST "http://localhost:7800/BIP6062" -H "Content-Type: application/json" -d "{\"query\":{\"firstName\":\"John\",\"lastName\":\"Doe\",\"dateOfBirth\":\"1991-07-12\"}}"
Note: Unnecessary use of -X or --request, POST is already inferred.
* Host localhost:7800 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
*   Trying [::1]:7800...
*   Trying 127.0.0.1:7800...
* Connected to localhost (127.0.0.1) port 7800
* using HTTP/1.x
&amp;gt; POST /BIP6062 HTTP/1.1
&amp;gt; Host: localhost:7800
&amp;gt; User-Agent: curl/8.13.0
&amp;gt; Accept: */*
&amp;gt; Content-Type: application/json
&amp;gt; Content-Length: 74
&amp;gt;
* upload completely sent off: 74 bytes
&amp;lt; HTTP/1.1 200 OK
&amp;lt; Content-Type: application/json
&amp;lt; X-Global-Transaction-ID: c648a831-c8a7-422a-a5f9-0321c77f1c72
&amp;lt; X-Correlation-ID: 4715187b-df87-4ac2-a69c-1f9da4717327
&amp;lt; timestamp: 2026-04-16T00:59:52.287-8
&amp;lt; messageId: 20260416005952287
&amp;lt; X-Original-HTTP-Status-Code: 200
&amp;lt; Server: IBM App Connect Enterprise
&amp;lt; Date: Thu, 16 Apr 2026 08:59:53 GMT
&amp;lt; Content-Length: 283
&amp;lt;
{"firstName":"John","lastName":"Doe","age":34,"sex":"male","height":181,"weight":78,"email":"john.doe@example.com","phone":"+1-555-234-5678","dateOfBirth":"1991-07-12","address":{"street":"742 Evergreen Terrace","city":"Springfield","state":"IL","postalCode":"62704","country":"US"}}* Connection #0 to host localhost left intact&lt;/LI-CODE&gt;
&lt;H2 id="toc-hId-843787458"&gt;Problem&lt;/H2&gt;
&lt;P&gt;After OneAgent injection, one can see that the behavior has changed and that the IBM ESB now throws the next exception and the transaction is rolling back:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="anton_konikov_0-1776337456863.png" style="width: 999px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/32769iC024CB255F8955DB/image-size/large?v=v2&amp;amp;px=999" role="button" title="anton_konikov_0-1776337456863.png" alt="anton_konikov_0-1776337456863.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H4&gt;Why IBM parser exceptions are not caused by OneAgent, but can be exposed by it&lt;/H4&gt;
&lt;P&gt;&lt;SPAN&gt;When you install a monitoring agent like Dynatrace OneAgent, it registers a C-level &lt;A href="https://www.ibm.com/docs/en/app-connect/11.0.0?topic=extensions-developing-user-defined-exits" target="_blank" rel="noopener"&gt;User Exit&lt;/A&gt; within the integration node. This User Exit hooks into specific lifecycle events, such as when a message leaves a node (&lt;/SPAN&gt;&lt;CODE&gt;Propagate&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;event).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So when there is a User Exit, the IBM ESB invokes parsers and this base parser is strictly bound by the rules of the Web Services/HTTP domain. It traverses the tree strictly from top to bottom. If the message structure is incorrect, an error is thrown.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="760"&gt;The &lt;A href="https://www.ibm.com/docs/en/app-connect/12.0.x?topic=assembly-message-tree" target="_blank" rel="noopener"&gt;IBM documentation&lt;/A&gt; is explicit about how a message tree should be structured.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Specifically, it states:&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="894"&gt;Any additional headers that are included in the message appear in the tree in the same order as in the message.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-markdown-start-index="1036"&gt;The last element beneath the root of the message tree is always the message body.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1144"&gt;This rule is foundational. It ensures that parsers and other components in the message flow can reliably locate and process the message's content.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1347"&gt;When this structural integrity is not maintained, an&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1400"&gt;invalid parser sequence&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1417"&gt;&amp;nbsp;can be thrown. This error indicates that the parser was unable to interpret the message tree, which can happen if it expects to find the message body as the final element but encounters something else instead.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1628"&gt;It is important to note that this is not an issue specific to any single monitoring tool, such as OneAgent. Rather, it is a direct consequence of altering the message flow in a way that violates the core principle of the message tree's structure.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;Reproducing IBM Parser Exceptions Independent of OneAgent&lt;/H4&gt;
&lt;P&gt;The same issue can be reliably reproduced with adding extra nodes to continue the transaction and for example trace the output after HTTPReply node by Trace nodes.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="anton_konikov_1-1776366264333.png" style="width: 999px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/32773iD3CAC4068C7E3225/image-size/large?v=v2&amp;amp;px=999" role="button" title="anton_konikov_1-1776366264333.png" alt="anton_konikov_1-1776366264333.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN data-markdown-start-index="831"&gt;Resolution&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="842"&gt;To resolve the&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="858"&gt;BIP6062: Invalid parser sequence&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="891"&gt;&amp;nbsp;error, the structure of the message tree must be amended to ensure that it strictly adheres to IBM's structural requirements&lt;/SPAN&gt;&lt;SPAN data-markdown-start-index="968"&gt;. The message body (such as&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1088"&gt;JSON&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1093"&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1096"&gt;XMLNSC&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1103"&gt;, or&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1109"&gt;BLOB&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1114"&gt;) must always be instantiated as the&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-markdown-start-index="1153"&gt;last&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-markdown-start-index="1159"&gt;&amp;nbsp;element in the&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1176"&gt;OutputRoot&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1187"&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1189"&gt;In the example provided above, the&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1236"&gt;HTTPRequestHeader&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1254"&gt;&amp;nbsp;was incorrectly placed after the&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1289"&gt;JSON&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1294"&gt;&amp;nbsp;domain.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1294"&gt;Enforcing the correct order (Properties -&amp;gt; Headers -&amp;gt; Body) ensures that the integration node's parsers, and subsequently the Dynatrace OneAgent code module for IBM ESB, successfully traverse the message tree without throwing an invalid sequence exception.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1294"&gt;Below is the corrected message structure, updated to comply with IBM's structural requirements:&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Message
├── Properties
├── HTTPReplyHeader
│   ├── Content-Type: CHARACTER:application/json
│   ├── X-Global-Transaction-ID: CHARACTER:9ad8a9f5-0a3c-4d3e-99c0-b746a1e03c85
│   ├── X-Correlation-ID: CHARACTER:0eb4c033-8028-467d-862b-56257558b753
│   ├── timestamp: CHARACTER:2026-04-16T00:56:28.306-8
│   └── messageId: CHARACTER:20260416005628306
├── HTTPRequestHeader    &amp;lt;--- [The header is placed before the Message Body]
│   ├── Accept: CHARACTER:application/json
│   └── Content-Type: CHARACTER:application/json
└── JSON                 &amp;lt;--- [Moving the message body as the last element]
    └── Data
        ├── firstName: CHARACTER:John
        ├── lastName: CHARACTER:Doe
        ├── age: INTEGER:34
        ├── sex: CHARACTER:male
        ├── height: INTEGER:181
        ├── weight: INTEGER:78
        ├── email: CHARACTER:john.doe@example.com
        ├── phone: CHARACTER:+1-555-234-5678
        ├── dateOfBirth: CHARACTER:1991-07-12
        └── address
            ├── street: CHARACTER:742 Evergreen Terrace
            ├── city: CHARACTER:Springfield
            ├── state: CHARACTER:IL
            ├── postalCode: CHARACTER:62704
            └── country: CHARACTER:US&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1294"&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt;&amp;nbsp;The specific message structure shown in this example is provided solely for demonstration purposes to illustrate the root cause of the problem. Your actual message tree, the domains used (e.g., XMLNSC, BLOB instead of JSON), and the specific headers involved might be completely different in your particular environment. Regardless of your exact configuration, you must always pay close attention to your message structure and ensure it adheres to the strict rule that the message body is always the final element in the tree.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2 id="toc-hId--574858772"&gt;What’s next&lt;/H2&gt;
&lt;P&gt;If this article does not fully resolve the issue:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Open a Dynatrace support ticket&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;/UL&gt;</description>
    <pubDate>Tue, 12 May 2026 10:39:24 GMT</pubDate>
    <dc:creator>anton_konikov</dc:creator>
    <dc:date>2026-05-12T10:39:24Z</dc:date>
    <item>
      <title>Addressing BIP6062 in IBM ESB (IIB / IBM ACE) following the OneAgent injection</title>
      <link>https://community.dynatrace.com/t5/Troubleshooting/Addressing-BIP6062-in-IBM-ESB-IIB-IBM-ACE-following-the-OneAgent/ta-p/297737</link>
      <description>&lt;H2 id="toc-hId-1653134084"&gt;Summary&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1117"&gt;After OneAgent injection, you might occasionally see the&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1176"&gt;BIP6062: Invalid parser sequence&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1209"&gt;&amp;nbsp;error. According to IBM &lt;A href="https://www.ibm.com/docs/en/app-connect/12.0.x?topic=messages-bip6001-bip6603" target="_self"&gt;diagnostics&lt;/A&gt;, this occurs because:&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;The integration node has encountered a message body of type &amp;lt;insert_2&amp;gt; followed by a message header of type &amp;lt;insert_1&amp;gt;. It is not valid to have message headers following message bodies.&lt;/BLOCKQUOTE&gt;
&lt;H3&gt;Background&lt;/H3&gt;
&lt;P&gt;The header in IBM ESB can be manipulated in a different ways and one of the possibility to build an outgoing message in the &lt;STRONG&gt;Compute node&lt;/STRONG&gt;. Below is the simple message flow that receives HTTP request and then prepare a JSON for reply:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="anton_konikov_0-1776252338101.png" style="width: 999px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/32738iE8A252C8F32E14DD/image-size/large?v=v2&amp;amp;px=999" role="button" title="anton_konikov_0-1776252338101.png" alt="anton_konikov_0-1776252338101.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;The message structure after &lt;STRONG&gt;PrepareReplyMessage Compute node&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="anton_konikov_0-1776329896800.png" style="width: 999px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/32764iEC2E91FD44312801/image-size/large?v=v2&amp;amp;px=999" role="button" title="anton_konikov_0-1776329896800.png" alt="anton_konikov_0-1776329896800.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;As we can see the JSON folder is placed between HTTPReplyHeader and HTTPRequestHeader:&lt;/P&gt;
&lt;LI-CODE lang="java"&gt;Message
├── Properties
├── HTTPReplyHeader
│   ├── Content-Type: CHARACTER:application/json
│   ├── X-Global-Transaction-ID: CHARACTER:9ad8a9f5-0a3c-4d3e-99c0-b746a1e03c85
│   ├── X-Correlation-ID: CHARACTER:0eb4c033-8028-467d-862b-56257558b753
│   ├── timestamp: CHARACTER:2026-04-16T00:56:28.306-8
│   └── messageId: CHARACTER:20260416005628306
├── JSON
│   └── Data
│       ├── firstName: CHARACTER:John
│       ├── lastName: CHARACTER:Doe
│       ├── age: INTEGER:34
│       ├── sex: CHARACTER:male
│       ├── height: INTEGER:181
│       ├── weight: INTEGER:78
│       ├── email: CHARACTER:john.doe@example.com
│       ├── phone: CHARACTER:+1-555-234-5678
│       ├── dateOfBirth: CHARACTER:1991-07-12
│       └── address
│           ├── street: CHARACTER:742 Evergreen Terrace
│           ├── city: CHARACTER:Springfield
│           ├── state: CHARACTER:IL
│           ├── postalCode: CHARACTER:62704
│           └── country: CHARACTER:US
└── HTTPRequestHeader    &amp;lt;--- [ERROR: header follows the Message Body]
    ├── Accept: CHARACTER:application/json
    └── Content-Type: CHARACTER:application/json&lt;/LI-CODE&gt;
&lt;P&gt;In this case, if the message propagates to the HTTPReply node, the client will receive the response and the transaction is being finished after the reply:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;curl -kv -X POST "http://localhost:7800/BIP6062" -H "Content-Type: application/json" -d "{\"query\":{\"firstName\":\"John\",\"lastName\":\"Doe\",\"dateOfBirth\":\"1991-07-12\"}}"
Note: Unnecessary use of -X or --request, POST is already inferred.
* Host localhost:7800 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
*   Trying [::1]:7800...
*   Trying 127.0.0.1:7800...
* Connected to localhost (127.0.0.1) port 7800
* using HTTP/1.x
&amp;gt; POST /BIP6062 HTTP/1.1
&amp;gt; Host: localhost:7800
&amp;gt; User-Agent: curl/8.13.0
&amp;gt; Accept: */*
&amp;gt; Content-Type: application/json
&amp;gt; Content-Length: 74
&amp;gt;
* upload completely sent off: 74 bytes
&amp;lt; HTTP/1.1 200 OK
&amp;lt; Content-Type: application/json
&amp;lt; X-Global-Transaction-ID: c648a831-c8a7-422a-a5f9-0321c77f1c72
&amp;lt; X-Correlation-ID: 4715187b-df87-4ac2-a69c-1f9da4717327
&amp;lt; timestamp: 2026-04-16T00:59:52.287-8
&amp;lt; messageId: 20260416005952287
&amp;lt; X-Original-HTTP-Status-Code: 200
&amp;lt; Server: IBM App Connect Enterprise
&amp;lt; Date: Thu, 16 Apr 2026 08:59:53 GMT
&amp;lt; Content-Length: 283
&amp;lt;
{"firstName":"John","lastName":"Doe","age":34,"sex":"male","height":181,"weight":78,"email":"john.doe@example.com","phone":"+1-555-234-5678","dateOfBirth":"1991-07-12","address":{"street":"742 Evergreen Terrace","city":"Springfield","state":"IL","postalCode":"62704","country":"US"}}* Connection #0 to host localhost left intact&lt;/LI-CODE&gt;
&lt;H2 id="toc-hId-843787458"&gt;Problem&lt;/H2&gt;
&lt;P&gt;After OneAgent injection, one can see that the behavior has changed and that the IBM ESB now throws the next exception and the transaction is rolling back:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="anton_konikov_0-1776337456863.png" style="width: 999px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/32769iC024CB255F8955DB/image-size/large?v=v2&amp;amp;px=999" role="button" title="anton_konikov_0-1776337456863.png" alt="anton_konikov_0-1776337456863.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H4&gt;Why IBM parser exceptions are not caused by OneAgent, but can be exposed by it&lt;/H4&gt;
&lt;P&gt;&lt;SPAN&gt;When you install a monitoring agent like Dynatrace OneAgent, it registers a C-level &lt;A href="https://www.ibm.com/docs/en/app-connect/11.0.0?topic=extensions-developing-user-defined-exits" target="_blank" rel="noopener"&gt;User Exit&lt;/A&gt; within the integration node. This User Exit hooks into specific lifecycle events, such as when a message leaves a node (&lt;/SPAN&gt;&lt;CODE&gt;Propagate&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;event).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So when there is a User Exit, the IBM ESB invokes parsers and this base parser is strictly bound by the rules of the Web Services/HTTP domain. It traverses the tree strictly from top to bottom. If the message structure is incorrect, an error is thrown.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="760"&gt;The &lt;A href="https://www.ibm.com/docs/en/app-connect/12.0.x?topic=assembly-message-tree" target="_blank" rel="noopener"&gt;IBM documentation&lt;/A&gt; is explicit about how a message tree should be structured.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Specifically, it states:&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="894"&gt;Any additional headers that are included in the message appear in the tree in the same order as in the message.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-markdown-start-index="1036"&gt;The last element beneath the root of the message tree is always the message body.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1144"&gt;This rule is foundational. It ensures that parsers and other components in the message flow can reliably locate and process the message's content.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1347"&gt;When this structural integrity is not maintained, an&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1400"&gt;invalid parser sequence&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1417"&gt;&amp;nbsp;can be thrown. This error indicates that the parser was unable to interpret the message tree, which can happen if it expects to find the message body as the final element but encounters something else instead.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1628"&gt;It is important to note that this is not an issue specific to any single monitoring tool, such as OneAgent. Rather, it is a direct consequence of altering the message flow in a way that violates the core principle of the message tree's structure.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;Reproducing IBM Parser Exceptions Independent of OneAgent&lt;/H4&gt;
&lt;P&gt;The same issue can be reliably reproduced with adding extra nodes to continue the transaction and for example trace the output after HTTPReply node by Trace nodes.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="anton_konikov_1-1776366264333.png" style="width: 999px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/32773iD3CAC4068C7E3225/image-size/large?v=v2&amp;amp;px=999" role="button" title="anton_konikov_1-1776366264333.png" alt="anton_konikov_1-1776366264333.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN data-markdown-start-index="831"&gt;Resolution&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="842"&gt;To resolve the&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="858"&gt;BIP6062: Invalid parser sequence&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="891"&gt;&amp;nbsp;error, the structure of the message tree must be amended to ensure that it strictly adheres to IBM's structural requirements&lt;/SPAN&gt;&lt;SPAN data-markdown-start-index="968"&gt;. The message body (such as&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1088"&gt;JSON&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1093"&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1096"&gt;XMLNSC&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1103"&gt;, or&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1109"&gt;BLOB&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1114"&gt;) must always be instantiated as the&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-markdown-start-index="1153"&gt;last&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-markdown-start-index="1159"&gt;&amp;nbsp;element in the&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1176"&gt;OutputRoot&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1187"&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1189"&gt;In the example provided above, the&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1236"&gt;HTTPRequestHeader&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1254"&gt;&amp;nbsp;was incorrectly placed after the&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="inline-code"&gt;&lt;SPAN data-markdown-start-index="1289"&gt;JSON&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN data-markdown-start-index="1294"&gt;&amp;nbsp;domain.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1294"&gt;Enforcing the correct order (Properties -&amp;gt; Headers -&amp;gt; Body) ensures that the integration node's parsers, and subsequently the Dynatrace OneAgent code module for IBM ESB, successfully traverse the message tree without throwing an invalid sequence exception.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1294"&gt;Below is the corrected message structure, updated to comply with IBM's structural requirements:&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Message
├── Properties
├── HTTPReplyHeader
│   ├── Content-Type: CHARACTER:application/json
│   ├── X-Global-Transaction-ID: CHARACTER:9ad8a9f5-0a3c-4d3e-99c0-b746a1e03c85
│   ├── X-Correlation-ID: CHARACTER:0eb4c033-8028-467d-862b-56257558b753
│   ├── timestamp: CHARACTER:2026-04-16T00:56:28.306-8
│   └── messageId: CHARACTER:20260416005628306
├── HTTPRequestHeader    &amp;lt;--- [The header is placed before the Message Body]
│   ├── Accept: CHARACTER:application/json
│   └── Content-Type: CHARACTER:application/json
└── JSON                 &amp;lt;--- [Moving the message body as the last element]
    └── Data
        ├── firstName: CHARACTER:John
        ├── lastName: CHARACTER:Doe
        ├── age: INTEGER:34
        ├── sex: CHARACTER:male
        ├── height: INTEGER:181
        ├── weight: INTEGER:78
        ├── email: CHARACTER:john.doe@example.com
        ├── phone: CHARACTER:+1-555-234-5678
        ├── dateOfBirth: CHARACTER:1991-07-12
        └── address
            ├── street: CHARACTER:742 Evergreen Terrace
            ├── city: CHARACTER:Springfield
            ├── state: CHARACTER:IL
            ├── postalCode: CHARACTER:62704
            └── country: CHARACTER:US&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-markdown-start-index="1294"&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt;&amp;nbsp;The specific message structure shown in this example is provided solely for demonstration purposes to illustrate the root cause of the problem. Your actual message tree, the domains used (e.g., XMLNSC, BLOB instead of JSON), and the specific headers involved might be completely different in your particular environment. Regardless of your exact configuration, you must always pay close attention to your message structure and ensure it adheres to the strict rule that the message body is always the final element in the tree.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2 id="toc-hId--574858772"&gt;What’s next&lt;/H2&gt;
&lt;P&gt;If this article does not fully resolve the issue:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Open a Dynatrace support ticket&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Tue, 12 May 2026 10:39:24 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Troubleshooting/Addressing-BIP6062-in-IBM-ESB-IIB-IBM-ACE-following-the-OneAgent/ta-p/297737</guid>
      <dc:creator>anton_konikov</dc:creator>
      <dc:date>2026-05-12T10:39:24Z</dc:date>
    </item>
  </channel>
</rss>

