GET /ops/stream/{correlationID}/{legID}/{tag}

Description

Retrieve all data with a specific tag (and optional leg ) .

This is useful for unstructured data stored in certain tags - for example, the "sent" and "received" tags can be used to find the entire content transmitted by, or received by, the gateway.

No processing is done on the data : some of the tags will contain binary data that other methods will present in a more usable and supported fashion (eg, accessing "trace" or "opevent" data will present the internal representation of the associated information.)


Resource URL

http://localhost:8090/ops/stream/{correlationID}/{legID}/{tag}


Parameters

correlationID mandatory Transaction Identifier. E.g.: a18ce3874de8a62712176c6c
legID mandatory Leg number or * for all legs
tag mandatory Tag determines the data that is streamed in the response.

Response Codes

Response Code Description
200 Success

Retrieving Circuit Execution path

The "circuitpath" stream, if present, is a JSON array of policy circuit nodes, where each node will contain information on the filters that the message passed through in the policy circuit.

Policy information will contain:

Filter information will contain:

Entries are controlled by Filter Level Logging, configurable within Policy Studio and Traffic Monitor.
Filter Level Logging is set by default at the Relative Path/Web Service level, but can be overridden at the Filter level.


Retrieving Transaction Trace

To get the trace for the message use the trace tag.

The response in this case will be the logged trace data, sent with a Content-Type header set to text/plain


Retrieving Message Payload

To get the content of the message that was sent or received, use the tags sent and received respectively.

The response in these cases will be the raw message content, sent with a Content-Type header set to application/vordel-xact-data


Example Transaction 1: HTTP transmitted data

Request

GET /api/router/service/instance-1/ops/stream/465abd5313000000000000002cd99d36/0/sent HTTP/1.0
Connection: close
Host: localhost
Authorization:  Basic YWRtaW46Y2hhbmdlbWU=

Response

HTTP/1.1 200 OK
Server: Gateway
Connection: close
X-CorrelationID: Id-f05cbd53d300000000000000e8210b8e 0
Date: Wed, 09 Jul 2014 15:17:04 GMT
Date: Wed, 09 Jul 2014 15:17:04 GMT
Expires: Wed, 09 Jul 2014 15:17:04 GMT
Server: Gateway
Content-Type: application/vordel-xact-data

HTTP/1.1 403 Forbidden
Date: Wed, 09 Jul 2014 15:05:42 GMT
Server: Gateway
Connection: close
X-CorrelationID: Id-465abd5313000000000000002cd99d36 0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.8
Host: localhost:8080
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36
Content-Type: text/html

Access Denied

Example Transaction 2: Circuit path

Request:

GET /api/router/service/instance-1/ops/stream/d91cbd530200000000000000681193bd/*/circuitpath HTTP/1.0
Connection: close
Host: localhost
Authorization:  Basic YWRtaW46Y2hhbmdlbWU=

Response:

HTTP/1.1 200 OK
Server: Gateway
Connection: close
X-CorrelationID: Id-d85fbd53eb010000000000008bffc20d 0
Date: Wed, 09 Jul 2014 15:29:28 GMT
Date: Wed, 09 Jul 2014 15:29:28 GMT
Expires: Wed, 09 Jul 2014 15:29:28 GMT
Server: Gateway
Content-Type: application/json

[
    {
    "policy": "Health Check",
    "execTime": 1,
    "filters": [
        {
       "espk": "DEFAULT_PRIMARY_VordelGateway_7.3.0:223",
       "name": "Set Message",
       "type": "ChangeMessageFilter",
       "class": "com.vordel.circuit.conversion.ChangeMessageFilter",
       "status": "Pass",
       "filterTime": 1404902617781,
       "execTime": 1
        },
        {
       "espk": "DEFAULT_PRIMARY_VordelGateway_7.3.0:222",
       "name": "Reflect",
       "type": "ReflectFilter",
       "class": "com.vordel.circuit.net.ReflectFilter",
       "status": "Pass",
       "filterTime": 1404902617781,
       "execTime": 0
        }
    ]
    }
]