access api

Management of UltraESB

Version: 17.07

Overview

UltraESB provides a simple REST API(Management Server) to manage and administer the internal components of UltraESB. Management Server is started by default on port 8085 (to change the port refer jetty.xml section). All the endpoints must start with management resource path. Below section briefly explains the access endpoints provided by the UltraESB

UltraESB Server Management

  • Start UltraESB Server

Description

This endpoint will issue the start command to the UltraESB Server

HTTP Method

POST

Resource Path

/management/server/start

Success Response

{
  "msg": "XServer Start Initiated"
}
  • Stop UltraESB Server

Description

This endpoint will issue the stop command to the UltraESB Server

HTTP Method

POST

Resource Path

/management/server/stop

Success Response

{
  "msg": "XServer stop Initiated"
}
  • Check the status of the UltraESB Server

Description

This endpoint can be used to check the current status of the UltraESB server

HTTP Method

GET

Resource Path

/management/server/status

Success Response

{
  "msg": "XServer is STARTED"
}

Projects Management

  • List all the projects

Description

This endpoint can be used to list all the projects deployed and started within an UltraESB Server

HTTP Method

GET

Resource Path

/management/project

Success Response

[
  {
    "description": "A sample project that demonstrates the projects concept",
    "id": "myFirstProject",
    "integrationFlows": null,
    "name": "myFirstProject",
    "version": "1.0-SNAPSHOT"
  }
]

Erroneous Response

{
  "msg": "Failed to obtain the project list"
}

With 500 HTTP response code.

  • Query single project

Description

This endpoint can be used to view details of a particular project via its ID

HTTP Method

GET

Resource Path

/management/project/{projectID}

Success Response

{
  "description": "A sample project that demonstrates the projects concept",
  "id": "myFirstProject",
  "integrationFlows": [
    {
      "flowFile": "helloWorldFlow.xcml",
      "id": "helloWorldFlow"
    }
  ],
  "name": "myFirstProject",
  "version": "1.0-SNAPSHOT"
}

Erroneous Response

{
  "msg": "No project found with the ID: {projectID}"
}

With 404 HTTP response code for an invalid project ID.

  • Query an Integration Flow

Description

This endpoint can be used to obtain the details of a particular Integration flow within a project through both project ID and integration flow ID

HTTP Method

GET

Resource Path

/management/project/{projectID}/{flowID}

Success Response

{
  "connectorResources": [
    {
      "port": "8280",
      "servicePath": ".*/echo-proxy"
    }
  ],
  "id": "helloWorldFlow"
}

Erroneous Response

{
  "msg": "No project found with the ID: {projectID}"
}

With 404 HTTP response code for an invalid project ID.

{
  "msg": "No Integration Flow found with the ID: {flowID}"
}

With 404 HTTP response code for an invalid flow ID.

Message Debugging

  • Enable Message Tracing

Description

This endpoint can be used to enable message tracing which keeps track of the last message which went through the UltraESB

HTTP Method

POST

Resource Path

/management/message/trace

Success Response

{
  "msg": "Successfully enabled message tracing"
}

Erroneous Response

{
  "msg": "Message tracer is unavailable"
}

With 501 HTTP response code, when message tracing is disabled in the UltraESB server

  • Disable Message Tracing

Description

This endpoint can be used to disable message tracing

HTTP Method

DELETE

Resource Path

/management/message/trace

Success Response

{
  "msg": "Successfully disabled message tracing"
}

Erroneous Response

{
  "msg": "Message tracer is unavailable"
}

With 501 HTTP response code, when message tracing is disabled in the UltraESB server

  • Get Message Tracing Status

Description

This endpoint can be used to obtain the status of the message tracing

HTTP Method

GET

Resource Path

/management/message/trace

Success Response

{
  "msg": "false"
}

false if tracing is disabled and true if tracing is enabled

Erroneous Response

{
  "msg": "Message tracer is unavailable"
}

With 501 HTTP response code, when message tracing is disabled in the UltraESB server

  • Get message details received to a particular component

Description

This endpoint can be used to obtain the details of a message received for a particular component

HTTP Method

GET

Resource Path

/management/message/{projectId}/{projectVersion}/{flowId}/{elementId}/received

Success Response

{
  "contentType": "text/xml; charset=UTF-8",
  "contextProperties": [
    {
      "leftValue": "x.http.conn_local_port",
      "rightValue": "8280"
    },
    {
      "leftValue": "x.http.conn_remote_port",
      "rightValue": "60594"
    },
    {
      "leftValue": "x.http.conn_local_addr",
      "rightValue": "127.0.0.1"
    },
    {
      "leftValue": "x.http.conn_remote_addr",
      "rightValue": "127.0.0.1"
    },
    {
      "leftValue": "x.http.service_url",
      "rightValue": "/service/echo-proxy"
    },
    {
      "leftValue": "x.http.service_path_map",
      "rightValue": "{httpListener=.*/echo-proxy}"
    }
  ],
  "destinationURI": "/service/echo-proxy",
  "messageProperties": [
    {
      "leftValue": "x.http.method",
      "rightValue": "POST"
    },
    {
      "leftValue": "x.http.ssl_client_dn",
      "rightValue": "null"
    },
    {
      "leftValue": "x.http.entity_size",
      "rightValue": "294"
    },
    {
      "leftValue": "x.http.ssl_client_certs",
      "rightValue": "null"
    },
    {
      "leftValue": "x.http.header_size",
      "rightValue": "234"
    },
    {
      "leftValue": "x.http.server_connection_debug",
      "rightValue": "UUID=71aa59b7-8dee-77d9-0000-000000000001, C2E-Connection=127.0.0.1:60594->127.0.0.1:8280, C2E-Req-StartTime=02:24:25.039, C2E-Req-EndTime=02:24:25.049, C2E-Req-ConnCreateTime=02:24:25.025, C2E-Req-URL=/service/echo-proxy, C2E-Req-Protocol=HTTP/1.0, C2E-Req-Method=POST, C2E-Req-IP=127.0.0.1"
    },
    {
      "leftValue": "x.http.message_size",
      "rightValue": "528"
    }
  ],
  "payload": "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:soap=\"http://soap.services.samples/\">   <soapenv:Body>      <soap:getQuote>         <request>            <symbol>ADRT</symbol>         </request>      </soap:getQuote>   </soapenv:Body></soapenv:Envelope>",
  "responseCode": -1,
  "scopeVariables": [
    {
      "leftValue": "7055d80c-2885-9a17-0000-000000000001",
      "middleValue": "integrationFlowName",
      "rightValue": "helloWorldFlow"
    }
  ],
  "transportHeaders": [
    {
      "leftValue": "SOAPAction",
      "rightValue": "urn:getQuote"
    },
    {
      "leftValue": "User-Agent",
      "rightValue": "AdroitLogic (http://adroitlogic.org) - SOA Toolbox/1.5.0"
    },
    {
      "leftValue": "Connection",
      "rightValue": "close"
    },
    {
      "leftValue": "Host",
      "rightValue": "localhost:8280"
    },
    {
      "leftValue": "Content-Length",
      "rightValue": "294"
    },
    {
      "leftValue": "Content-Type",
      "rightValue": "text/xml; charset=UTF-8"
    }
  ]
}

Erroneous Response

{
  "msg": "Message tracer is unavailable"
}

With 501 HTTP response code, when message tracing is disabled in the UltraESB server

{
  "msg": "Required message details not found"
}

With 404 HTTP response code, when message detail is not found

  • Obtain message execution path

Description

This endpoint can be used to obtain the execution path of the last message which went through the UltraESB

HTTP Method

GET

Resource Path

/management/message/{projectId}/{projectVersion}/{flowId}/path

Success Response

[
  {
    "outPortDisplayName": "Processor",
    "sourceElementId": "httpListener",
    "targetElementId": "httpSender"
  },
  {
    "outPortDisplayName": "Response Processor",
    "sourceElementId": "httpSender",
    "targetElementId": "httpListener"
  }
]

Erroneous Response

{
  "msg": "Message tracer is unavailable"
}

With 501 HTTP response code, when message tracing is disabled in the UltraESB server

  • Obtain message View

Description

This endpoint can be used to obtain the details of a message which passed through the specified two components

HTTP Method

GET

Resource Path

/management/message/{projectId}/{projectVersion}/{flowId}/view

Success Response

{
  "contentType": "text/xml; charset=UTF-8",
  "contextProperties": [
    {
      "leftValue": "x.http.conn_local_port",
      "rightValue": "8280"
    },
    {
      "leftValue": "x.http.conn_remote_port",
      "rightValue": "60594"
    },
    {
      "leftValue": "x.http.conn_local_addr",
      "rightValue": "127.0.0.1"
    },
    {
      "leftValue": "x.http.conn_remote_addr",
      "rightValue": "127.0.0.1"
    },
    {
      "leftValue": "x.http.service_url",
      "rightValue": "/service/echo-proxy"
    },
    {
      "leftValue": "x.http.service_path_map",
      "rightValue": "{httpListener=.*/echo-proxy}"
    }
  ],
  "destinationURI": "/service/echo-proxy",
  "messageProperties": [
    {
      "leftValue": "x.http.method",
      "rightValue": "POST"
    },
    {
      "leftValue": "x.http.ssl_client_dn",
      "rightValue": "null"
    },
    {
      "leftValue": "x.http.entity_size",
      "rightValue": "294"
    },
    {
      "leftValue": "x.http.ssl_client_certs",
      "rightValue": "null"
    },
    {
      "leftValue": "x.http.header_size",
      "rightValue": "234"
    },
    {
      "leftValue": "x.http.server_connection_debug",
      "rightValue": "UUID=71aa59b7-8dee-77d9-0000-000000000001, C2E-Connection=127.0.0.1:60594->127.0.0.1:8280, C2E-Req-StartTime=02:24:25.039, C2E-Req-EndTime=02:24:25.049, C2E-Req-ConnCreateTime=02:24:25.025, C2E-Req-URL=/service/echo-proxy, C2E-Req-Protocol=HTTP/1.0, C2E-Req-Method=POST, C2E-Req-IP=127.0.0.1"
    },
    {
      "leftValue": "x.http.message_size",
      "rightValue": "528"
    }
  ],
  "payload": "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:soap=\"http://soap.services.samples/\">   <soapenv:Body>      <soap:getQuote>         <request>            <symbol>ADRT</symbol>         </request>      </soap:getQuote>   </soapenv:Body></soapenv:Envelope>",
  "responseCode": -1,
  "scopeVariables": [
    {
      "leftValue": "7055d80c-2885-9a17-0000-000000000001",
      "middleValue": "integrationFlowName",
      "rightValue": "helloWorldFlow"
    }
  ],
  "transportHeaders": [
    {
      "leftValue": "SOAPAction",
      "rightValue": "urn:getQuote"
    },
    {
      "leftValue": "User-Agent",
      "rightValue": "AdroitLogic (http://adroitlogic.org) - SOA Toolbox/1.5.0"
    },
    {
      "leftValue": "Connection",
      "rightValue": "close"
    },
    {
      "leftValue": "Host",
      "rightValue": "localhost:8280"
    },
    {
      "leftValue": "Content-Length",
      "rightValue": "294"
    },
    {
      "leftValue": "Content-Type",
      "rightValue": "text/xml; charset=UTF-8"
    }
  ]
}

Erroneous Response

{
  "msg": "Message tracer is unavailable"
}

With 501 HTTP response code, when message tracing is disabled in the UltraESB server

{
  "msg": "Failed to find the required message details"
}

With 404 HTTP response code, when message view is not found

Snapshot Service

  • Start Snapshot

Description

This endpoint can be used to start taking the snapshot of the current status of the UltraESB

HTTP Method

POST

Resource Path

/management/snapshot

Success Response

{
  "msg": "Snapshot creation started successfully"
}

Erroneous Response

{
  "msg": "Failed to start async task bundle execution"
}

With 500 HTTP response code, when fails to start the snapshot service

  • Get status of Snapshot progress

Description

This endpoint can be used to start taking the snapshot of the current status of the UltraESB

HTTP Method

GET

Resource Path

/management/snapshot/status

Success Response

{
  "msg": "SUCCESS"
}
  • Download Snapshot

Description

This endpoint can be used to start taking the snapshot of the current status of the UltraESB

HTTP Method

GET

Resource Path

/management/snapshot

Success Response

Produce a ZIP file containing the configuration directory, logs directory and the project directory of the UltraESB

Erroneous Response

{
  "msg": "Snapshot creation is still pending"
}

With 400 HTTP response code, when snapshot is still pending

{
  "msg": "Snapshot creation is still in progress"
}

With 400 HTTP response code, when snapshot is still in progress

In this topic
In this topic
Contact Us