1 Resources

This section describes the Oracle WebLogic Server RESTful management resources that were implemented in Oracle WebLogic Server version 12.1.3 and available in version 12.2.1.

12.1.3 RESTful management resources provide a comprehensive public interface for configuring, deploying, monitoring, and administering the Oracle WebLogic Server platform in all supported environments.

The 12.1.3 management resources are enabled in a domain by default and are only available on the administration server. Management resources only use the domain-scoped default edit session and are only available over non-partitioned URLs.

Getting Started

To use RESTful management services in a WebLogic Server domain, your WebLogic Administrator must enable them using the WebLogic Server Administration Console. For more information, see "Enable RESTful Management Services" in the Administration Console Online Help. Alternatively, using WebLogic Scripting Tool (WLST), set the RestfulManagementService Enabled property on the DomainMBean.

REST URL Format to Manage WebLogic Server

The format of the WebLogic Server resource URL is:

http(s)://host:port/management/wls/{version}/path

where:

host—the host where WebLogic Server is running

port—the HTTP or HTTPS port

{version}—the version of a REST resource. See "The {version} Specifier in Resource URLs".

path—the relative path that identifies a resource. For example, the path to a server instance would be: servers/id/myserver.

The {version} Specifier in Resource URLs

The {version} specifier in resource URLs implicitly (/latest) or explicitly (/12.1.3.0) denotes the version of a REST resource. In future WLS releases, you can specify /latest to use the current version of a REST resource or a version number to specify a previous version.

As a best practice, if you are using a browser or a reflexive client that follows links in the resources for navigation and can react to evolving resources, then use /latest. If you are writing code that would break as a resource evolves, then specify an explicit version.

Supported Content Types in REST Resources

The WebLogic Server RESTful Management Services support the following representation formats:

  • The data format that can you get back from a resource (for example, through the Accept header) – only JSON.

  • The data format that can you send in to a resource (for example, through the Content-Type header) – most support only JSON, however, some also support multi-part forms (for example, the file upload versions of deploying applications and libraries).

Using REST Resource Methods to Manage WebLogic Server

The WebLogic Server REST interfaces support methods for accessing objects in the configuration and monitoring object trees.

Table 1-1 shows the REST methods for administering monitoring and configuration data and the tasks that you can perform with each method.

Table 1-1 REST Resource Methods for Administering Configuration Data

Task REST Method

Determine the methods and method parameters that an object in the tree supports.

OPTIONS

Retrieve data for an object in the tree.

GET

Add an object to the tree.

POST

Update an object in the tree.

POST

Delete an object from the tree.

DELETE


Use the following procedures with WebLogic Server REST resources.

Creating

To create a new entity:

  1. Invoke OPTIONS to get a template object containing default values for the new entity.

  2. Change the values of any properties you want to customize on the returned object.

  3. POST the modified object to create the new entity.

Editing

To change some properties of an entity:

  1. Invoke GET on the entity's URL to get back an object containing the entity's current values.

  2. Change the values of the properties you want to modify on the returned object.

  3. POST the modified object back to the entity's URL.

Asynchronous Operations

For long running operations, specify the __detached=true query parameter (asynchronous invocation). The method runs in detached (background) mode and returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Filtering Results

Specify _includeFields and _excludeFields query parameters to constrain the fields included in a response. Filtering collection results to only the information that you require may yield faster response times when interacting with large data sets. Include and exclude are mutually exclusive, and if neither is specified, all available information is included.

Uploading Files

Use multi-part form data to pass a stream of bytes from the client to the WLS resource. For example, when the files you want to deploy (or redeploy) are not on the Administration Server file system. Use the POST accepting "multipart/form-data" method to upload the files from the client's file system to the Administration Server and then deploy (or redeploy) them.

POST accepting "multipart/form-data" is used only when uploading deployments from the client to the server. When supported, the resource will document two different forms of POST: POST accepting "application/jason" and POST accepting "multipart/form-data".

Navigating the REST Resource Tree Dynamically

The WebLogic Server REST interfaces support navigating the resource tree dynamically. To provide this support, the GET method on each REST resource returns a links element containing a list of URIs to the resources above and below it in the resource tree. Thus, you can navigate the resource tree using this technique:

  1. Make an HTTP GET request on a known REST resource, specifying a literal, hard-coded value as the URI.

  2. Parse the links list in the response to identify the appropriate parent or child resource. See "Parsing the links List" for more information.

  3. If you are done navigating and the REST resource you identified in Step 2 is the one on which you want to perform operations, use the appropriate HTTP requests to perform the operations, using the URI value you retrieved from the links list.

    If you need to continue navigating the resource tree, make an HTTP GET request on the REST resource you identified in Step 2, using the URI value you retrieved from the links list. Then, return to Step 2.

Using dynamic navigation of the resource tree can provide a variety of benefits, including:

  • More maintainable source code, because it does not include a literal, hard-coded URI value for each HTTP request.

  • The ability to perform actions across collections of objects, such as servers and applications, whose names are not known during code development.

Parsing the links List

The links element returned as part of the response to an HTTP GET request is a list of subordinate elements, each describing a single resource that is directly related to the current resource. Each of these subordinate elements contains the following properties:

rel

A string value indicating how the linked resource is related to the current resource. The string values are as follows:

parent

The linked resource is the parent of the current resource.

action

The linked resource performs an action on the object represented by the current resource. The value of the title property indicates the type of action the linked resource performs.

simple-name

A string without dots (.). The linked resource has a relationship to the current resource that is specific to the current resource. For example, the GET method on the /management/wls/{version} resource returns link list elements with simple-name values corresponding to the types of objects in a domain:

  • changemanger

  • datasources

  • deployments

  • jobs

  • servers

  • targets

dotted-name

A string containing one dot(.). The linked resource is a member of a collection of resources subordinate to the current resource, and another element in the GET response provides more information about the linked resource. An example of such a collection is the individual servers under the /management/wls/{version}/servers resource.

The first part of the dotted-name value is the name of a list element in the GET response that contains more information, and the second part is the name of the property in that list element's subelement that identifies each subelement:

list-element-name.subelement-property-name

To discover more information about the linked resource, use its dotted-name value in conjunction with its title value:

  1. Parse the dotted-name value into its two parts: list-element-name and subelement-property-name.

  2. In the GET response, look for a list element named list-element-name. In this list, look for a subelement whose subelement-property-name property value matches the linked resource's title property value.

For example, given the dotted-name value items.name and the title value myserver, you would look in the GET response for the subelement of the items list whose name property value is the string myserver.

uri

A string value containing the URI to use in an HTTP request to access the linked resource.

title

(Optional) A string value providing additional information when the rel property value is action or dotted-name:

  • When rel property value is action, the title property value describes the kind of action the linked resource performs.

  • When the rel property value is dotted-name, the title property value is the value to match in the subelement property of the list element specified by the dotted-name value.

Standard HTTP Status Codes

The HTTP methods used to manipulate the resources described in this section all return one of the following HTTP status codes:

200 OK

The request was successfully completed. A 200 is returned for successful GET or OPTIONS methods, or a POST method to modify a resource (versus create).

201 Created

The request has been fulfilled and resulted in a new resource being created. A Location header containing the canonical URI for the newly created resource will be returned.

A 201 is returned from a synchronous resource creation or an asynchronous resource creation that completed before the response was returned.

202 Accepted

The request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon, as it might be disallowed when processing actually takes place.

When specifying an asynchronous (__detached=true) resource creation, (such as when deploying an application) or update (such as when redeploying an application), a 202 is returned if the operation is still in progress. If __detached=false, a 202 might still be returned if the underlying operation does not finish in a reasonable amount of time.

The response contains a Location header of a job resource that the client should poll to find out when the job has finished. Also, it returns an entity that contains the current state of the job.

400 Bad Request

The request could not be processed because it contains missing or invalid information (such as a validation error on an input field, a missing required value, or such).

401 Unauthorized

The request is not authorized. The authentication credentials included with this request are missing or invalid.

403 Forbidden

Cannot authenticate the user. The user does not possess authorization to perform this request.

404 Not Found

The request specified a URI of a resource that does not exist.

405 Method Not Allowed

The HTTP verb specified in the request (DELETE, GET, HEAD, POST, PUT) is not supported for this request URI.

406 Not Acceptable

The resource identified by this request is not capable of generating a representation corresponding to one of the media types in the Accept header of the request. For example, the client's Accept header asks for XML but the resource can only return JSON.

415 Not Acceptable

The client's ContentType header is wrong (for example. the client tries to send in XML but the resource can only accept JSON).

500 Internal Server Error

The server encountered an unexpected condition which prevented it from fulfilling the request.

503 Service Unavailable

The server is currently unable to handle the request due to temporary overloading or maintenance of the server. The WLS REST web application is not currently running.

/management/wls

The wls resource contains information about the versions of the REST interface supported by the WLS domain.

For information about versions supported by the REST interface, see The {version} Specifier in Resource URLs

The resource supports the following methods:

GET

The GET method on this resource returns information about each supported version of this REST interface.

For information about versions supported by the REST interface, see The {version} Specifier in Resource URLs

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a list Version entities for the supported versions of this REST interface.

This method can return the following links:

  • uri=/management/wls/12.1.3.0 rel=current

  • uri=/management/wls/12.1.3.0 rel=items.version title=12.1.3.0

  • uri=/management/wls/latest rel=items.version title=latest

  • uri=/management/wls/{versions} rel=versions

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Determining Supported Versions

This example demonstrates how to obtain information about each supported version of the REST resources.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "items.version",
            "uri": "http:\/\/localhost:7001\/management\/wls\/12.1.3.0",
            "title": "12.1.3.0"
        },
        {
            "rel": "items.version",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest",
            "title": "latest"
        },
        {
            "rel": "current",
            "uri": "http:\/\/localhost:7001\/management\/wls\/12.1.3.0"
        }
    ],
    "items": [
        {
            "version": "12.1.3.0",
            "lifecycle": "active",
            "isLatest": true
        },
        {
            "version": "latest",
            "lifecycle": "active",
            "isLatest": true
        }
    ]
}

/management/wls/{version}

This resource contains overall information about the WLS domain.

The resource supports the following methods:

GET

The GET method on this resource returns overall information about this domain, for example, aggregated server runtime statistics.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a Wls entity.

This method can return the following links:

  • uri=/management/wls/{version}/changeManager rel=changeManager

  • uri=/management/wls/{version}/datasources rel=datasources

  • uri=/management/wls/{version}/deployments rel=deployments

  • uri=/management/wls/{version}/jobs rel=jobs

  • uri=/management/wls/{version}/servers rel=servers

  • uri=/management/wls/{version}/targets rel=targets

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Getting Information About a Domain

This example obtains the root WLS resource links and summary information for a domain.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest

Example Response

HTTP/1.1 200 OK
HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls"
        },
        {
            "rel": "jobs",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs"
        },
        {
            "rel": "servers",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers"
        },
        {
            "rel": "deployments",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments"
        },
        {
            "rel": "datasources",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources"
        },
        {
            "rel": "changeManager",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/changeManager"
        },
        {
            "rel": "targets",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/targets"
        }
    ],
    "item": {
        "name": "mydomain",
        "productionMode": false,
        "activeHttpSessionCount": 0,
        "activeThreadCount": 5,
        "configuredServerCount": 3,
        "activeServerCount": 1,
        "overallServiceHealth": {"state": "ok"}
    }
}

/management/wls/{version}/changeManager

The changeManager resource returns information about edit sessions. Use this resource to explicitly manage an edit session:

  • Use the changeManager to start an edit session.

  • Use other resources to make any number of configuration changes, such as configuring data sources and deploying applications.

  • Use the changeManager to either cancel all the changes in the edit session or activate them.

This strategy batches all the changes together which is typically most useful in a production environment when a number of configuration changes need to be made together before they are ready to be exposed to clients.

With implicit edit sessions, instead of using the changeManager, just use other resources to change the configuration (for example, create a data source). Each REST call to change the configuration will start its own edit session, make the change, and then activate the change. This is useful for small tweaks to the configuration as typically performed in development environments.

The resource supports the following methods:

GET

The GET method on this resource returns information about the current status of the edit session.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a ChangeManager entity.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing Change Management Information

This example uses the GET method to return change manager information.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/changeManager

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/changeManager\/startEdit",
            "title": "startEdit"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/changeManager\/cancelEdit",
            "title": "cancelEdit"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/changeManager\/activate",
            "title": "activate"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/changeManager\/safeResolve",
            "title": "safeResolve"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/changeManager\/forceResolve",
            "title": "forceResolve"
        }
    ],
    "item": {
        "mergeNeeded": false,
        "locked": false
    }
}

/management/wls/{version}/changeManager/activate

This resource activates the changes.

The resource supports the following methods:

POST

The POST method on this resource activates changes saved during the current editing session but not yet deployed.

Roles

Administrator

Response Body

A success response body includes status messages returned by this operation.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Activating Configuration Changes

This example uses the POST method to activate any outstanding changes in the current session.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/changeManager/activate

Example Response

HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "The changes are activated successfully.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/changeManager/cancelEdit

This resource cancels the current edit session.

The resource supports the following methods:

POST

The POST method on this resource cancels the current edit session, releases the edit lock, and discards saved or unsaved changes.

Roles

Administrator

Response Body

A success response body includes status messages returned by this operation.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Stopping an Edit Session

This example uses the POST method to cancel the current edit session.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/changeManager/cancelEdit

Example Response

HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Edit session has been cancelled successfully.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/changeManager/forceResolve

This resource forcibly resolves all changes between the default edit session and the global configuration.

The resource supports the following methods:

POST

The POST method on this resource forcibly resolves all changes between the default edit session and the global configuration.

Roles

Administrator

Response Body

A success response body includes status messages returned by this operation.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Forcibly Resolve Configuration Changes

This example uses the POST method to forcibly resolve all changes between the current edit session and the currently activated configuration.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/changeManager/forceResolve

Example Response

HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Successfully resolved the changes in default edit session with the global configuration.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/changeManager/safeResolve

This resource resolves non-conflicting changes between the default edit session and the global configuration.

The resource supports the following methods:

POST

The POST method on this resource resolves non-conflicting changes between the default edit session and the global configuration. It fails if there are any conflicting changes.

Roles

Administrator

Response Body

A success response body includes status messages returned by this operation.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Safely Resolve Configuration Changes

This example uses the POST method to safely resolve non-conflicting changes between the current edit session and the currently activated configuration.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/changeManager/safeResolve

Example Response

HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Successfully resolved the changes in default edit session with the global configuration.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/changeManager/startEdit

This resource starts a configuration edit session.

The resource supports the following methods:

POST

The POST method on this resource starts the edit session.

Roles

Administrator

Response Body

A success response body includes status messages returned by this operation.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Starting an Edit Session

This example uses the POST method to begin a new edit session.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/changeManager/startEdit

Example Response

HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Started edit session, please be sure to save and activate your changes once you are done.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/datasources

This resource manages the data sources that run in this WLS domain.

The resource supports the following methods:

GET

The GET method on this resource returns a listing of all the data sources in this WLS domain.

Roles

Administrator, Deployer, Operator, Monitor

Request Query Parameters

This method supports optional query parameters which can be used to constrain the fields included in the response. Constraining the fields to only the information that you require may yield faster response times when interacting with large data sets.

?_excludeFields=field1[,field2, ...]

(Optional) Specifies that these values are not required and may be omitted in a response.

?_includeFields=field1[,field2, ...]

(Optional) Specifies that these values are required and must be included in the response.

Include and exclude are mutually exclusive, and if neither is specified all available information is included.

Response Body

The response body returned includes a collection of DataSource entities. It also contains links to their corresponding resources.

This method can return the following links:

  • uri=/management/wls/{version}/datasources/drivers rel=drivers

  • uri=/management/wls/{version}/datasources/test rel=test

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing Data Sources

This example uses the GET method to display information about all configured data sources.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/datasources

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest"
        },
        {
            "rel": "vendors",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors"
        },
        {
            "rel": "test",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/test"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/id\/TestDataSource",
            "title": "TestDataSource"
        }
    ],
    "items": [{
        "name": "TestDataSource",
        "targets": [
            "myserver",
            "Cluster-0"
        ],
        "jdbcDataSourceParams": {
            "scope": "global",
            "dataSourceList": null,
            "globalTransactionsProtocol": "one phase commit",
            "rowPrefetchSize": 48,
            "streamChunkSize": 256,
            "algorithmType": "failover",
            "connectionPoolFailoverCallbackHandler": null,
            "failoverRequestIfBusy": false,
            "rowPrefetch": false,
            "jndiNames": [
                "jndiName1",
                "jndiName2"
            ],
            "keepConnAfterLocalTx": true,
            "keepConnAfterGlobalTx": false
        },
        "jdbcConnectionPoolParams": {
            "driverInterceptor": "",
            "connectionHarvestMaxCount": 1,
            "connectionHarvestTriggerCount": -1,
            "minCapacity": 1,
            "profileType": 0,
            "connectionLabelingCallback": "",
            "maxCapacity": 15,
            "highestNumWaiters": 2147483647,
            "loginDelaySeconds": 0,
            "secondsToTrustAnIdlePoolConnection": 10,
            "initialCapacity": 1,
            "shrinkFrequencySeconds": 900,
            "testFrequencySeconds": 120,
            "testTableName": "SQL SELECT 1 FROM SYS.SYSTABLES",
            "testConnectionsOnReserve": false,
            "connectionReserveTimeoutSeconds": 10,
            "connectionCreationRetryFrequencySeconds": 0,
            "inactiveConnectionTimeoutSeconds": 0,
            "statementCacheSize": 10,
            "statementCacheType": "least recently used",
            "statementTimeout": -1,
            "countOfTestFailuresTillFlush": 2,
            "countOfRefreshFailuresTillDisable": 2,
            "profileHarvestFrequencySeconds": 300,
            "initSql": "",
            "fatalErrorCodes": "",
            "removeInfectedConnections": true,
            "jdbcXaDebugLevel": 10,
            "ignoreInUseConnectionsEnabled": true,
            "credentialMappingEnabled": false,
            "pinnedToThread": false,
            "identityBasedConnectionPoolingEnabled": false,
            "wrapTypes": true,
            "wrapJdbc": true
        },
        "jdbcDriverParams": {
            "properties": [
                {
                    "name": "portNumber",
                    "value": "1527"
                },
                {
                    "name": "databaseName",
                    "value": "demo;create=true"
                },
                {
                    "name": "serverName",
                    "value": "localhost"
                }
            ],
            "driverName": "org.apache.derby.jdbc.ClientXADataSource",
            "systemProperties": [],
            "url": "jdbc:derby:\/\/localhost:1527\/demo",
            "useXaDataSourceInterface": true,
            "usePasswordIndirection": false
        },
        "aggregateMetrics": {
            "reserveRequestCount": 0,
            "failedReserveRequestCount": 0,
            "waitingForConnectionTotal": 0,
            "waitingForConnectionSuccessTotal": 0,
            "waitingForConnectionFailureTotal": 0,
            "currCapacityHighCount": 3,
            "state": "Running",
            "prepStmtCacheAccessCount": 0,
            "prepStmtCacheAddCount": 0,
            "prepStmtCacheDeleteCount": 0,
            "prepStmtCacheCurrentSize": 0,
            "prepStmtCacheHitCount": 0,
            "prepStmtCacheMissCount": 0,
            "currCapacity": 3,
            "numAvailable": 3,
            "highestNumAvailable": 3,
            "numUnavailable": 0,
            "highestNumUnavailable": 0,
            "leakedConnectionCount": 0,
            "failuresToReconnectCount": 0,
            "connectionDelayTime": 238,
            "activeConnectionsCurrentCount": 0,
            "waitingForConnectionCurrentCount": 0,
            "activeConnectionsHighCount": 0,
            "waitingForConnectionHighCount": 0,
            "waitSecondsHighCount": 0,
            "connectionsTotalCount": 3,
            "activeConnectionsAverageCount": 0
        },
        "dataSourceMetrics": [
            {
                "reserveRequestCount": 0,
                "failedReserveRequestCount": 0,
                "waitingForConnectionTotal": 0,
                "waitingForConnectionSuccessTotal": 0,
                "waitingForConnectionFailureTotal": 0,
                "currCapacityHighCount": 1,
                "state": "Running",
                "prepStmtCacheAccessCount": 0,
                "prepStmtCacheAddCount": 0,
                "prepStmtCacheDeleteCount": 0,
                "prepStmtCacheCurrentSize": 0,
                "prepStmtCacheHitCount": 0,
                "prepStmtCacheMissCount": 0,
                "currCapacity": 1,
                "numAvailable": 1,
                "highestNumAvailable": 1,
                "numUnavailable": 0,
                "highestNumUnavailable": 0,
                "leakedConnectionCount": 0,
                "failuresToReconnectCount": 0,
                "connectionDelayTime": 238,
                "activeConnectionsCurrentCount": 0,
                "waitingForConnectionCurrentCount": 0,
                "activeConnectionsHighCount": 0,
                "waitingForConnectionHighCount": 0,
                "waitSecondsHighCount": 0,
                "connectionsTotalCount": 1,
                "activeConnectionsAverageCount": 0,
                "serverName": "Cluster-0-Server-2"
            },
            {
                "reserveRequestCount": 0,
                "failedReserveRequestCount": 0,
                "waitingForConnectionTotal": 0,
                "waitingForConnectionSuccessTotal": 0,
                "waitingForConnectionFailureTotal": 0,
                "currCapacityHighCount": 1,
                "state": "Running",
                "prepStmtCacheAccessCount": 0,
                "prepStmtCacheAddCount": 0,
                "prepStmtCacheDeleteCount": 0,
                "prepStmtCacheCurrentSize": 0,
                "prepStmtCacheHitCount": 0,
                "prepStmtCacheMissCount": 0,
                "currCapacity": 1,
                "numAvailable": 1,
                "highestNumAvailable": 1,
                "numUnavailable": 0,
                "highestNumUnavailable": 0,
                "leakedConnectionCount": 0,
                "failuresToReconnectCount": 0,
                "connectionDelayTime": 238,
                "activeConnectionsCurrentCount": 0,
                "waitingForConnectionCurrentCount": 0,
                "activeConnectionsHighCount": 0,
                "waitingForConnectionHighCount": 0,
                "waitSecondsHighCount": 0,
                "connectionsTotalCount": 1,
                "activeConnectionsAverageCount": 0,
                "serverName": "Cluster-0-Server-1"
            },
            {
                "reserveRequestCount": 0,
                "failedReserveRequestCount": 0,
                "waitingForConnectionTotal": 0,
                "waitingForConnectionSuccessTotal": 0,
                "waitingForConnectionFailureTotal": 0,
                "currCapacityHighCount": 1,
                "state": "Running",
                "prepStmtCacheAccessCount": 0,
                "prepStmtCacheAddCount": 0,
                "prepStmtCacheDeleteCount": 0,
                "prepStmtCacheCurrentSize": 0,
                "prepStmtCacheHitCount": 0,
                "prepStmtCacheMissCount": 0,
                "currCapacity": 1,
                "numAvailable": 1,
                "highestNumAvailable": 1,
                "numUnavailable": 0,
                "highestNumUnavailable": 0,
                "leakedConnectionCount": 0,
                "failuresToReconnectCount": 0,
                "connectionDelayTime": 4,
                "activeConnectionsCurrentCount": 0,
                "waitingForConnectionCurrentCount": 0,
                "activeConnectionsHighCount": 0,
                "waitingForConnectionHighCount": 0,
                "waitSecondsHighCount": 0,
                "connectionsTotalCount": 1,
                "activeConnectionsAverageCount": 0,
                "serverName": "myserver"
            }
        ]
    }]
}

OPTIONS

The OPTIONS method on this resource returns a template entity that has been pre-populated with default values.

If you want to create a data source, call this method to get the template, fill in values, such as the driver class name and database URL, then use it in the POST method to create the data source.

Roles

Administrator

Response Body

The response body returned includes a DataSource template entity that can be customized and then used to create a new data source.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Getting a Template Data Source Entity

This example uses the OPTIONS method to obtain a template for a data source.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X OPTIONS http://localhost:7001/management/wls/latest/datasources

Example Response

HTTP/1.1 200 OK

Response Body:
{"item": {
    "name": "DataSource-0",
    "targets": [],
    "jdbcDataSourceParams": {
        "scope": "global",
        "dataSourceList": null,
        "globalTransactionsProtocol": "one phase commit",
        "rowPrefetchSize": 48,
        "streamChunkSize": 256,
        "algorithmType": "failover",
        "connectionPoolFailoverCallbackHandler": null,
        "failoverRequestIfBusy": false,
        "rowPrefetch": false,
        "jndiNames": [],
        "keepConnAfterLocalTx": true,
        "keepConnAfterGlobalTx": false
    },
    "jdbcConnectionPoolParams": {
        "driverInterceptor": "",
        "connectionHarvestMaxCount": 1,
        "connectionHarvestTriggerCount": -1,
        "minCapacity": 1,
        "profileType": 0,
        "connectionLabelingCallback": "",
        "maxCapacity": 15,
        "highestNumWaiters": 2147483647,
        "loginDelaySeconds": 0,
        "secondsToTrustAnIdlePoolConnection": 10,
        "initialCapacity": 1,
        "shrinkFrequencySeconds": 900,
        "testFrequencySeconds": 120,
        "testTableName": null,
        "testConnectionsOnReserve": false,
        "connectionReserveTimeoutSeconds": 10,
        "connectionCreationRetryFrequencySeconds": 0,
        "inactiveConnectionTimeoutSeconds": 0,
        "statementCacheSize": 10,
        "statementCacheType": "least recently used",
        "statementTimeout": -1,
        "countOfTestFailuresTillFlush": 2,
        "countOfRefreshFailuresTillDisable": 2,
        "profileHarvestFrequencySeconds": 300,
        "initSql": "",
        "fatalErrorCodes": "",
        "removeInfectedConnections": true,
        "jdbcXaDebugLevel": 10,
        "ignoreInUseConnectionsEnabled": true,
        "credentialMappingEnabled": false,
        "pinnedToThread": false,
        "identityBasedConnectionPoolingEnabled": false,
        "wrapTypes": true,
        "wrapJdbc": true
    },
    "jdbcDriverParams": {
        "properties": [],
        "password": null,
        "driverName": null,
        "systemProperties": [],
        "url": null,
        "useXaDataSourceInterface": true,
        "usePasswordIndirection": false
    },
    "aggregateMetrics": {
        "reserveRequestCount": 0,
        "failedReserveRequestCount": 0,
        "waitingForConnectionTotal": 0,
        "waitingForConnectionSuccessTotal": 0,
        "waitingForConnectionFailureTotal": 0,
        "currCapacityHighCount": 0,
        "state": null,
        "prepStmtCacheAccessCount": 0,
        "prepStmtCacheAddCount": 0,
        "prepStmtCacheDeleteCount": 0,
        "prepStmtCacheCurrentSize": 0,
        "prepStmtCacheHitCount": 0,
        "prepStmtCacheMissCount": 0,
        "currCapacity": 0,
        "numAvailable": 0,
        "highestNumAvailable": 0,
        "numUnavailable": 0,
        "highestNumUnavailable": 0,
        "leakedConnectionCount": 0,
        "failuresToReconnectCount": 0,
        "connectionDelayTime": 0,
        "activeConnectionsCurrentCount": 0,
        "waitingForConnectionCurrentCount": 0,
        "activeConnectionsHighCount": 0,
        "waitingForConnectionHighCount": 0,
        "waitSecondsHighCount": 0,
        "connectionsTotalCount": 0,
        "activeConnectionsAverageCount": 0,
        "serverName": null
    },
    "dataSourceMetrics": []
}}

POST

The POST method on this resource creates a new data source.

Roles

Administrator

Request Body

The request body must include a fully populated DataSource entity that describes the new data source. Read only parameter values are ignored.

Response Body

The response body contains a message that states that the data source was created.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Creating a Data Source

This example uses the POST method to create a new data source.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
    'name': 'TestDataSource',
    'targets': [ 'myserver', 'Cluster-0' ],
    'jdbcDriverParams': {
        'properties': [
             { name: 'portNumber', value: '1527' }, 
             { name: 'databaseName', value: 'demo;create=true' }, 
             { name: 'serverName', value: 'localhost' }
        ],
        'password': 'password1',
        'driverName': 'org.apache.derby.jdbc.ClientXADataSource',
        'url': 'jdbc:derby://localhost:1527/demo',
        'systemProperties': [],
        'usePasswordIndirection': false,
        'useXaDataSourceInterface': true
    },
    'jdbcDataSourceParams': {
        'scope': 'global',
        'algorithmType': 'failover',
        'connectionPoolFailoverCallbackHandler': null,
        'failoverRequestIfBusy': false,
        'dataSourceList': null,
        'globalTransactionsProtocol': 'one phase commit',
        'rowPrefetchSize': 48,
        'streamChunkSize': 256,
        'rowPrefetch': false,
        'keepConnAfterLocalTx': true,
        'keepConnAfterGlobalTx': false,
        'jndiNames': [ 'jndiName1', 'jndiName2' ]
    },
    'jdbcConnectionPoolParams': {
        'profileHarvestFrequencySeconds': 300,
        'driverInterceptor': '',
        'connectionHarvestMaxCount': 1,
        'connectionHarvestTriggerCount': -1,
        'minCapacity': 1,
        'profileType': 0,
        'connectionLabelingCallback': '',
        'maxCapacity': 15,
        'highestNumWaiters': 2147483647,
        'loginDelaySeconds': 0,
        'secondsToTrustAnIdlePoolConnection': 10,
        'initialCapacity': 1,
        'shrinkFrequencySeconds': 900,
        'testFrequencySeconds': 120,
        'testTableName': 'SQL SELECT 1 FROM SYS.SYSTABLES',
        'testConnectionsOnReserve': false,
        'connectionReserveTimeoutSeconds': 10,
        'connectionCreationRetryFrequencySeconds': 0,
        'inactiveConnectionTimeoutSeconds': 0,
        'statementCacheSize': 10,
        'statementCacheType': 'least recently used',
        'statementTimeout': -1,
        'countOfTestFailuresTillFlush': 2,
        'countOfRefreshFailuresTillDisable': 2,
        'fatalErrorCodes': '',
        'initSql': '',
        'ignoreInUseConnectionsEnabled': true,
        'removeInfectedConnections': true,
        'credentialMappingEnabled': false,
        'pinnedToThread': false,
        'identityBasedConnectionPoolingEnabled': false,
        'wrapTypes': true,
        'wrapJdbc': true,
        'jdbcXaDebugLevel': 10
    }
}" \
-X POST http://localhost:7001/management/wls/latest/datasources

Example Response

HTTP/1.1 201 Created

Location: http://localhost:7001/management/wls/latest/datasources/id/TestDataSource

Response Body:
{"messages": [{
    "message": "Successfully created 'TestDataSource'.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/datasources/id/{data-source-name}

This resource manages the data source identified by the resource URL.

The resource supports the following methods:

DELETE

The DELETE method deletes the data source identified by the resource URL.

Roles

Administrator

Response Body

The response body returned contains a message stating that the data source's configuration was deleted.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Deleting a Data Source

This example uses the DELETE method to remove a data source configuration.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X DELETE http://localhost:7001/management/wls/latest/datasources/id/TestDataSource

Example Response

HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Successfully deleted 'TestDataSource'.",
    "severity": "SUCCESS"
}]}

-----

GET

The GET method on this resource returns information about the data source identified by the resource URL.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a DataSource entity that contains information about the specified data source.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing a Data Source

This example uses the GET method to find information about a specific data source.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/datasources/id/TestDataSource

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/id\/TestDataSource\/start",
            "title": "start"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/id\/TestDataSource\/shutdown",
            "title": "shutdown"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/id\/TestDataSource\/test",
            "title": "test"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/id\/TestDataSource\/clearStatementCache",
            "title": "clearStatementCache"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/id\/TestDataSource\/reset",
            "title": "reset"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/id\/TestDataSource\/shrink",
            "title": "shrink"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/id\/TestDataSource\/suspend",
            "title": "suspend"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/id\/TestDataSource\/resume",
            "title": "resume"
        }
    ],
    "item": {
        "name": "TestDataSource",
        "targets": [
            "myserver",
            "Cluster-0"
        ],
        "jdbcDataSourceParams": {
            "scope": "global",
            "dataSourceList": null,
            "globalTransactionsProtocol": "one phase commit",
            "rowPrefetchSize": 96,
            "streamChunkSize": 256,
            "algorithmType": "failover",
            "connectionPoolFailoverCallbackHandler": null,
            "failoverRequestIfBusy": false,
            "rowPrefetch": true,
            "jndiNames": [
                "jndiName1",
                "jndiName2",
                "jndiName3"
            ],
            "keepConnAfterLocalTx": true,
            "keepConnAfterGlobalTx": false
        },
        "jdbcConnectionPoolParams": {
            "driverInterceptor": "",
            "connectionHarvestMaxCount": 1,
            "connectionHarvestTriggerCount": -1,
            "minCapacity": 1,
            "profileType": 0,
            "connectionLabelingCallback": "",
            "maxCapacity": 30,
            "highestNumWaiters": 2147483647,
            "loginDelaySeconds": 0,
            "secondsToTrustAnIdlePoolConnection": 10,
            "initialCapacity": 2,
            "shrinkFrequencySeconds": 900,
            "testFrequencySeconds": 120,
            "testTableName": "SQL SELECT 1 FROM SYS.SYSTABLES",
            "testConnectionsOnReserve": false,
            "connectionReserveTimeoutSeconds": 10,
            "connectionCreationRetryFrequencySeconds": 0,
            "inactiveConnectionTimeoutSeconds": 0,
            "statementCacheSize": 10,
            "statementCacheType": "least recently used",
            "statementTimeout": -1,
            "countOfTestFailuresTillFlush": 2,
            "countOfRefreshFailuresTillDisable": 2,
            "profileHarvestFrequencySeconds": 300,
            "initSql": "",
            "fatalErrorCodes": "",
            "removeInfectedConnections": true,
            "jdbcXaDebugLevel": 10,
            "ignoreInUseConnectionsEnabled": true,
            "credentialMappingEnabled": false,
            "pinnedToThread": false,
            "identityBasedConnectionPoolingEnabled": false,
            "wrapTypes": true,
            "wrapJdbc": true
        },
        "jdbcDriverParams": {
            "properties": [
                {
                    "name": "portNumber",
                    "value": "1527"
                },
                {
                    "name": "databaseName",
                    "value": "demo;create=true"
                },
                {
                    "name": "serverName",
                    "value": "localhost"
                }
            ],
            "driverName": "org.apache.derby.jdbc.ClientXADataSource",
            "systemProperties": [],
            "url": "jdbc:derby:\/\/localhost:1527\/demo",
            "useXaDataSourceInterface": true,
            "usePasswordIndirection": false
        },
        "aggregateMetrics": {
            "reserveRequestCount": 3,
            "failedReserveRequestCount": 0,
            "waitingForConnectionTotal": 0,
            "waitingForConnectionSuccessTotal": 0,
            "waitingForConnectionFailureTotal": 0,
            "currCapacityHighCount": 3,
            "state": "Shutdown",
            "prepStmtCacheAccessCount": 0,
            "prepStmtCacheAddCount": 0,
            "prepStmtCacheDeleteCount": 0,
            "prepStmtCacheCurrentSize": 0,
            "prepStmtCacheHitCount": 0,
            "prepStmtCacheMissCount": 0,
            "currCapacity": 0,
            "numAvailable": 0,
            "highestNumAvailable": 3,
            "numUnavailable": 0,
            "highestNumUnavailable": 3,
            "leakedConnectionCount": 0,
            "failuresToReconnectCount": 0,
            "connectionDelayTime": 238,
            "activeConnectionsCurrentCount": 0,
            "waitingForConnectionCurrentCount": 0,
            "activeConnectionsHighCount": 3,
            "waitingForConnectionHighCount": 0,
            "waitSecondsHighCount": 0,
            "connectionsTotalCount": 3,
            "activeConnectionsAverageCount": 0
        },
        "dataSourceMetrics": [
            {
                "reserveRequestCount": 1,
                "failedReserveRequestCount": 0,
                "waitingForConnectionTotal": 0,
                "waitingForConnectionSuccessTotal": 0,
                "waitingForConnectionFailureTotal": 0,
                "currCapacityHighCount": 1,
                "state": "Shutdown",
                "prepStmtCacheAccessCount": 0,
                "prepStmtCacheAddCount": 0,
                "prepStmtCacheDeleteCount": 0,
                "prepStmtCacheCurrentSize": 0,
                "prepStmtCacheHitCount": 0,
                "prepStmtCacheMissCount": 0,
                "currCapacity": 0,
                "numAvailable": 0,
                "highestNumAvailable": 1,
                "numUnavailable": 0,
                "highestNumUnavailable": 1,
                "leakedConnectionCount": 0,
                "failuresToReconnectCount": 0,
                "connectionDelayTime": 4,
                "activeConnectionsCurrentCount": 0,
                "waitingForConnectionCurrentCount": 0,
                "activeConnectionsHighCount": 1,
                "waitingForConnectionHighCount": 0,
                "waitSecondsHighCount": 0,
                "connectionsTotalCount": 1,
                "activeConnectionsAverageCount": 0,
                "serverName": "myserver"
            }
        ]
    }
}

-----

POST

The POST method on this resource reconfigures the data source identified by the resource URL.

Roles

Administrator

Request Body

The POST request body must include a fully populated DataSource entity that contains the desired data source configuration. Read only parameter values are ignored.

Response Body

The response body returned contains a message stating that the data source's configuration was updated.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Editing a Data Source

This example uses the POST method to update a data source configuration.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
    'name': 'TestDataSource',
    'targets': [ 'myserver', 'Cluster-0' ],
    'jdbcDriverParams': {
        'properties': [
             { name: 'portNumber', value: '1527' }, 
             { name: 'databaseName', value: 'demo;create=true' }, 
             { name: 'serverName', value: 'localhost' }
        ],
        'password': 'password1',
        'driverName': 'org.apache.derby.jdbc.ClientXADataSource',
        'url': 'jdbc:derby://localhost:1527/demo',
        'systemProperties': [],
        'usePasswordIndirection': false,
        'useXaDataSourceInterface': true
    },
    'jdbcDataSourceParams': {
        'scope': 'global',
        'algorithmType': 'failover',
        'connectionPoolFailoverCallbackHandler': null,
        'failoverRequestIfBusy': false,
        'dataSourceList': null,
        'globalTransactionsProtocol': 'one phase commit',
        'rowPrefetchSize': 96,
        'streamChunkSize': 256,
        'rowPrefetch': true,
        'keepConnAfterLocalTx': true,
        'keepConnAfterGlobalTx': false,
        'jndiNames': [ 'jndiName1', 'jndiName2', 'jndiName3' ]
    },
    'jdbcConnectionPoolParams': {
        'profileHarvestFrequencySeconds': 300,
        'driverInterceptor': '',
        'connectionHarvestMaxCount': 1,
        'connectionHarvestTriggerCount': -1,
        'minCapacity': 1,
        'profileType': 0,
        'connectionLabelingCallback': '',
        'maxCapacity': 30,
        'highestNumWaiters': 2147483647,
        'loginDelaySeconds': 0,
        'secondsToTrustAnIdlePoolConnection': 10,
        'initialCapacity': 2,
        'shrinkFrequencySeconds': 900,
        'testFrequencySeconds': 120,
        'testTableName': 'SQL SELECT 1 FROM SYS.SYSTABLES',
        'testConnectionsOnReserve': false,
        'connectionReserveTimeoutSeconds': 10,
        'connectionCreationRetryFrequencySeconds': 0,
        'inactiveConnectionTimeoutSeconds': 0,
        'statementCacheSize': 10,
        'statementCacheType': 'least recently used',
        'statementTimeout': -1,
        'countOfTestFailuresTillFlush': 2,
        'countOfRefreshFailuresTillDisable': 2,
        'fatalErrorCodes': '',
        'initSql': '',
        'ignoreInUseConnectionsEnabled': true,
        'removeInfectedConnections': true,
        'credentialMappingEnabled': false,
        'pinnedToThread': false,
        'identityBasedConnectionPoolingEnabled': false,
        'wrapTypes': true,
        'wrapJdbc': true,
        'jdbcXaDebugLevel': 10
    }
}" \
-X POST http://localhost:7001/management/wls/latest/datasources/id/TestDataSource

Example Response

HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Successfully updated 'TestDataSource'.",
    "severity": "SUCCESS"
}]}

-----

/management/wls/{version}/datasources/id/{data-source-name}/clearStatementCache

This resource clears the statement cache for each connection in the data source. If statement caching is enabled for a data source, WebLogic Server caches prepared and callable statements that are used in each connection in the data source. Each connection has its own cache, but the caches for each connection are configured and managed as a group. When you clear the statement cache for a data source, you clear the statement cache for all connections in the instance of the data source you select.

When you clear a statement that is currently in use by an application, WebLogic Server removes the statement from the cache, but does not close it. When you clear a statement that is not currently in use, WebLogic Server removes the statement from the cache and closes it.

The resource supports the following methods:

POST

The POST method on this resource clears the statement cache for each connection in the data source.

Roles

Administrator, Deployer, Operator

Response Body

A success response body includes status messages returned by this operation.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Clearing a Data Source's Statement Caches

This example uses the POST method to clear the statement caches for a specific data source.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/datasources/id/TestDataSource/clearStatementCache

Example Response

HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Data Source 'TestDataSource' was successfully cleared.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/datasources/id/{data-source-name}/reset

This resource resets a data source. When you reset the database connections in a JDBC data source, WebLogic Server closes and recreates all available database connections in the pool of connections in the data source.

The resource supports the following methods:

POST

The POST method on this resource resets the database connections for a data source.

Roles

Administrator, Deployer, Operator

Response Body

A success response body includes status messages returned by this operation.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Resetting a Data Source

This example uses the POST method to reset the database connections for a data source.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/datasources/id/TestDataSource/reset

Example Response

HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Data Source 'TestDataSource' was successfully reset.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/datasources/id/{data-source-name}/resume

This resource resumes a suspended data source. When you resume a data source, WebLogic Server marks the data source as enabled and allows applications to reserve connections from the data source. If you suspended the data source (not forcibly suspended), all connections are preserved exactly as they were before the data source was suspended. Clients that had reserved a connection before the data source was suspended can continue exactly where they left off.

NOTE: You cannot resume a data source that did not start correctly, for example, if the database server is unavailable.

The resource supports the following methods:

POST

The POST method on this resource resumes individual data sources that are in the Suspended state.

Roles

Administrator, Deployer, Operator

Response Body

A success response body includes status messages returned by this operation.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Resuming a Suspended Data Source

This example uses the POST method to resume a suspended data source.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/datasources/id/TestDataSource/resume

Example Response

HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Data Source 'TestDataSource' was successfully resumed.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/datasources/id/{data-source-name}/shrink

This resource shrinks the pool of database connections in individual instances of a data source.

The resource supports the following methods:

POST

The POST method on this resource shrinks the connection pool in a data source.

Roles

Administrator, Deployer, Operator

Response Body

A success response body includes status messages returned by this operation.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Shrinking The Connection Pool in a Data Source

This example uses the POST method to shrink the connection pool for a specific data source.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/datasources/id/TestDataSource/shrink

Example Response

HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Data Source 'TestDataSource' was successfully shrunken.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/datasources/id/{data-source-name}/shutdown

This resource shuts down a running data source. When you shut down a data source (not forcibly shut down), WebLogic Server closes database connections in the data source and shuts down the data source. If any connections from the data source are currently in use, the operation will fail.

The resource supports the following methods:

POST

The POST method on this resource shuts down a data source.

Roles

Administrator, Deployer, Operator

Response Body

A success response body includes status messages returned by this operation.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Shutting Down a Data Source

This example uses the POST method to shut down a data source.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/datasources/id/TestDataSource/shutdown

Example Response

HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Data Source 'TestDataSource' was successfully stopped.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/datasources/id/{data-source-name}/start

This resource starts a stopped data source. Starting a data source re-initializes the data source, creates connections, and transitions the data source to a health state of Running

The resource supports the following methods:

POST

The POST method on this resource starts a data source.

Roles

Administrator, Deployer, Operator

Response Body

A success response body includes status messages returned by this operation.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Starting a Data Source

This example uses the POST method to start a data source.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/datasources/id/TestDataSource/start

Example Response

HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Data Source 'TestDataSource' was successfully started.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/datasources/id/{data-source-name}/suspend

This resource suspends a data source. When you suspend a data source (not forcibly suspend), the data source is marked as disabled and applications cannot reserve connections from the pool. Applications that already have a reserved connection from the data source when it is suspended will get an exception when trying to reserve the connection. WebLogic Server preserves all connections in the data source exactly as they were before the data source was suspended.

The resource supports the following methods:

POST

The POST method on this resource suspends individual instances of a data source. When you suspend a data source, applications can no longer get a database connection from the data source.

Roles

Administrator, Deployer, Operator

Response Body

A success response body includes status messages returned by this operation.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Suspending a Data Source

This example uses the POST method to suspend a data source.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/datasources/id/TestDataSource/suspend

Example Response

HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Data Source 'TestDataSource' was successfully suspended.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/datasources/id/{data-source-name}/test

This resource tests a data source's database connection.

The resource supports the following methods:

POST

The POST method on this resource tests the data source's database connection.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

A success response body includes status messages returned by this operation.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Testing a Data Source

This example uses the POST method to test a data source's connectivity with a database.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/datasources/id/TestDataSource/test

Example Response

HHTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Data Source 'TestDataSource' is working correctly.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/datasources/test

This resource tests a database connection. It is typically used to verify the parameters that will be used to create a new data source.

The resource supports the following methods:

OPTIONS

The OPTIONS method on this resource returns a template entity that has been pre-populated with default values.

If you want to test a database connection, call this method to get the template, fill in values, such as the driver class name and connection URL, then use it in the POST method to test the connection.

Roles

Administrator, Deployer

Response Body

The response body returned includes a DatabaseDriverAttributes entity.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Getting a Template For Making a Database Connection For a Specific Driver

This example uses the OPTIONS method to obtain a template for a database connection.

Example Request

curl -v \
--user username:password \ 
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X OPTIONS http://localhost:7001/management/wls/latest/datasources/test 

Example Response

HTTP/1.1 200 OK

Response Body:
{"item": {
    "properties": null,
    "password": null,
    "url": null,
    "driverName": null
}} 

POST

The POST method on this resource converts a set of driver-specific attributes into a generic database connection entity, properly formatting the connection URL and list of properties.

NOTE: Since REST resources are not allowed to return cleartext passwords, the returned driver does not have its password filled in, even though one of the driver attributes holds the password. To compensate for this, the client should hold on to the database driver attributes entity, use its passwordAttributeName property to find the attribute that holds the password, then set the password property on the returned database connection entity to that password.

Roles

Administrator, Deployer

Request Body

The request body must include a fully populated DatabaseDriverAttributes entity. Read only parameter values are ignored.

Response Body

The response body returned includes a DatabaseConnection entity.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Testing a Database Connection For a Specific Database

This example uses the POST method to test a database connection configuration.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
    url: 'jdbc:derby://localhost:1527/demo',
    driverName: 'org.apache.derby.jdbc.ClientXADataSource',
    password: null,
    properties: [
        { name: 'portNumber', value: '1527' },
        { name: 'databaseName', value: 'demo;create=true' },
        { name: 'serverName', value: 'localhost' }
    ]
}" \
-X POST http://localhost:7001/management/wls/latest/datasources/test

Example Response

HTTP/1.1 200 OK

Response Body:
{"item": {
    "cause": [],
    "ok": true
}}

/management/wls/{version}/datasources/vendors

This resource lists the available database driver vendors in this WLS domain.

The resource supports the following methods:

GET

The GET method on this resource returns a listing of this domain's available database driver vendors.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a collection of DatabaseVendor entities. Note that their drivers property is not populated.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing Available Database Driver Vendors

This example uses the GET method to discover all available database driver vendors known to a domain.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/datasources/vendors

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Adabas%20for%20z%2FOS",
            "title": "Adabas for z\/OS"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/CICS%2FTS%20for%20z%2FOS",
            "title": "CICS\/TS for z\/OS"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Cache",
            "title": "Cache"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Cloudscape",
            "title": "Cloudscape"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/DB2",
            "title": "DB2"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/DB2%20for%20i5%2FOS",
            "title": "DB2 for i5\/OS"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/DB2%20for%20z%2FOS",
            "title": "DB2 for z\/OS"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Derby",
            "title": "Derby"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/EnterpriseDB",
            "title": "EnterpriseDB"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/FirstSQL",
            "title": "FirstSQL"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/IMS%2FDB%20for%20z%2FOS",
            "title": "IMS\/DB for z\/OS"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/IMS%2FTM%20for%20z%2FOS",
            "title": "IMS\/TM for z\/OS"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Informix",
            "title": "Informix"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Ingres",
            "title": "Ingres"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/MS%20SQL%20Server",
            "title": "MS SQL Server"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/MaxDB",
            "title": "MaxDB"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/MySQL",
            "title": "MySQL"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Oracle",
            "title": "Oracle"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Oracle%20BI%20Server",
            "title": "Oracle BI Server"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Oracle%20TimesTen%20Client%20Connection",
            "title": "Oracle TimesTen Client Connection"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Oracle%20TimesTen%20Direct%20Connection",
            "title": "Oracle TimesTen Direct Connection"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/PointBase",
            "title": "PointBase"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/PostgreSQL",
            "title": "PostgreSQL"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Progress",
            "title": "Progress"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Sybase",
            "title": "Sybase"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/VSAM%20for%20z%2FOS",
            "title": "VSAM for z\/OS"
        }
    ],
    "items": [
        {"name": "Adabas for z\/OS"},
        {"name": "CICS\/TS for z\/OS"},
        {"name": "Cache"},
        {"name": "Cloudscape"},
        {"name": "DB2"},
        {"name": "DB2 for i5\/OS"},
        {"name": "DB2 for z\/OS"},
        {"name": "Derby"},
        {"name": "EnterpriseDB"},
        {"name": "FirstSQL"},
        {"name": "IMS\/DB for z\/OS"},
        {"name": "IMS\/TM for z\/OS"},
        {"name": "Informix"},
        {"name": "Ingres"},
        {"name": "MS SQL Server"},
        {"name": "MaxDB"},
        {"name": "MySQL"},
        {"name": "Oracle"},
        {"name": "Oracle BI Server"},
        {"name": "Oracle TimesTen Client Connection"},
        {"name": "Oracle TimesTen Direct Connection"},
        {"name": "PointBase"},
        {"name": "PostgreSQL"},
        {"name": "Progress"},
        {"name": "Sybase"},
        {"name": "VSAM for z\/OS"}
    ]
}

/management/wls/{version}/datasources/vendors/id/{vendor}

This resource describes a database driver vendor.

The resource supports the following methods:

GET

The GET method on this resource returns a listing of this vendor's database drivers.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a DatabaseVendor entity.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing a Vendor's Database Drivers

This example uses the GET method to discover all of the supported drivers for a database vendor.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/datasources/vendors/id/Derby

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors"
        },
        {
            "rel": "item.drivers.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Derby\/drivers\/id\/Derby's%20Driver%20(Type%204%20XA)%20Versions:Any",
            "title": "Derby's Driver (Type 4 XA) Versions:Any"
        },
        {
            "rel": "item.drivers.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Derby\/drivers\/id\/Derby's%20Driver%20(Type%204%20embedded)%20Versions:Any",
            "title": "Derby's Driver (Type 4 embedded) Versions:Any"
        },
        {
            "rel": "item.drivers.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/datasources\/vendors\/id\/Derby\/drivers\/id\/Derby's%20Driver%20(Type%204)%20Versions:Any",
            "title": "Derby's Driver (Type 4) Versions:Any"
        }
    ],
    "item": {
        "name": "Derby",
        "drivers": [
            {
                "name": "Derby's Driver (Type 4 XA) Versions:Any",
                "type": "Type 4",
                "description": null,
                "driverClassName": "org.apache.derby.jdbc.ClientXADataSource",
                "forXa": true,
                "testSql": "SELECT 1 FROM SYS.SYSTABLES"
            },
            {
                "name": "Derby's Driver (Type 4 embedded) Versions:Any",
                "type": "Type 4 embedded",
                "description": null,
                "driverClassName": "org.apache.derby.jdbc.EmbeddedDriver",
                "forXa": false,
                "testSql": "SELECT 1 FROM SYS.SYSTABLES"
            },
            {
                "name": "Derby's Driver (Type 4) Versions:Any",
                "type": "Type 4",
                "description": null,
                "driverClassName": "org.apache.derby.jdbc.ClientDriver",
                "forXa": false,
                "testSql": "SELECT 1 FROM SYS.SYSTABLES"
            }
        ]
    }
}

/management/wls/{version}/datasources/vendors/id/{vendor}/drivers/id/{driver-class-name}

This resource helps construct a database connection that is appropriate to a specific database driver.

The resource supports the following methods:

OPTIONS

The OPTIONS method on this resource returns a template entity that has been pre-populated with default values.

If you want to construct an appropriate database connection for a specific kind of database driver, find the driver class name, then call this method to get a template that lists the attributes that must be filled in for this driver. After filling in the values, use it in the POST method which converts the completed template into a database connection.

Roles

Administrator, Deployer

Response Body

The response body returned includes a DatabaseDriverAttributes entity.

This method can return the following links:

  • uri=/management/wls/{version}/datasources/vendors/id/{vendor}/drivers/id/{driver-class-name}/connection rel=connection

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Getting a Template For Making a Database Connection For a Specific Driver

This example uses the OPTIONS method to obtain a template for a database driver configuration.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X OPTIONS http://localhost:7001/management/wls/latest/datasources/vendors/id/Derby/drivers/id/Derby's%20Driver%20(Type%204)%20Versions:Any

Example Response

HTTP/1.1 200 OK

Response Body:
{"item": {
    "attributes": [
        {
            "name": "DbmsHost",
            "value": null,
            "defaultValue": null,
            "description": null,
            "inUrl": true,
            "required": true
        },
        {
            "name": "DbmsPort",
            "value": "1527",
            "defaultValue": "1527",
            "description": null,
            "inUrl": true,
            "required": true
        },
        {
            "name": "DbmsName",
            "value": null,
            "defaultValue": null,
            "description": null,
            "inUrl": true,
            "required": true
        },
        {
            "name": "DbmsUsername",
            "value": null,
            "defaultValue": null,
            "description": null,
            "inUrl": false,
            "required": true
        },
        {
            "name": "DbmsPassword",
            "value": null,
            "defaultValue": null,
            "description": null,
            "inUrl": false,
            "required": true
        }
    ],
    "passwordAttributeName": "DbmsPassword"
}}

POST

The POST method on this resource converts a set of driver-specific attributes into a generic database connection entity, properly formatting the connection URL and list of properties.

NOTE: Since REST resources are not allowed to return cleartext passwords, the returned driver does not have its password filled in, even though one of the driver attributes holds the password. To compensate for this, the client should hold on to the database driver attributes entity, use its passwordAttributeName property to find the attribute that holds the password, then set the password property on the returned database connection entity to that password.

Roles

Administrator, Deployer

Request Body

The request body must include a fully populated DatabaseDriverAttributes entity. Read only parameter values are ignored.

Response Body

The response body returned includes a DatabaseConnection entity.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Creating a Database Connection For a Specific Database

This example uses the POST method to construct a database connection configuration.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
    attributes: [
        { name: 'DbmsHost', value: 'localhost' },
        { name: 'DbmsPort', value: '1527' },
        { name: 'DbmsName', value: 'db1' },
        { name: 'DbmsUsername', value: 'u1' },
        { name: 'DbmsPassword', value: 'p1' }
    ]
}" \
-X POST http://localhost:7001/management/wls/latest/datasources/vendors/id/Derby/drivers/id/Derby's%20Driver%20(Type%204)%20Versions:Any

Example Response

HTTP/1.1 200 OK

Response Body:
{"item": {
    "properties": [
        {
            "name": "user",
            "value": "u1"
        },
        {
            "name": "portNumber",
            "value": "1527"
        },
        {
            "name": "databaseName",
            "value": "db1;create=true"
        },
        {
            "name": "serverName",
            "value": "localhost"
        }
    ],
    "driverName": "org.apache.derby.jdbc.ClientDriver",
    "url": "jdbc:derby:\/\/localhost:1527\/db1;ServerName=localhost;databaseName=db1"
}}

/management/wls/{version}/deployments

This resource lists the deployments that run in this WLS domain.

The resource supports the following methods:

GET

The GET method on this resource returns a listing of all the deployments in this WLS domain.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a collection of Deployment entities. It also contains links to their corresponding resources.

This method can return the following links:

  • uri=/management/wls/{version}/deployments/application rel=application

  • uri=/management/wls/{version}/deployments/inspect rel=inspect

  • uri=/management/wls/{version}/deployments/library rel=library

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing Deployments

This example uses the GET method to display all deployments in a domain.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/deployments

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest"
        },
        {
            "rel": "inspect",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/inspect"
        },
        {
            "rel": "application",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/application"
        },
        {
            "rel": "library",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/library"
        },
        {
            "rel": "application",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/application\/id\/BasicApp",
            "title": "BasicApp"
        },
        {
            "rel": "library",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/library\/id\/airline",
            "title": "airline"
        }
    ],
    "items": [
        {
            "name": "BasicApp",
            "state": "active",
            "type": "application",
            "targets": ["myserver"],
            "displayName": "BasicApp",
            "deploymentPath": "\/deployments\/BasicApp\/app\/BasicApp.ear"
        },
        {
            "name": "airline",
            "state": "active",
            "type": "library",
            "targets": [
                "myserver",
                "Cluster-0"
            ],
            "displayName": "airline",
            "deploymentPath": "\/deployments\/airline.war"
        }
    ]
}

/management/wls/{version}/deployments/application

This resource manages the applications that are deployed in this WLS domain.

The resource supports the following methods:

GET

The GET method on this resource returns a listing of all the applications in this WLS domain.

Roles

Administrator, Deployer, Operator, Monitor

Request Query Parameters

This method supports optional query parameters which can be used to constrain the fields included in the response. Constraining the fields to only the information that you require may yield faster response times when interacting with large data sets.

?_excludeFields=field1[,field2, ...]

(optional) Specifies that these values are not required and may be omitted in a response.

?_includeFields=field1[,field2, ...]

(optional) Specifies that these values are required and must be included in the response.

Include and exclude are mutually exclusive, and if neither is specified all available information is included.

Response Body

The response body returned includes a collection of Application entities. It also contains links to their corresponding resources.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing Applications

This example uses the GET method to list all the applications in this WLS domain.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/deployments/application

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/application\/id\/fairShare",
            "title": "fairShare"
        }
    ],
    "items": [{
        "name": "fairShare",
        "state": "active",
        "type": "application",
        "targets": [
            "myserver",
            "Cluster-0"
        ],
        "servlets": [
            {
                "servletName": "SimpleSlowServlet",
                "contextPath": "\/fairShare",
                "aggregateMetrics": {
                    "executionTimeTotal": 0,
                    "invocationTotalCount": 0,
                    "reloadTotalCount": 0,
                    "executionTimeHigh": 0,
                    "executionTimeLow": 0
                },
                "servletMetrics": [
                    {
                        "serverName": "myserver",
                        "executionTimeTotal": 0,
                        "invocationTotalCount": 0,
                        "reloadTotalCount": 0,
                        "executionTimeHigh": 0,
                        "executionTimeLow": 0
                    }
                ]
            },
            {
                "servletName": "SimpleFastServlet",
                "contextPath": "\/fairShare",
                "aggregateMetrics": {
                    "executionTimeTotal": 0,
                    "invocationTotalCount": 0,
                    "reloadTotalCount": 0,
                    "executionTimeHigh": 0,
                    "executionTimeLow": 0
                },
                "servletMetrics": [
                    {
                        "serverName": "myserver",
                        "executionTimeTotal": 0,
                        "invocationTotalCount": 0,
                        "reloadTotalCount": 0,
                        "executionTimeHigh": 0,
                        "executionTimeLow": 0
                    }
                ]
            },
            {
                "servletName": "JspServlet",
                "contextPath": "\/fairShare",
                "aggregateMetrics": {
                    "executionTimeTotal": 0,
                    "invocationTotalCount": 0,
                    "reloadTotalCount": 0,
                    "executionTimeHigh": 0,
                    "executionTimeLow": 0
                },
                "servletMetrics": [
                    {
                        "serverName": "myserver",
                        "executionTimeTotal": 0,
                        "invocationTotalCount": 0,
                        "reloadTotalCount": 0,
                        "executionTimeHigh": 0,
                        "executionTimeLow": 0
                    }
                ]
            },
            {
                "servletName": "FileServlet",
                "contextPath": "\/fairShare",
                "aggregateMetrics": {
                    "executionTimeTotal": 0,
                    "invocationTotalCount": 0,
                    "reloadTotalCount": 0,
                    "executionTimeHigh": 0,
                    "executionTimeLow": 0
                },
                "servletMetrics": [
                    {
                        "serverName": "myserver",
                        "executionTimeTotal": 0,
                        "invocationTotalCount": 0,
                        "reloadTotalCount": 0,
                        "executionTimeHigh": 0,
                        "executionTimeLow": 0
                    }
                ]
            }
        ],
        "displayName": "fairShare",
        "urls": [
            "http:\/\/localhost:7001\/fairShare"
        ],
        "planPath": null,
        "applicationType": "war",
        "openSessionsCurrentCount": 0,
        "sessionsOpenedTotalCount": 0,
        "health": {"state": "ok"},
        "deploymentPath": "\/deployments\/fairShare.war",
        "ejbs": []
    }]
}

OPTIONS

The OPTIONS method on this resource returns a template entity that has been pre-populated with default values.

If you want to deploy an application, call this method to get the template, fill in values, such as the path to the application, then use it in the POST method to deploy the application.

Roles

Administrator

Response Body

The response body returned includes an Application template entity that can be customized and then used to deploy the application.

Response Codes

This method returns one of the Standard HTTP Status Codes

POST

The resource supports the following methods:

POST accepting "application/json"

This POST method deploys a new application when the files you want to deploy are already on the Administration Server file system.

Roles

Administrator

Request Query Parameters

This resource launches a job to deploy the application.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Request Body

The request body must include a fully populated Application entity that describes the new application. Read only parameter values are ignored.

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a DeploymentJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 201 Created status code and a Location header with a link to the new application resource. If the job timed out, the method returns a 202 Accepted status code and a Location header with a link to the expected new application resource.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code, a link to the job resource, and a Location header with a link to the expected new application resource. In this case, the response does not include a DeploymentJob entity.

Example

Example 1   Deploying an Application

This example uses the POST method to deploy a new application.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
    name: 'BasicApp',
    deploymentPath: '/deployments/BasicApp/app/BasicApp.ear',
    targets: [ 'myserver' ]
}" \
-X POST http://localhost:7001/management/wls/latest/deployments/application

Example Response

HTTP/1.1 201 Created

Location: http://localhost:7001/management/wls/latest/deployments/application/id/BasicApp

Response Body:
{
    "messages": [{
        "message": "Deployed the application 'BasicApp'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/0"
    }],
    "item": {
        "operation": "deploy",
        "status": "completed",
        "beginTime": 1390587114114,
        "endTime": 1390587115796,
        "name": "ADTR-0",
        "id": "0",
        "type": "deployment",
        "targets": [{
            "errors": [],
            "status": "completed",
            "name": "myserver",
            "type": "server"
        }],
        "deploymentName": "BasicApp",
        "description": "[Deployer:149026]deploy application BasicApp on myserver."
    }
}
Example 2   Deploying an Application Asynchronously

This example uses the POST method to deploy a new application asynchronously.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
    name: 'fairShare',
    deploymentPath: '/deployments/fairShare.war'
}" \
-X POST http://localhost:7001/management/wls/latest/deployments/application?__detached=true

Example Response

 HTTP/1.1 202 Accepted

Location: http://localhost:7001/management/wls/latest/deployments/application/id/fairShare

Response Body:
{
    "messages": [{
        "message": "Deploying the application 'fairShare'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/31"
    }]
}

POST accepting "multipart/form-data"

This POST method deploys a new application when the files you want to deploy are not on the Administration Server file system. It uploads the files to deploy from the client's file system to the Administration Server file system and then deploys them.

Note: When using a multipart form to create, you need to:

  • Specify the file to deploy via the deployment form element.

  • Specify the plan to deploy via the plan form element.

  • Send in the rest of the template via the model form element.

Roles

Administrator

Request Query Parameters

This resource launches a job to upload and deploy the application.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Request Body

The request body includes form data with a Content-Type header of multipart/form-data and the following form fields:

model

(Required) Specifies all the necessary information about the application to deploy except for the deployment archive and its corresponding deployment plan.

The Content-Disposition header must have its name parameter set to model

The Content-Type header must be application/json and the content must be a JSON object containing an Application entity, excluding the deployment and plan fields.

deployment

(Required) Specifies the deployment archive to be uploaded.

The Content-Disposition header must have its name parameter set to deployment and must have a filename parameter set to the file name you want the uploaded deployment archive to have on the server.

The Content-Type header must be application/octet-stream and the content must be the deployment archive data.

plan

(Optional) Specifies the deployment plan to be uploaded.

The Content-Disposition header must have its name parameter set to plan and must have a filename parameter set to the file name you want the uploaded deployment plan to have on the server.

The Content-Type header must be application/octet-stream and the content must be the deployment plan data.

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a DeploymentJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 201 Created status code and a Location header with a link to the new library resource. If the job timed out, the method returns a 202 Accepted status code and a Location header with a link to the expected new library resource.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code, a link to the job resource, and a Location header with a link to the expected new library resource. In this case, the response does not include a DeploymentJob entity.

Example

Example 1   Uploading and Deploying an Application

This example uses the POST method to upload a deployment archive and deploy it as a new application.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:multipart/form-data \
-F "model={
    name: 'myapp',
    targets: [ 'myserver', 'Cluster-0' ]
}" \
-F "deployment=@/deployments/MyApp/app/MyApp.ear" \
-X POST http://localhost:7001/management/wls/latest/deployments/application

Example Response

HTTP/1.1 100 Continue
 HTTP/1.1 201 Created

Location: http://localhost:7001/management/wls/latest/deployments/application/id/myapp

Response Body:
{
    "messages": [{
        "message": "Deployed the application 'myapp'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/27"
    }],
    "item": {
        "operation": "deploy",
        "status": "completed",
        "beginTime": 1390587191114,
        "endTime": 1390587192047,
        "name": "ADTR-27",
        "id": "27",
        "type": "deployment",
        "targets": [
            {
                "errors": [],
                "status": "completed",
                "name": "Cluster-0",
                "type": "cluster"
            },
            {
                "errors": [],
                "status": "completed",
                "name": "myserver",
                "type": "server"
            }
        ],
        "deploymentName": "myapp",
        "description": "[Deployer:149026]deploy application myapp on Cluster-0,myserver."
    }
}

/management/wls/{version}/deployments/application/id/{application-name}

This resource manages an application.

The resource supports the following methods:

DELETE

The DELETE method undeploys the application identified by the resource URL.

Roles

Administrator

Request Query Parameters

This resource launches a job to undeploy the application.

_detached

(optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a DeploymentJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 200 OK status code. If the job timed out, the method returns a 202 Accepted status code.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code and a link to the job resource. In this case, the response does not include a DeploymentJob entity.

Example

Example 1   Undeploying an Application

This example uses the DELETE method to undeploy an application.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X DELETE http://localhost:7001/management/wls/latest/deployments/application/id/BasicApp

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "messages": [{
        "message": "Undeployed the application 'BasicApp'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/2"
    }],
    "item": {
        "operation": "remove",
        "status": "completed",
        "beginTime": 1390587119309,
        "endTime": 1390587119588,
        "name": "ADTR-2",
        "id": "2",
        "type": "deployment",
        "targets": [{
            "errors": [],
            "status": "completed",
            "name": "myserver",
            "type": "server"
        }],
        "deploymentName": "BasicApp",
        "description": "[Deployer:149026]remove application BasicApp on myserver."
    }
}
Example 2   Undeploying an Application Asynchronously

This example uses the DELETE method to undeploy an application asynchronously.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X DELETE http://localhost:7001/management/wls/latest/deployments/application/id/fairShare?__detached=true

Example Response

HTTP/1.1 202 Accepted

Response Body:
{
    "messages": [{
        "message": "Undeploying the application 'fairShare'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/35"
    }]
}

GET

The GET method on this resource returns information about the application identified by the resource URL.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes an Application entity that contains information about the specified application.

This method can return the following links:

  • uri=/management/wls/{version}/deployments/application/id/{application-name}/bindables rel=bindables

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing an Application

This example uses the GET method to display information about a specific application.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/deployments/application/id/fairShare

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/application"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/application\/id\/fairShare\/redeploy",
            "title": "redeploy"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/application\/id\/fairShare\/update",
            "title": "update"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/application\/id\/fairShare\/start",
            "title": "start"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/application\/id\/fairShare\/stop",
            "title": "stop"
        },
        {
            "rel": "bindables",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/application\/id\/fairShare\/bindables"
        }
    ],
    "item": {
        "name": "fairShare",
        "state": "active",
        "type": "application",
        "targets": [
            "myserver",
            "Cluster-0"
        ],
        "servlets": [
            {
                "servletName": "SimpleSlowServlet",
                "contextPath": "\/fairShare",
                "aggregateMetrics": {
                    "executionTimeTotal": 0,
                    "invocationTotalCount": 0,
                    "reloadTotalCount": 0,
                    "executionTimeHigh": 0,
                    "executionTimeLow": 0
                },
                "servletMetrics": [
                    {
                        "serverName": "myserver",
                        "executionTimeTotal": 0,
                        "invocationTotalCount": 0,
                        "reloadTotalCount": 0,
                        "executionTimeHigh": 0,
                        "executionTimeLow": 0
                    }
                ]
            },
            {
                "servletName": "SimpleFastServlet",
                "contextPath": "\/fairShare",
                "aggregateMetrics": {
                    "executionTimeTotal": 0,
                    "invocationTotalCount": 0,
                    "reloadTotalCount": 0,
                    "executionTimeHigh": 0,
                    "executionTimeLow": 0
                },
                "servletMetrics": [
                    {
                        "serverName": "myserver",
                        "executionTimeTotal": 0,
                        "invocationTotalCount": 0,
                        "reloadTotalCount": 0,
                        "executionTimeHigh": 0,
                        "executionTimeLow": 0
                    }
                ]
            },
            {
                "servletName": "JspServlet",
                "contextPath": "\/fairShare",
                "aggregateMetrics": {
                    "executionTimeTotal": 0,
                    "invocationTotalCount": 0,
                    "reloadTotalCount": 0,
                    "executionTimeHigh": 0,
                    "executionTimeLow": 0
                },
                "servletMetrics": [
                    {
                        "serverName": "myserver",
                        "executionTimeTotal": 0,
                        "invocationTotalCount": 0,
                        "reloadTotalCount": 0,
                        "executionTimeHigh": 0,
                        "executionTimeLow": 0
                    }
                ]
            },
            {
                "servletName": "FileServlet",
                "contextPath": "\/fairShare",
                "aggregateMetrics": {
                    "executionTimeTotal": 0,
                    "invocationTotalCount": 0,
                    "reloadTotalCount": 0,
                    "executionTimeHigh": 0,
                    "executionTimeLow": 0
                },
                "servletMetrics": [
                    {
                        "serverName": "myserver",
                        "executionTimeTotal": 0,
                        "invocationTotalCount": 0,
                        "reloadTotalCount": 0,
                        "executionTimeHigh": 0,
                        "executionTimeLow": 0
                    }
                ]
            }
        ],
        "displayName": "fairShare",
        "urls": [
            "http:\/\/localhost:7001\/fairShare"
        ],
        "planPath": null,
        "applicationType": "war",
        "openSessionsCurrentCount": 0,
        "sessionsOpenedTotalCount": 0,
        "health": {"state": "ok"},
        "deploymentPath": "\/deployments\/fairShare.war",
        "ejbs": []
    }
}

/management/wls/{version}/deployments/application/id/{application-name}/bindables

This resource manages the external resource references for an application.

The resource supports the following methods:

GET

The GET method on this resource returns a listing of the external resource references for this application.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes an ApplicationBindables entity that contains information about external resource references for the specified application.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing the Application Bindables

This example uses the GET request to display the bindables for an application.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/deployments/application/id/MyApp/bindables

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [{
        "rel": "parent",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/application\/id\/MyApp"
    }],
    "item": {
        "writeable": true,
        "bindables": [
            {
                "name": "JNDIName",
                "jndiName": "gddsBean1",
                "path": [
                    {
                        "name": "ApplicationDescriptor",
                        "type": "DescriptorMBean"
                    },
                    {
                        "name": "gddsBean2",
                        "type": "ResourceDescriptionBean"
                    }
                ]
            },
            {
                "name": "JNDIName",
                "jndiName": "gddsBean1",
                "path": [
                    {
                        "name": "ApplicationDescriptor",
                        "type": "DescriptorMBean"
                    },
                    {
                        "name": "gddsBean3",
                        "type": "ResourceEnvDescriptionBean"
                    }
                ]
            },
            {
                "name": "JNDIName",
                "type": "ejb",
                "jndiName": "gddsBean1",
                "path": [
                    {
                        "name": "ApplicationDescriptor",
                        "type": "DescriptorMBean"
                    },
                    {
                        "name": "gddsBean1",
                        "type": "EjbReferenceDescriptionBean"
                    }
                ]
            },
            {
                "name": "JNDIName",
                "jndiName": "gddsBean",
                "path": [
                    {
                        "name": "mywar.war",
                        "type": "AppDeploymentConfigurationModuleMBean"
                    },
                    {
                        "name": "WebAppDescriptor",
                        "type": "DescriptorMBean"
                    },
                    {
                        "name": "gddsBean2",
                        "type": "ResourceDescriptionBean"
                    }
                ]
            },
            {
                "name": "JNDIName",
                "jndiName": "gddsBean",
                "path": [
                    {
                        "name": "mywar.war",
                        "type": "AppDeploymentConfigurationModuleMBean"
                    },
                    {
                        "name": "WebAppDescriptor",
                        "type": "DescriptorMBean"
                    },
                    {
                        "name": "gddsBean3",
                        "type": "ResourceEnvDescriptionBean"
                    }
                ]
            },
            {
                "name": "JNDIName",
                "type": "ejb",
                "jndiName": "gddsBean",
                "path": [
                    {
                        "name": "mywar.war",
                        "type": "AppDeploymentConfigurationModuleMBean"
                    },
                    {
                        "name": "WebAppDescriptor",
                        "type": "DescriptorMBean"
                    },
                    {
                        "name": "gddsBean1",
                        "type": "EjbReferenceDescriptionBean"
                    }
                ]
            }
        ]
    }
}

POST

The POST method updates external resource references for the application. The application must already have a deployment plan before you can call this method.

Roles

Administrator, Deployer

Request Body

The request body must include a fully populated ApplicationBindables entity that describes the bindables for the application.

Response Body

The response body returned contains a message stating that the application bindables were updated.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Updating the Application Bindables

This example uses the POST method to update the bindables for an application.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
        'bindables': [
            {
                'jndiName': 'JNDINAME1',
                'name': 'JNDIName',
                'type': 'Ejb',
                'path': [
                    {
                        'name': 'ApplicationDescriptor',
                        'type': 'DescriptorMBean'
                    },
                    {
                        'name': 'gddsBean1',
                        'type': 'EjbReferenceDescriptionBean'
                    }
                ]
            },
            {
                'jndiName': 'JNDINAME2',
                'name': 'JNDIName',
                'type': 'JmsConnectionFactory',
                'path': [
                    {
                        'name': 'ApplicationDescriptor',
                        'type': 'DescriptorMBean'
                    },
                    {
                        'name': 'gddsBean2',
                        'type': 'ResourceDescriptionBean'
                    }
                ]
            },
            {
                'jndiName': 'JNDINAME3',
                'name': 'JNDIName',
                'type': 'Resource Adapter',
                'path': [
                    {
                        'name': 'ApplicationDescriptor',
                        'type': 'DescriptorMBean'
                    },
                    {
                        'name': 'gddsBean3',
                        'type': 'ResourceEnvDescriptionBean'
                    }
                ]
            },
            {
                'jndiName': 'JNDINAME4',
                'name': 'JNDIName',
                'type': 'JmsConnectionFactory',
                'path': [
                    {
                        'name': 'mywar.war',
                        'type': 'AppDeploymentConfigurationModuleMBean'
                    },
                    {
                        'name': 'WebAppDescriptor',
                        'type': 'DescriptorMBean'
                    },
                    {
                        'type': 'WeblogicWebAppBean'
                    },
                    {
                        'name': 'gddsBean2',
                        'type': 'ResourceDescriptionBean'
                    }
                ]
            },
            {
                'jndiName': 'JNDINAME5',
                'name': 'JNDIName',
                'type': 'Resource Adapter',
                'path': [
                    {
                        'name': 'mywar.war',
                        'type': 'AppDeploymentConfigurationModuleMBean'
                    },
                    {
                        'name': 'WebAppDescriptor',
                        'type': 'DescriptorMBean'
                    },
                    {
                        'type': 'WeblogicWebAppBean'
                    },
                    {
                        'name': 'gddsBean3',
                        'type': 'ResourceEnvDescriptionBean'
                    }
                ]
            },
            {
                'jndiName': 'JNDINAME6',
                'name': 'JNDIName',
                'type': 'Ejb',
                'path': [
                    {
                        'name': 'mywar.war',
                        'type': 'AppDeploymentConfigurationModuleMBean'
                    },
                    {
                        'name': 'WebAppDescriptor',
                        'type': 'DescriptorMBean'
                    },
                    {
                        'type': 'WeblogicWebAppBean'
                    },
                    {
                        'name': 'gddsBean1',
                        'type': 'EjbReferenceDescriptionBean'
                    }
                ]
            }
        ]
}" \
-X POST http://localhost:7001/management/wls/latest/deployments/application/id/MyApp/bindables

Example Response

HTTP/1.1 100 Continue
 HTTP/1.1 200 OK

Response Body:
{"messages": [{
    "message": "Successfully updated 'MyApp'.",
    "severity": "SUCCESS"
}]}

/management/wls/{version}/deployments/application/id/{application-name}/redeploy

This resource redeploys an application.

The resource supports the following methods:

POST

The resource supports the following methods:

POST accepting

This POST method redeploys the application identified by the resource URL. Use this method when the file to redeploy is already on the Administration Server file system. For example, you've physically replaced the file that the deployment refers to, and you want the deployment to start using the new file.

You should invoke this method after you have updated the underlying deployment archive or exploded directory.

Roles

Administrator, Deployer

Request Query Parameters

This resource launches a job to redeploy the application.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a DeploymentJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 200 OK status code. If the job timed out, the method returns a 202 Accepted status code.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code and a link to the job resource. In this case, the response does not include a DeploymentJob entity.

Example

Example 1   Redeploying an Application

This example uses the POST method to redeploy the specified application.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/deployments/application/id/fairShare/redeploy

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "messages": [{
        "message": "Redeployed the application 'fairShare'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/25"
    }],
    "item": {
        "operation": "redeploy",
        "status": "completed",
        "beginTime": 1390587186018,
        "endTime": 1390587186120,
        "name": "ADTR-25",
        "id": "25",
        "type": "deployment",
        "targets": [
            {
                "errors": [],
                "status": "completed",
                "name": "Cluster-0",
                "type": "cluster"
            },
            {
                "errors": [],
                "status": "completed",
                "name": "myserver",
                "type": "server"
            }
        ],
        "deploymentName": "fairShare",
        "description": "[Deployer:149026]redeploy application fairShare on Cluster-0,myserver."
    }
}
Example 2   Redeploying an Application Asynchronously

This example uses the POST method to redeploy the specified application asynchronously.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/deployments/application/id/fairShare/redeploy?__detached=true

Example Response

HTTP/1.1 202 Accepted

Response Body:
{
    "messages": [{
        "message": "Redeploying the application 'fairShare'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/34"
    }]
}

POST accepting "multipart/form-data"

This POST method uploads and redeploys the application. Use this method when the file to redeploy exists on the client's file system. It uploads the file to the Administration Server and then signals the deployment to start using it.

Roles

Administrator

Request Query Parameters

This resource launches a job to upload and redeploy the application.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Request Body

The request body includes form data with a Content-Type header of multipart/form-data and the following form fields:

deployment

(Required) Specifies the application to redeploy.

The Content-Disposition header must have its name parameter set to deployment and must have a filename parameter set to the file name you want the deployment archive to have on the server.

The Content-Type header must be application/octet-stream and the content must be the deployment archive data.

plan

(Optional) Specifies the new deployment plan for the application.

The Content-Disposition header must have its name parameter set to plan and must have a filename parameter set to the file name you want the deployment plan to have on the server.

The Content-Type header must be application/octet-stream and the content must be the deployment plan data.

archiveVersion

(Optional) Specifies the archive version, as a String.

The Content-Disposition header must have its name parameter set to archiveVersion

The Content-Type header must be text/plain

planVersion

(Optional) Specifies the plan version, as a String.

The Content-Disposition header must have its name parameter set to planVersion

The Content-Type header must be text/plain

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a DeploymentJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 200 OK status code. If the job timed out, the method returns a 202 Accepted status code.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code and a link to the job resource. In this case, the response does not include a DeploymentJob entity.

Example

Example 1   Uploading and Redeploying an Application

This example uses the POST method to upload an archive and redeploy it as an application.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:multipart/form-data \
-F "deployment=@/deployments/fairShare.war" \
-X POST http://localhost:7001/management/wls/latest/deployments/application/id/myapp/redeploy

Example Response

 HTTP/1.1 200 OK

Response Body:
{
    "messages": [{
        "message": "Redeployed the application 'myapp'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/29"
    }],
    "item": {
        "operation": "deploy",
        "status": "completed",
        "beginTime": 1390587195811,
        "endTime": 1390587196066,
        "name": "ADTR-29",
        "id": "29",
        "type": "deployment",
        "targets": [
            {
                "errors": [],
                "status": "completed",
                "name": "Cluster-0",
                "type": "cluster"
            },
            {
                "errors": [],
                "status": "completed",
                "name": "myserver",
                "type": "server"
            }
        ],
        "deploymentName": "myapp",
        "description": "[Deployer:149026]deploy application myapp on Cluster-0,myserver."
    }
}
Example 2   Uploading and Redeploying an Application Asynchronously

This example uses the POST method to upload an archive and redeploy it as an application asynchronously.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:multipart/form-data \
-F "deployment=@/deployments/fairShare.war" \
-X POST http://localhost:7001/management/wls/latest/deployments/library/id/airline/redeploy?__detached=true

Example Response

HTTP/1.1 202 Accepted

Response Body:
{
    "messages": [{
        "message": "Redeploying the library 'airline'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/13"
    }]
}

/management/wls/{version}/deployments/application/id/{application-name}/start

This resource starts an application.

The resource supports the following methods:

POST

The POST method starts the application identified by the resource URL.

Roles

Administrator, Deployer

Request Query Parameters

This resource launches a job to start the application.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a DeploymentJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 200 OK status code. If the job timed out, the method returns a 202 Accepted status code.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code and a link to the job resource. In this case, the response does not include a DeploymentJob entity.

Example

Example 1   Starting an Application Synchronously

This example uses the POST method to start an application.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/deployments/application/id/fairShare/start

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "messages": [{
        "message": "Started the application 'fairShare'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/24"
    }],
    "item": {
        "operation": "start",
        "status": "completed",
        "beginTime": 1390587183386,
        "endTime": 1390587183443,
        "name": "ADTR-24",
        "id": "24",
        "type": "deployment",
        "targets": [
            {
                "errors": [],
                "status": "completed",
                "name": "Cluster-0",
                "type": "cluster"
            },
            {
                "errors": [],
                "status": "completed",
                "name": "myserver",
                "type": "server"
            }
        ],
        "deploymentName": "fairShare",
        "description": "[Deployer:149026]start application fairShare on Cluster-0,myserver."
    }
}
Example 2   Starting an Application Asynchronously

This example uses the POST method to start an application asynchronously.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/deployments/application/id/fairShare/start?__detached=true

Example Response

HTTP/1.1 202 Accepted

Response Body:
{
    "messages": [{
        "message": "Starting the application 'fairShare'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/33"
    }]
}

/management/wls/{version}/deployments/application/id/{application-name}/stop

This resource stops an application.

The resource supports the following methods:

POST

The POST method stops the application identified by the resource URL.

Roles

Administrator, Deployer

Request Query Parameters

This resource launches a job to stop the application.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a DeploymentJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 200 OK status code. If the job timed out, the method returns a 202 Accepted status code.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code and a link to the job resource. In this case, the response does not include a DeploymentJob entity.

Example

Example 1   Stopping an Application

This example uses the POST method to stop an application.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/deployments/application/id/fairShare/stop

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "messages": [{
        "message": "Stopped the application 'fairShare'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/23"
    }],
    "item": {
        "operation": "stop",
        "status": "completed",
        "beginTime": 1390587180998,
        "endTime": 1390587181033,
        "name": "ADTR-23",
        "id": "23",
        "type": "deployment",
        "targets": [
            {
                "errors": [],
                "status": "completed",
                "name": "Cluster-0",
                "type": "cluster"
            },
            {
                "errors": [],
                "status": "completed",
                "name": "myserver",
                "type": "server"
            }
        ],
        "deploymentName": "fairShare",
        "description": "[Deployer:149026]stop application fairShare on Cluster-0,myserver."
    }
}
Example 2   Stopping an Application Asynchronously

This example uses the POST method to stop an application asynchronously.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/deployments/application/id/fairShare/stop?__detached=true

Example Response

HTTP/1.1 202 Accepted

Response Body:
{
    "messages": [{
        "message": "Stopping the application 'fairShare'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/32"
    }]
}

/management/wls/{version}/deployments/application/id/{application-name}/update

This resource updates an application. Use this resource when you want to update the dynamic elements in a deployment plan without redeploying the application; no sessions will be lost. Use the redeploy resource to update the actual deployment. It will also update all changes in a deployment plan, but sessions will be lost.

The resource supports the following methods:

POST

The POST method updates the application identified by the resource URL. You should invoke this method after you have updated the underlying deployment plan.

Roles

Administrator, Deployer

Request Query Parameters

This resource launches a job to update the application.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a DeploymentJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 200 OK status code. If the job timed out, the method returns a 202 Accepted status code.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code and a link to the job resource. In this case, the response does not include a DeploymentJob entity.

Example

Example 1   Updating an Application

This example uses the POST method to update an application with deployment plan changes.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/deployments/application/id/BasicApp/update

Example Response

HTTP/1.1 400 Bad Request

Response Body:
{
    "messages": [{
        "message": "Failed to update the application 'BasicApp'.",
        "severity": "FAILURE"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/37"
    }],
    "item": {
        "operation": "update",
        "error": "\n The application BasicApp cannot have the resource \/deployments\/BasicApp\/plan\/Plan.xml updated dynamically. Either:\n1.) The resource does not exist. \n or \n2) The resource cannot be changed dynamically. \nPlease ensure the resource uri is correct, and redeploy the entire application for this change to take effect.",
        "status": "failed",
        "beginTime": 1390587229032,
        "endTime": 1390587229322,
        "name": "ADTR-37",
        "id": "37",
        "type": "deployment",
        "targets": [{
            "errors": ["\n The application BasicApp cannot have the resource \/deployments\/BasicApp\/plan\/Plan.xml updated dynamically. Either:\n1.) The resource does not exist. \n or \n2) The resource cannot be changed dynamically. \nPlease ensure the resource uri is correct, and redeploy the entire application for this change to take effect."],
            "status": "failed",
            "name": "myserver",
            "type": "server"
        }],
        "deploymentName": "BasicApp",
        "description": "[Deployer:149026]update application BasicApp on myserver."
    }
}

/management/wls/{version}/deployments/inspect

This resource inspects a deployment (archive or exploded directory) and returns information about it. This is useful for finding out information about the deployment before it has been deployed, for example, whether it's a library or an application.

The resource supports the following methods:

OPTIONS

The OPTIONS method on this resource returns a template entity that has been pre-populated with default values.

If you want to inspect a deployment, call this method to get the template, fill in the values, such as the deploymentPath, then use it in the POST method to inspect the deployment.

Roles

Administrator, Deployer

Response Body

The response body returned includes a DeploymentReference template entity that can be customized and then used to inspect the deployment.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Getting a Template Deployment Reference Entity

This example uses the OPTIONS method to obtain a template for deployment inspection.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X OPTIONS http://localhost:7001/management/wls/latest/deployments/inspect

Example Response

HTTP/1.1 200 OK

Response Body:
{"item": {
    "planPath": null,
    "deploymentPath": null
}}

POST

The POST method on this resource examines a deployment and returns information about it.

Roles

Administrator

Request Body

The request body must include a fully populated DeploymentReference entity. Read only parameter values are ignored.

Response Body

The response body returned includes a DeploymentDescription entity.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Inspecting a Versioned Library

This example uses the POST method to inspect a library prior to deployment.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
    deploymentPath: '/deployments/aquarium_sv2_ivfab.ear'
}" \
-X POST http://localhost:7001/management/wls/latest/deployments/inspect

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [{
        "rel": "parent",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments"
    }],
    "item": {
        "deploymentType": "library",
        "name": "aquarium_sv2_ivfab",
        "specVersion": "2.0",
        "implVersion": "fabulous",
        "deploymentPath": "\/deployments\/aquarium_sv2_ivfab.ear"
    }
}

/management/wls/{version}/deployments/library

This resource manages the libraries that are deployed in this WLS domain.

The resource supports the following methods:

GET

The GET method on this resource returns a listing of all the libraries in this WLS domain.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a collection of Library entities. It also contains links to their corresponding resources.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing Libraries

This example uses the GET method to return a summary of all libraries.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/deployments/library

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/library\/id\/airline",
            "title": "airline"
        }
    ],
    "items": [{
        "name": "airline",
        "state": "active",
        "type": "library",
        "targets": ["myserver"],
        "displayName": "airline",
        "deploymentPath": "\/deployments\/airline.war"
    }]
}

OPTIONS

The OPTIONS method on this resource returns a template entity that has been pre-populated with default values.

If you want to deploy a library, call this method to get the template, fill in values, such as the path to the library, then use it in the POST method to deploy the library.

Roles

Administrator

Response Body

The response body returned includes a Library template entity that can be customized and then used to deploy the library.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Getting a Template Library Entity

This example uses the OPTIONS method to obtain a template for a library deployment.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X OPTIONS http://localhost:7001/management/wls/latest/deployments/library

Example Response

HTTP/1.1 200 OK

Response Body:
{"item": {
    "name": null,
    "state": null,
    "type": "library",
    "targets": null,
    "displayName": null,
    "specVersion": null,
    "implVersion": null,
    "deploymentPath": null,
    "referencingApplications": null,
    "referencingLibraries": null
}}

POST

The resource supports the following methods:

POST accepting "application/json"

This POST method deploys a new library.

Roles

Administrator

Request Query Parameters

This resource launches a job to deploy the library.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Request Body

The request body must include a fully populated Library entity that describes the new library. Read only parameter values are ignored.

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a DeploymentJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 201 Created status code and a Location header with a link to the new library resource. If the job timed out, the method returns a 202 Accepted status code and a Location header with a link to the expected new library resource.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code, a link to the job resource, and a Location header with a link to the expected new library resource. In this case, the response does not include a DeploymentJob entity.

Example

Example 1   Deploying a Library

This example uses the POST method to deploy a new library.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
    name: 'airline',
    deploymentPath: '/deployments/airline.war',
    targets: [ 'myserver', 'Cluster-0' ]
}" \
-X POST http://localhost:7001/management/wls/latest/deployments/library

Example Response

HTTP/1.1 201 Created

Location: http://localhost:7001/management/wls/latest/deployments/library/id/airline

Response Body:
{
    "messages": [{
        "message": "Deployed the library 'airline'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/1"
    }],
    "item": {
        "operation": "deploy",
        "status": "completed",
        "beginTime": 1390587116296,
        "endTime": 1390587116676,
        "name": "ADTR-1",
        "id": "1",
        "type": "deployment",
        "targets": [
            {
                "errors": [],
                "status": "completed",
                "name": "Cluster-0",
                "type": "cluster"
            },
            {
                "errors": [],
                "status": "completed",
                "name": "myserver",
                "type": "server"
            }
        ],
        "deploymentName": "airline",
        "description": "[Deployer:149117]deploy library airline on Cluster-0,myserver."
    }
}
Example 2   Deploying a Library Asynchronously

This example uses the POST method to deploy a new library asynchronously.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
    name: 'airline',
    deploymentPath: '/deployments/airline.war',
    targets: [ 'myserver', 'Cluster-0' ]
}" \
-X POST http://localhost:7001/management/wls/latest/deployments/library

Example Response

HTTP/1.1 201 Created

Location: http://localhost:7001/management/wls/latest/deployments/library/id/airline

Response Body:
{
    "messages": [{
        "message": "Deployed the library 'airline'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/1"
    }],
    "item": {
        "operation": "deploy",
        "status": "completed",
        "beginTime": 1390587116296,
        "endTime": 1390587116676,
        "name": "ADTR-1",
        "id": "1",
        "type": "deployment",
        "targets": [
            {
                "errors": [],
                "status": "completed",
                "name": "Cluster-0",
                "type": "cluster"
            },
            {
                "errors": [],
                "status": "completed",
                "name": "myserver",
                "type": "server"
            }
        ],
        "deploymentName": "airline",
        "description": "[Deployer:149117]deploy library airline on Cluster-0,myserver."
    }
}

POST accepting "multipart/form-data"

This POST method uploads and deploys a new library.

Note: When using a multipart form to create, you need to:

  • Specify the file to deploy via the deployment form element.

  • Send in the rest of the template via the model form element.

Roles

Administrator

Request Query Parameters

This resource launches a job to upload and deploy the library.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Request Body

The request body includes form data with a Content-Type header of multipart/form-data and the following form fields:

model

(Required) Specifies all the necessary information about the library to deploy.

The Content-Disposition header must have its name parameter set to model

The Content-Type header must be application/json and the content must be a JSON object containing a Library entity excluding the deployment field.

deployment

(Required) Specifies the library to be deployed.

The Content-Disposition header must have its name parameter set to deployment and must have a filename parameter set to the file name you want the library to have on the server.

The Content-Type header must be application/octet-stream and the content must be the library data.

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a DeploymentJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 201 Created status code and a Location header with a link to the new library resource. If the job timed out, the method returns a 202 Accepted status code and a Location header with a link to the expected new library resource.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code, a link to the job resource, and a Location header with a link to the expected new library resource. In this case, the response does not include a DeploymentJob entity.

Example

Example 1   Uploading and Deploying a Library

This example uses the POST method to upload a deployment archive and deploy it as a new library.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:multipart/form-data \
-F "model={
    name: 'airline',
    targets: [ 'myserver' ]
}" \
-F "deployment=@/deployments/airline.war" \
-X POST http://localhost:7001/management/wls/latest/deployments/library

Example Response

 HTTP/1.1 201 Created

Location: http://localhost:7001/management/wls/latest/deployments/library/id/airline

Response Body:
{
    "messages": [{
        "message": "Deployed the library 'airline'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/7"
    }],
    "item": {
        "operation": "deploy",
        "status": "completed",
        "beginTime": 1390587130807,
        "endTime": 1390587131056,
        "name": "ADTR-7",
        "id": "7",
        "type": "deployment",
        "targets": [{
            "errors": [],
            "status": "completed",
            "name": "myserver",
            "type": "server"
        }],
        "deploymentName": "airline",
        "description": "[Deployer:149117]deploy library airline on myserver."
    }
}
Example 2   Uploading and Deploying a Library Asynchronously

This example uses the POST method to upload a deployment archive and deploy it asynchronously.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:multipart/form-data \
-F "model={
    name: 'airline',
    targets: [ 'myserver' ]
}" \
-F "deployment=@/deployments/airline.war" \
-X POST http://localhost:7001/management/wls/latest/deployments/library?__detached=true

Example Response

HTTP/1.1 202 Accepted

Location: http://localhost:7001/management/wls/latest/deployments/library/id/airline

Response Body:
{
    "messages": [{
        "message": "Deploying the library 'airline'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/11"
    }]
}

/management/wls/{version}/deployments/library/id/{library-name}

This resource manages a library.

The resource supports the following methods:

DELETE

The DELETE method undeploys the library identified by the resource URL.

Roles

Administrator

Request Query Parameters

This resource launches a job to undeploy the library.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a DeploymentJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 200 OK status code. If the job timed out, the method returns a 202 Accepted status code.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code and a link to the job resource. In this case, the response does not include a DeploymentJob entity.

Example

Example 1   Undeploying a Library

This example uses the DELETE method to undeploy a library.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X DELETE http://localhost:7001/management/wls/latest/deployments/library/id/airline

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "messages": [{
        "message": "Undeployed the library 'airline'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/3"
    }],
    "item": {
        "operation": "remove",
        "status": "completed",
        "beginTime": 1390587121460,
        "endTime": 1390587121632,
        "name": "ADTR-3",
        "id": "3",
        "type": "deployment",
        "targets": [
            {
                "errors": [],
                "status": "completed",
                "name": "Cluster-0",
                "type": "cluster"
            },
            {
                "errors": [],
                "status": "completed",
                "name": "myserver",
                "type": "server"
            }
        ],
        "deploymentName": "airline",
        "description": "[Deployer:149117]remove library airline on Cluster-0,myserver."
    }
}

GET

The GET method on this resource returns information about the library identified by the resource URL.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a Library entity that contains information about the specified library.

This method can return the following links:

  • uri=/management/wls/{version}/deployments/library/id/{library-name}/undeploy rel=undeploy

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing a Library

This example uses the GET method to find information about a specific library.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/deployments/library/id/airline

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/library"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/deployments\/library\/id\/airline\/redeploy",
            "title": "redeploy"
        }
    ],
    "item": {
        "name": "airline",
        "state": "active",
        "type": "library",
        "targets": ["myserver"],
        "displayName": "airline",
        "deploymentPath": "\/deployments\/airline.war"
    }
}

/management/wls/{version}/deployments/library/id/{library-name}/redeploy

This resource redeploys a library.

The resource supports the following methods:

POST

This POST method uploads and redeploys the library identified by the resource URL. You should invoke this method after you have updated the underlying deployment archive or exploded directory.

Roles

Administrator, Deployer

Request Query Parameters

This resource launches a job to upload and redeploy the library.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Request Body

The request body includes form data with a Content-Type header of multipart/form-data and the following form field:

deployment

(Required) Specifies the library to be redeployed.

The Content-Disposition header must have its name parameter set to deployment and must have a filename parameter set to the file name you want the library to have on the server.

The Content-Type header must be application/octet-stream and the content must be the library data.

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a DeploymentJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 200 OK status code. If the job timed out, the method returns a 202 Accepted status code.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code and a link to the job resource. In this case, the response does not include a DeploymentJob entity.

Example

Example 1   Uploading and Redeploying a Library

This example uses the POST method to upload an archive and redeploy it as a library.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:multipart/form-data \
-F "deployment=@/deployments/fairShare.war" \
-X POST http://localhost:7001/management/wls/latest/deployments/library/id/airline/redeploy

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "messages": [{
        "message": "Redeployed the library 'airline'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/9"
    }],
    "item": {
        "operation": "deploy",
        "status": "completed",
        "beginTime": 1390587135085,
        "endTime": 1390587135333,
        "name": "ADTR-9",
        "id": "9",
        "type": "deployment",
        "targets": [{
            "errors": [],
            "status": "completed",
            "name": "myserver",
            "type": "server"
        }],
        "deploymentName": "airline",
        "description": "[Deployer:149117]deploy library airline on myserver."
    }
}
Example 2   Uploading and Redeploying a Library Asynchronously

This example uses the POST method to upload an archive and redeploy it as a library.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:multipart/form-data \
-F "deployment=@/deployments/fairShare.war" \
-X POST http://localhost:7001/management/wls/latest/deployments/library/id/airline/redeploy?__detached=true

Example Response

HTTP/1.1 202 Accepted

Response Body:
{
    "messages": [{
        "message": "Redeploying the library 'airline'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment\/id\/13"
    }]
}

/management/wls/{version}/jobs

This resource lists the jobs running in this WLS domain.

The resource supports the following methods:

GET

The GET method on this resource returns a listing of all the jobs in this WLS domain.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a collection of Job entities. It also contains links to their corresponding resources.

This method can return the following links:

  • uri=/management/wls/{version}/jobs/deployment rel=deployment

  • uri=/management/wls/{version}/jobs/server rel=server

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing All Jobs

This example uses the GET method to obtain information about all jobs.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/jobs

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest"
        },
        {
            "rel": "server",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/server"
        },
        {
            "rel": "deployment",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment"
        },
        {
            "rel": "items.id",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/server\/id\/Cluster-0-Server-1:_0_start",
            "title": "Cluster-0-Server-1:_0_start"
        }
    ],
    "items": [{
        "status": "completed",
        "beginTime": 1390586983126,
        "endTime": 1390586998781,
        "name": "_0_start",
        "id": "Cluster-0-Server-1:_0_start",
        "type": "server",
        "description": "Starting Cluster-0-Server-1 server ..."
    }]
}

/management/wls/{version}/jobs/deployment

This resource returns information about all deployment-related jobs.

The resource supports the following methods:

GET

The GET method on this resource returns information about each job that is related to a deployment operation.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a DeploymentJob entity.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing All Deployment Jobs

This example uses the GET method to obtain information about all deployment jobs.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/jobs/deployment

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [{
        "rel": "parent",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment"
    }],
    "items": [{
        "operation": "deploy",
        "status": "in progress",
        "beginTime": 1390587139546,
        "name": "ADTR-11",
        "id": "11",
        "type": "deployment",
        "targets": [{
            "errors": [],
            "status": "in progress",
            "name": "myserver",
            "type": "server"
        }],
        "deploymentName": "airline",
        "description": "[Deployer:149117]deploy library airline on myserver."
    }]
}

/management/wls/{version}/jobs/deployment/id/{job-id}

This resource returns information about a deployment-related job.

The resource supports the following methods:

GET

The GET method on this resource returns information about the deployment-related job identified by the resource URL.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a DeploymentJob entity that contains information about the specified deployment-related job.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing a Deployment-Related Job

This example uses the GET method to obtain information about a deployment job.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/jobs/deployment/id/11

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [{
        "rel": "parent",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/deployment"
    }],
    "item": {
        "operation": "deploy",
        "status": "in progress",
        "beginTime": 1390587139546,
        "name": "ADTR-11",
        "id": "11",
        "type": "deployment",
        "targets": [{
            "errors": [],
            "status": "in progress",
            "name": "myserver",
            "type": "server"
        }],
        "deploymentName": "airline",
        "description": "[Deployer:149117]deploy library airline on myserver."
    }
}

/management/wls/{version}/jobs/server

This resource returns information about all server lifecycle jobs.

The resource supports the following methods:

GET

The GET method on this resource returns information about each job that is related to a server lifecycle operation.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a ServerJob entity.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Getting All Server Jobs

This example uses the GET method to obtain information about all server lifecycle jobs.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/jobs/server

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs"
        },
        {
            "rel": "server",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/server\/id\/Cluster-0-Server-1:_0_start",
            "title": "Cluster-0-Server-1:_0_start"
        }
    ],
    "items": [{
        "operation": "start",
        "status": "completed",
        "beginTime": 1390586983126,
        "endTime": 1390586998781,
        "name": "_0_start",
        "id": "Cluster-0-Server-1:_0_start",
        "type": "server",
        "description": "Starting Cluster-0-Server-1 server ...",
        "serverName": "Cluster-0-Server-1"
    }]
}

/management/wls/{version}/jobs/server/id/{job-id}

This resource returns information about a server lifecycle job.

The resource supports the following methods:

GET

The GET method on this resource returns information about a specific server lifecycle job identified by the resource URL.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a ServerJob entity.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Getting Server Job Information

This example uses the GET method to obtain information about a server lifecycle job.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/jobs/server/id/Cluster-0-Server-1:_8_start

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [{
        "rel": "parent",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/server"
    }],
    "item": {
        "operation": "start",
        "status": "in progress",
        "beginTime": 1390587038967,
        "name": "_8_start",
        "id": "Cluster-0-Server-1:_8_start",
        "type": "server",
        "description": "Starting Cluster-0-Server-1 server ...",
        "serverName": "Cluster-0-Server-1"
    }
}

/management/wls/{version}/servers

This resource enumerates the servers in a WLS domain and provides summary metrics and state for each server.

The resource supports the following methods:

GET

The GET method on this resource returns a listing of this domain's servers.

Roles

Administrator, Deployer, Operator, Monitor

Request Query Parameters

This method supports optional query parameters which can be used to constrain the fields included in the response. Constraining the fields to only the information that you require may yield faster response times when interacting with large data sets.

?_excludeFields=field1[,field2, ...]

(Optional) Specifies that these values are not required and may be omitted in a response.

?_includeFields=field1[,field2, ...]

(Optional) Specifies that these values are required and must be included in the response.

Include and exclude are mutually exclusive, and if neither is specified all available information is included.

Response Body

The response body returned includes a collection of Server entities. It also contains links to their corresponding resources.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing Servers

This example uses the GET method to return a list of all servers in this domain.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/servers

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers\/id\/myserver",
            "title": "myserver"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers\/id\/Cluster-0-Server-1",
            "title": "Cluster-0-Server-1"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers\/id\/Cluster-0-Server-2",
            "title": "Cluster-0-Server-2"
        }
    ],
    "items": [
        {
            "name": "myserver",
            "state": "running",
            "heapFreeCurrent": 136785464,
            "heapSizeCurrent": 423231488,
            "activeHttpSessionCount": 0,
            "activeThreadCount": 5,
            "health": {"state": "ok"},
            "usedPhysicalMemory": 3502743552,
            "jvmProcessorLoad": 0
        },
        {
            "name": "Cluster-0-Server-1",
            "state": "shutdown"
        },
        {
            "name": "Cluster-0-Server-2",
            "state": "shutdown"
        }
    ]
}

/management/wls/{version}/servers/id/{server-name}

This resource gets information about a specific server.

The resource supports the following methods:

GET

The GET method on this resource returns information about the server identified by the resource URL.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a Server entity that contains information about the specified server.

This method can return the following links:

  • uri=/management/wls/{version}/servers/id/{server-name}/logs rel=logs

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing a Specific Server

This example uses the GET method to obtain information about a specific server.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/servers/id/Cluster-0-Server-1

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers"
        },
        {
            "rel": "logs",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers\/id\/Cluster-0-Server-1\/logs"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers\/id\/Cluster-0-Server-1\/start",
            "title": "start"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers\/id\/Cluster-0-Server-1\/restart",
            "title": "restart"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers\/id\/Cluster-0-Server-1\/suspend",
            "title": "suspend"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers\/id\/Cluster-0-Server-1\/resume",
            "title": "resume"
        },
        {
            "rel": "action",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers\/id\/Cluster-0-Server-1\/shutdown",
            "title": "shutdown"
        }
    ],
    "item": {
        "name": "Cluster-0-Server-1",
        "state": "running",
        "heapFreeCurrent": 231060176,
        "heapSizeCurrent": 320798720,
        "activeHttpSessionCount": 0,
        "activeThreadCount": 6,
        "health": {"state": "ok"},
        "usedPhysicalMemory": 3925577728,
        "jvmProcessorLoad": 0
    }
}

/management/wls/{version}/servers/id/{server-name}/logs

This resource returns a list of logs which are maintained for this server.

The resource supports the following methods:

GET

The GET method on this resource returns the server's log file list.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body returned includes a collection of LogReference entities. It also contains links to their corresponding resources.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Displaying a Server's Logs

This example uses the GET method to find all of the available logs for a server.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/servers/id/Cluster-0-Server-1/logs

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [
        {
            "rel": "parent",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers\/id\/Cluster-0-Server-1"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers\/id\/Cluster-0-Server-1\/logs\/id\/HTTPAccessLog",
            "title": "HTTPAccessLog"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers\/id\/Cluster-0-Server-1\/logs\/id\/DataSourceLog",
            "title": "DataSourceLog"
        },
        {
            "rel": "items.name",
            "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers\/id\/Cluster-0-Server-1\/logs\/id\/ServerLog",
            "title": "ServerLog"
        }
    ],
    "items": [
        {"name": "HTTPAccessLog"},
        {"name": "DataSourceLog"},
        {"name": "ServerLog"}
    ]
}

/management/wls/{version}/servers/id/{server-name}/logs/id/{log-name}

This resource displays the entries in a server's log.

The resource supports the following methods:

GET

The GET method on this resource returns the server's log.

Roles

Administrator, Deployer, Operator, Monitor

Request Query Parameters

This method supports the following query parameters which can be used to filter and qualify the results included in the response.

maxResults=long

(Optional) Specifies the maximum number of entries to return.

If maxResults is not specified, or is less than one, then all of the entries in the log are returned. Otherwise, only maxResults entries are returned. If there are more than maxResults matching entries, the last maxResults entries (based on the order of the entries in the underlying log) are returned.

startTime=mm/dd/yy hh:mm:ss ms

(Optional) Specifies the earliest log entry to return. Note that you need to encode the query parameter to turn it into a valid URL; a space becomes %20, a '/' (forward slash) becomes %2F, and a ':' (colon) becomes %3A. For example, management/wls/latest/servers/id/myserver/logs/id/mylog?startTime=11/21/14 12:06:53 would become management/wls/latest/servers/id/myserver/logs/id/mylog?startTime=11%2F21%2F14%2012%3A06%3A53

endTime=mm/dd/yy hh:mm:ss ms

(Optional) Specifies the latest log entry to return. Note that you need to encode the query parameter to turn it into a valid URL; a space becomes %20, a '/' (forward slash) becomes %2F, and a ':' (colon) becomes %3A. For example, management/wls/latest/servers/id/myserver/logs/id/mylog?endTime=11/21/14 02:23:15 would become management/wls/latest/servers/id/myserver/logs/id/mylog?endTime=11%2F21%2F14%2002%3A23%3A15

query=wldf expression

(Optional) Specifies a WebLogic Diagnostics Framework (WLDF) query expression which can be used to further filter and qualify the log entries returned. (olink:WLDFC316)

Response Body

The response body returned includes a collection of LogEntry entities. The entities are in the same order as the corresponding entries in the underlying log.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Displaying a Server's Log

This example uses the GET method to return the last five entries in the server log.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/servers/id/Cluster-0-Server-1/logs/id/ServerLog?maxResults=5

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [{
        "rel": "parent",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/servers\/id\/Cluster-0-Server-1\/logs"
    }],
    "items": [
        {
            "timeStamp": "01\/24\/14 13:09:58 604",
            "message": "The server \"myserver\" connected to this server.",
            "severity": "Info",
            "subSystem": "Server",
            "userId": "WLS Kernel",
            "contextId": "",
            "recordId": "90",
            "msgId": "BEA-002635"
        },
        {
            "timeStamp": "01\/24\/14 13:09:58 613",
            "message": "Starting \"async\" replication service with remote cluster address \"null\"",
            "severity": "Notice",
            "subSystem": "Cluster",
            "userId": "WLS Kernel",
            "contextId": "",
            "recordId": "91",
            "msgId": "BEA-000162"
        },
        {
            "timeStamp": "01\/24\/14 13:09:58 670",
            "message": "The server started in RUNNING mode.",
            "severity": "Notice",
            "subSystem": "WebLogicServer",
            "userId": "WLS Kernel",
            "contextId": "",
            "recordId": "92",
            "msgId": "BEA-000360"
        },
        {
            "timeStamp": "01\/24\/14 13:09:59 507",
            "message": "Server state changed to RUNNING.",
            "severity": "Notice",
            "subSystem": "WebLogicServer",
            "userId": "WLS Kernel",
            "contextId": "",
            "recordId": "93",
            "msgId": "BEA-000365"
        },
        {
            "timeStamp": "01\/24\/14 13:09:59 512",
            "message": "Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.",
            "severity": "Info",
            "subSystem": "org.hibernate.validator.engine.resolver.DefaultTraversableResolver",
            "userId": "WLS Kernel",
            "contextId": "",
            "recordId": "94",
            "msgId": "BEA-000000"
        }
    ]
}

/management/wls/{version}/servers/id/{server-name}/restart

This resource restarts a specific server.

The resource supports the following methods:

POST

The POST method restarts the server identified by the resource URL.

Roles

Administrator

Request Query Parameters

This resource launches a job to restart the server.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a ServerJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 200 OK status code. If the job timed out, the method returns a 202 Accepted status code.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code and a link to the job resource. In this case, the response does not include a ServerJob entity.

Example

Example 1   Restarting a Server

This example uses the POST method to restart a server synchronously.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/servers/id/Cluster-0-Server-1/restart

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "messages": [{
        "message": "Restarted the server 'Cluster-0-Server-1'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/server\/id\/Cluster-0-Server-1:_4_start"
    }],
    "item": {
        "operation": "start",
        "status": "completed",
        "beginTime": 1390587009914,
        "endTime": 1390587022047,
        "name": "_4_start",
        "id": "Cluster-0-Server-1:_4_start",
        "type": "server",
        "description": "Starting Cluster-0-Server-1 server ...",
        "serverName": "Cluster-0-Server-1"
    }
}
Example 2   Restarting a Server Asynchronously

This example uses the POST method to restart a server in detached mode.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/servers/id/Cluster-0-Server-1/restart?__detached=true

Example Response

HTTP/1.1 202 Accepted

Response Body:
{
    "messages": [{
        "message": "Restarting the server 'Cluster-0-Server-1'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/server\/id\/Cluster-0-Server-1:_12_start"
    }]
}

/management/wls/{version}/servers/id/{server-name}/resume

This resource resumes a server.

The resource supports the following methods:

POST

The POST method resumes the server instance that is suspended or in the ADMIN state.

Roles

Administrator

Request Query Parameters

This resource launches a job to restart the server.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a ServerJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 200 OK status code. If the job timed out, the method returns a 202 Accepted status code.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code and a link to the job resource. In this case, the response does not include a ServerJob entity.

Example

Example 1   Resuming a Server

This example uses the POST method to resume a server synchronously.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/servers/id/Cluster-0-Server-1/resume

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "messages": [{
        "message": "Resumed the server 'Cluster-0-Server-1'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/server\/id\/Cluster-0-Server-1:_2_resume"
    }],
    "item": {
        "operation": "resume",
        "status": "completed",
        "beginTime": 1390587004735,
        "endTime": 1390587004747,
        "name": "_2_resume",
        "id": "Cluster-0-Server-1:_2_resume",
        "type": "server",
        "description": "Resuming Cluster-0-Server-1 server ...",
        "serverName": "Cluster-0-Server-1"
    }
}
Example 2   Resuming a Server Asynchronously

This example uses the POST method to resume a server in detached mode.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/servers/id/Cluster-0-Server-1/resume?__detached=true

Example Response

HTTP/1.1 202 Accepted

Response Body:
{
    "messages": [{
        "message": "Resuming the server 'Cluster-0-Server-1'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/server\/id\/Cluster-0-Server-1:_10_resume"
    }]
}

/management/wls/{version}/servers/id/{server-name}/shutdown

This resource performs a graceful shut down on a specific server.

The resource supports the following methods:

POST

The POST method shuts down the server identified by the resource URL.

Roles

Administrator, Deployer, Operator

Request Query Parameters

This resource launches a job to shut down the server.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

force

(Optional) Specifies whether to gracefully shut down the server (false, the default) or force shut down of the server (true).

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a ServerJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 200 OK status code. If the job timed out, the method returns a 202 Accepted status code.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code and a link to the job resource. In this case, the response does not include a ServerJob entity.

Example

Example 1   Shutting Down a Server

This example uses the POST method to shut down a server synchronously.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/servers/id/Cluster-0-Server-1/shutdown

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "messages": [{
        "message": "Shutdown the server 'Cluster-0-Server-1'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/server\/id\/Cluster-0-Server-1:_7_shutdown"
    }],
    "item": {
        "operation": "shutdown",
        "status": "completed",
        "beginTime": 1390587036811,
        "endTime": 1390587036940,
        "name": "_7_shutdown",
        "id": "Cluster-0-Server-1:_7_shutdown",
        "type": "server",
        "description": "Shutting down Cluster-0-Server-1 server ...",
        "serverName": "Cluster-0-Server-1"
    }
}
Example 2   Shutting Down a Server Asynchronously

This example uses the POST method to shut down a server in detached mode.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/servers/id/Cluster-0-Server-1/shutdown?__detached=true

Example Response

HTTP/1.1 202 Accepted

Response Body:
{
    "messages": [{
        "message": "Shutting down the server 'Cluster-0-Server-1'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/server\/id\/Cluster-0-Server-1:_11_shutdown"
    }]
}

/management/wls/{version}/servers/id/{server-name}/start

This resource starts a specific server.

The resource supports the following methods:

POST

The POST method starts the server identified by the resource URL.

Roles

Administrator

Request Query Parameters

This resource launches a job to start the server.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a ServerJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 200 OK status code. If the job timed out, the method returns a 202 Accepted status code.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code and a link to the job resource. In this case, the response does not include a ServerJob entity.

Example

Example 1   Starting a Server

This example uses the POST method to start a server synchronously.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/servers/id/Cluster-0-Server-1/start

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "messages": [{
        "message": "Started the server 'Cluster-0-Server-1'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/server\/id\/Cluster-0-Server-1:_0_start"
    }],
    "item": {
        "operation": "start",
        "status": "completed",
        "beginTime": 1390586983126,
        "endTime": 1390586998781,
        "name": "_0_start",
        "id": "Cluster-0-Server-1:_0_start",
        "type": "server",
        "description": "Starting Cluster-0-Server-1 server ...",
        "serverName": "Cluster-0-Server-1"
    }
}
Example 2   Starting a Server Asynchronously

This example uses the POST method to start a server in detached mode.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/servers/id/Cluster-0-Server-1/start?__detached=true

Example Response

HTTP/1.1 202 Accepted

Response Body:
{
    "messages": [{
        "message": "Starting the server 'Cluster-0-Server-1'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/server\/id\/Cluster-0-Server-1:_8_start"
    }]
}

/management/wls/{version}/servers/id/{server-name}/suspend

This resource suspends a server.

The resource supports the following methods:

POST

The POST method moves the server identified by the resource URL from the RUNNING state to the ADMIN state.

Roles

Administrator

Request Query Parameters

This resource launches a job to suspend the server.

_detached

(Optional) Specifies whether this method runs in detached (background) mode or synchronously.

If the __detached=true query parameter is specified (detached invocation), then this method returns immediately after launching the job. Otherwise, it waits for the job to complete, fail, or timeout (synchronous invocation).

Response Body

If the method was invoked synchronously and successfully launched the job, the response body includes a ServerJob entity containing the state of the job (completed, failed, or still running in the case of a timeout) as well as a link to the job resource.

Response Codes

If the method was invoked synchronously and the job successfully completed, the method returns a 200 OK status code. If the job timed out, the method returns a 202 Accepted status code.

If the method was invoked detached and successfully launched the job, the method returns a 202 Accepted status code and a link to the job resource. In this case, the response does not include a ServerJob entity.

Example

Example 1   Suspending a Server

This example uses the POST method to suspend a server synchronously.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/servers/id/Cluster-0-Server-1/suspend

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "messages": [{
        "message": "Suspended the server 'Cluster-0-Server-1'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/server\/id\/Cluster-0-Server-1:_1_suspendWithTimeout"
    }],
    "item": {
        "operation": "suspending",
        "status": "completed",
        "beginTime": 1390587002462,
        "endTime": 1390587002489,
        "name": "_1_suspendWithTimeout",
        "id": "Cluster-0-Server-1:_1_suspendWithTimeout",
        "type": "server",
        "description": "suspending Cluster-0-Server-1 server ...",
        "serverName": "Cluster-0-Server-1"
    }
}
Example 2   Suspending a Server Asynchronously

This example uses the POST method to suspend a server in detached mode.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X POST http://localhost:7001/management/wls/latest/servers/id/Cluster-0-Server-1/suspend?__detached=true

Example Response

HTTP/1.1 202 Accepted

Response Body:
{
    "messages": [{
        "message": "Suspending the server 'Cluster-0-Server-1'.",
        "severity": "SUCCESS"
    }],
    "links": [{
        "rel": "job",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest\/jobs\/server\/id\/Cluster-0-Server-1:_9_suspendWithTimeout"
    }]
}

/management/wls/{version}/targets

This resource lists all servers and clusters in this WLS domain.

The resource supports the following methods:

GET

The GET method on this resource returns all servers and clusters in this WLS domain.

Roles

Administrator, Deployer, Operator, Monitor

Response Body

The response body contains a collection of Target entities.

Response Codes

This method returns one of the Standard HTTP Status Codes

Example

Example 1   Viewing WLS Targets

This example uses the GET method to return a list of all targets in this domain.

Example Request

curl -v \
--user username:password \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-X GET http://localhost:7001/management/wls/latest/targets

Example Response

HTTP/1.1 200 OK

Response Body:
{
    "links": [{
        "rel": "parent",
        "uri": "http:\/\/localhost:7001\/management\/wls\/latest"
    }],
    "items": [
        {
            "name": "myserver",
            "type": "server"
        },
        {
            "name": "Cluster-0",
            "type": "cluster"
        }
    ]
}