Apigee X missing Request/Response Headers on Debug (trace)

Apigee X missing Request/Response Headers on Debug (trace), this is missing in all the points [Request sent to target server, Response received from target server, Response sent to client] except [Request received from client]. It's also missing in on policy execution trace for a particular policy.

It's very important for developers to see this in order to know what is being sent/received and for debugging purposes.

Apigee X has few such UI issues I feel but they've some work-arounds but not this (I had reported such issues via Send feedback button on UI as well). Could anyone confirm this is actually an issue and not happening only for my instance. Also, any work-around or resolution, etc.

@dchiesa1 

@kurtkanaskie 

@anilsr 

@MerinJose 

@aishwarya 

shrenikkumars_0-1658140729891.png

 

Your responses will be much appreciated 🙂

0 10 1,275
10 REPLIES 10

@shrenikkumar-s 

Unfortunately this is an issue in all organizations. It is actively being addressed and I'll update when it is.

One related topic.

1. Just starting today I'm facing this issue where the new UI on Apigee X is enforce and I do see the option to SWITCH TO CLASSIC but when I click it doesn't work.

I tried clearing my cookies, on different browser & Incognito, doesn't seem to work (PFA screenshot of infinite loading when click SWITCH TO CLASSIC).

shrenikkumars_2-1668981977458.png

2. With new UI when I DEBUG, I'm unable to view the payload/body section for request/response. I could be missing something can you/somebody help?

One alternative is to download the DEBUG session and look for it, but I'd prefer to see it on the screen which is much easier (PFA screenshot & associated DEBUG log as a code block since I was unable to attached a json/txt file, again not sure why, something changed? The log in the code block is curtailed and not complete due to char limit).

shrenikkumars_3-1668982157902.png

 

 

{
  "DebugSession": {
    "Retrieved": "2022-11-20T22:07:06.206Z",
    "Organization": "prj-vo-ciomware-n-apigee-02",
    "Environment": "dev1",
    "API": "cors",
    "Revision": "30",
    "SessionId": "d6e49582-66c9-491c-9b5c-b0dad93f189e",
    "Version": "2.0"
  },
  "Messages": [
    {
      "completed": true,
      "point": [
        {
          "id": "StateChange",
          "results": [
            {
              "actionResult": "DebugInfo",
              "accessList": [],
              "timestamp": "20-11-22 22:05:44:161",
              "properties": {
                "properties": [
                  {
                    "name": "From",
                    "value": "REQ_HEADERS_PARSED"
                  },
                  {
                    "name": "To",
                    "value": "PROXY_REQ_FLOW"
                  }
                ],
                "property": [
                  {
                    "name": "From",
                    "value": "REQ_HEADERS_PARSED"
                  },
                  {
                    "name": "To",
                    "value": "PROXY_REQ_FLOW"
                  }
                ]
              },
              "headers": [],
              "reasonPhrase": "",
              "statusCode": "",
              "uri": "",
              "verb": "",
              "content": "",
              "ActionResult": "DebugInfo",
              "uRI": ""
            },
            {
              "actionResult": "RequestMessage",
              "accessList": [],
              "timestamp": "",
              "properties": {},
              "headers": [
                {
                  "name": "clienttransactionid",
                  "value": "uuid"
                },
                {
                  "name": "content-length",
                  "value": "379"
                },
                {
                  "name": "content-type",
                  "value": "application/json"
                },
                {
                  "name": "grpc-trace-bin",
                  "value": "AAAaIPisfxmLd2Oiy7dSmy5wAYxxfLxuD5MtAgA"
                },
                {
                  "name": "host",
                  "value": "pub-vip.api.dev1.n-cio-apigee.virginmediao2.com"
                },
                {
                  "name": "mwh-appid",
                  "value": "O2_APIC_GW"
                },
                {
                  "name": "mwh-originatorid",
                  "value": "salesforce-juc"
                },
                {
                  "name": "mwh-requestid",
                  "value": "009692ee-f930-4a74-bbd0-63b8baa5a927"
                },
                {
                  "name": "mwh-requesttimestamp",
                  "value": "2022-10-26T10:34:18.159Z"
                },
                {
                  "name": "traceparent",
                  "value": "00-1a20f8ac7f198b7763a2cbb7529b2e70-8c717cbc6e0f932d-00"
                },
                {
                  "name": "user-agent",
                  "value": "Apache-HttpClient/4.5.13 (Java/1.8.0_351)"
                },
                {
                  "name": "via",
                  "value": "1.1 lon1-bit13036,1.1 google"
                },
                {
                  "name": "x-b3-sampled",
                  "value": "0"
                },
                {
                  "name": "x-b3-spanid",
                  "value": "8c717cbc6e0f932d"
                },
                {
                  "name": "x-b3-traceid",
                  "value": "1a20f8ac7f198b7763a2cbb7529b2e70"
                },
                {
                  "name": "x-cloud-trace-context",
                  "value": "1a20f8ac7f198b7763a2cbb7529b2e70/10120006986420425517;o=0"
                },
                {
                  "name": "x-envoy-attempt-count",
                  "value": "1"
                },
                {
                  "name": "x-forwarded-for",
                  "value": "109.145.68.230,165.225.198.119,107.162.49.43,34.107.230.31,10.102.0.63"
                },
                {
                  "name": "x-forwarded-proto",
                  "value": "https"
                },
                {
                  "name": "x-request-id",
                  "value": "d3201653-5635-46c1-bd13-73f9b1231a0d"
                },
                {
                  "name": "x-apigee-tls-session-id",
                  "value": ""
                },
                {
                  "name": "x-apigee-tls-server-name",
                  "value": ""
                },
                {
                  "name": "x-apigee-tls-cipher",
                  "value": ""
                },
                {
                  "name": "x-apigee-tls-protocol",
                  "value": ""
                },
                {
                  "name": "x-apigee-message-id",
                  "value": ""
                }
              ],
              "reasonPhrase": "",
              "statusCode": "",
              "uri": "/cors",
              "verb": "POST",
              "content": "{\"addressElementSearch\":{\"organisation\":\"\",\"subBuildingName\":\"string\",\"buildingName\":\"string\",\"buildingNumber\":\"160\",\"dependentStreet\":\"Blackfiars Road\",\"street\":\"blackfiars street\",\"dependentLocality\":\"string\",\"locality\":\"string\",\"postTown\":\"LONDON\",\"county\":\"string\",\"postCode\":\"SE1 8EZ\"}}",
              "ActionResult": "RequestMessage",
              "uRI": "/cors"
            }
          ]
        },
        {
          "id": "StateChange",
          "results": [
            {
              "actionResult": "DebugInfo",
              "accessList": [],
              "timestamp": "20-11-22 22:05:44:296",
              "properties": {
                "properties": [
                  {
                    "name": "From",
                    "value": "RESP_START"
                  },
                  {
                    "name": "To",
                    "value": "TARGET_RESP_FLOW"
                  }
                ],
                "property": [
                  {
                    "name": "From",
                    "value": "RESP_START"
                  },
                  {
                    "name": "To",
                    "value": "TARGET_RESP_FLOW"
                  }
                ]
              },
              "headers": [],
              "reasonPhrase": "",
              "statusCode": "",
              "uri": "",
              "verb": "",
              "content": "",
              "ActionResult": "DebugInfo",
              "uRI": ""
            },
            {
              "actionResult": "ResponseMessage",
              "accessList": [],
              "timestamp": "",
              "properties": {},
              "headers": [
                {
                  "name": "Access-Control-Allow-Origin",
                  "value": "*"
                },
                {
                  "name": "Alt-Svc",
                  "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"
                },
                {
                  "name": "Content-Length",
                  "value": "68"
                },
                {
                  "name": "Content-Type",
                  "value": "application/json; charset=utf-8"
                },
                {
                  "name": "Date",
                  "value": "Sun, 20 Nov 2022 22:05:44 GMT"
                },
                {
                  "name": "ETag",
                  "value": "W/\"44-CEUgnYG0NJDL6LrhICHvaqpvG70\""
                },
                {
                  "name": "Via",
                  "value": "1.1 google"
                },
                {
                  "name": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "name": "X-Frame-Options",
                  "value": "ALLOW-FROM RESOURCE-URL"
                },
                {
                  "name": "X-Powered-By",
                  "value": "Apigee"
                },
                {
                  "name": "X-XSS-Protection",
                  "value": "1"
                }
              ],
              "reasonPhrase": "OK",
              "statusCode": "200",
              "uri": "",
              "verb": "",
              "content": "{\"firstName\":\"John\",\"lastName\":\"Doe\",\"city\":\"San Jose\",\"state\":\"CA\"}",
              "ActionResult": "ResponseMessage",
              "uRI": ""
            }
          ]
        },
        {
          "id": "Paused",
          "results": []
        }
      ]
    }
  ]
}

 

 

PS: CAPS are used just to denote how they're displayed on Apigee X UI 🙂

@shrenikkumar-s 

I agree the new UI needs a bit more work to make viewing data at key locations (request received, target sent, target received, response sent) more obvious, the UI team is working that issue. I too expect to see the request details when you select "Request Received from Client".

To see the request payload click on "Proxy Request Flow Started" and see the content in the details on bottom right.

kurtkanaskie_0-1669041132998.png

 

Thanks @kurt - much appreciated. You're a saviour as always 🙂

But can we not go back to CLASSIC view?

@shrenikkumar-s The ability to switch back to Classic UI has been restored - this was a UI change that was just rolled back. I've verified in my orgs by opening Apigee UI in a new tab, didn't need to log out.

Thanks @kurtkanaskie it's working and can't thank you enough :).

Do you know if this was by chance enforced & restored for some reason? And should we expect such enforce again in the future where you'll not be able to go back to CLASSIC UI?

We've a big team of Apigee developers, I want them to be comfortable with using the new UI in-case we expect an enforcement in the (near) future.

Also, request you to update (if there is any) on the original issue of this thread: Apigee X missing Request/Response Headers on Debug (trace)

Regarding headers, I've been told this was fixed in 1-9-0-apigee-5 but I see after further reading that applies to response headers. 

https://cloud.google.com/apigee/docs/release/release-notes#October_24_2022

You can check your runtime instance by checking "Runtime Version" on the instances tab, my version is "1-9-0-apigee-16".

kurtkanaskie_1-1669238758006.png

 

I'm not seeing request headers via the DOT going to target in DEBUG.

kurtkanaskie_0-1669238431838.png

 

Thanks @kurtkanaskie . Mine is also same: 1-9-0-apigee-16 and I do see the Response headers (on Response received from target server and Response Sent to Client) and Request headers (only on Request Received from Client but not on Request sent to target server) like you said.

Hopefully this also will be taken care in the (near) future 🙂

Hi, is this issue fixed? We are using 1-11-0-apigee-7. We still do not see Headers being sent in Request sent to target server from Trace tool. Any feedback is appreciated. 

I don't think any changes are happening to the "classic" UI, but it appears to be fixed in the "new" UI as of version "1-11-0-apigee-8". 

I tested this by passing a header from my client `my-client-header` and in my target I set a header `my-backend-header`. I see both at the appropriate locations in the new UI debug.

  • Request Received from Client "my-client-header"
  • Proxy Request Flow Started "my-client-header"
  • Target Request Flow Started "my-client-header"
  • Request Sent "my-client-header" and "my-backend-header" (this is odd as the response flow hasn't even started yet)
  • Response Start - both
  • Target Response Flow Started - both
  • Proxy Response Flow Started - both
  • Response Sent - both
  • Response Sent to Client - both

    I suspect some UI trickery to show this in the UI at the "appropriate" stages, bold items represent the "DOT" locations from classic UI.