Create Session

Creates a new service-oriented architecture (SOA) session with the specified configuration information.

Request

You can specify the Create Session request as follows.

Method Request URI
POST (before HPC Pack 2016) https://head_node_name:port/WindowsHpc/HPC_cluster_name/Sessions/Create
POST (HPC Pack 2016) https://head_node_name:port/WindowsHpc/Sessions/Create

 

For sessions that are managed by the Azure HPC Scheduler, the head node name should have a format of Windows_Azure_service_name.cloudapp.net.

To get the name to use for the HPC cluster, use the Get Clusters operation.

URI Parameters

You can specify the following additional parameters on the request URI.

Parameter Description
durable

Required. Specifies whether to create a durable session or an interactive session. True indicates that you want to create a durable session. False indicates that you want to create an interactive session. When creating sessions that are managed by the Azure HPC Scheduler, specify false, because durable sessions are not supported for the Azure HPC Scheduler.

api-version

Required if the request does not contain the api-version header. Specifies the version of the operation to use for this request. To specify Microsoft HPC Pack 2008 R2 with Service Pack 3 (SP3), use a value of 2011-11-01. The minimum version that supports this operation is Microsoft HPC Pack 2008 R2 with SP3.

The value of this URI parameter is ignored if the request also contains the api-version header.

 

Request Headers

The following table describes required and optional request headers.

Request Header Description
api-version

Required if the request does not include the api-version URI parameter. Specifies the version of the operation to use for this request. To specify Microsoft HPC Pack 2008 R2 with SP3, use a value of 2011-11-01. The minimum version that supports this operation is Microsoft HPC Pack 2008 R2 with SP3.

The value specified in this header overrides the value specified in the api-version URI parameter if both are specified.

CONTENT-TYPE

Required. Indicates type of content that the request contains. If you want to create a request body that is an object represented as text in JavaScript Object Notation (JSON), specify application/json; charset=utf-8. If you want to create a request body formatted as XML, specify application/xml; charset=utf-8.

Accept

Optional. Specifies the type of content accepted in the response. Specify application/json to get a response body that is an object represented as text in JavaScript Object Notation (JSON), or specify application/xml to get a response body that is formatted as XML. The default value is application/xml.

 

Request Body

The request body is an object represented as text in JSON that specifies configuration information for the session, if you specified a value of application/json; charset=utf-8 for the CONTENT-TYPE request header.

The format for this JSON text is {"property_1_name" : property_1_value, "property_2_name" : property_2_value...}.

The request body has the following XML format, if you specified a value of application/xml; charset=utf-8 for the CONTENT-TYPE request header. You must arrange the elements that are inside the WebSessionStartInfo element in alphabetical order.

<WebSessionStartInfo xmlns="http://hpc.microsoft.com/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <property_1_name>property_1_value</property_1_name>
    <property_2_name>property_2_value</property_2_name>
    ...
</WebSessionStartInfo>

For a list of properties that you can specify, see WebSessionStartInfo Fields. The following properties are required to create a session:

Response

The response includes an HTTP status code, a set of response headers, and a response body.

Status Code

A successful operation returns status code 201 (Created).

If the request includes neither the api-version URI parameter nor the api-version header, the operation returns status code 400 (Bad Request).

For more information about status codes, see HttpStatusCode.

The error response will be contained in a descriptive XML response (Note: Values will vary based on the error):

<HpcWebServiceFault xmlns="https://schemas.microsoft.com/HPCS2008R2/common" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <Code>267386880</Code>
  <Message>Error message text.</Message>
  <Values i:nil="true" xmlns:a="http://schemas.datacontract.org/2004/07/System.Collections.Generic"/>
</HpcWebServiceFault>

Response Headers

The response for this operation includes the following standard HTTP headers:

  • Transfer-Encoding

  • Content-Type

  • Date

  • Pack

All standard headers conform to the HTTP/1.1 protocol specification.

Response Body

The response body is an object specified as JSON text if the value of the Accept request header was application/json. This text has the following format: {"BrokerNode":node_name,"Id":session_identifier,"IsDurable":[true|false],"MaxMessageSize":size,"ServiceOperationTimeout":duration,"ServiceVersion":version}

The response body is formatted as XML if the value of the Accept request header was application/xml. This text has the following format:

<WebSessionInfo xmlns="http://hpc.microsoft.com/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <BrokerNode>node_name</BrokerNode>
    <Id>session_identifier</Id>
    <IsDurable>[true|false]</IsDurable>
    <MaxMessageSize>size</MaxMessageSize>
    <ServiceOperationTimeout>duration</ServiceOperationTimeout>
    <ServiceVersion xmlns:a="http://schemas.datacontract.org/2004/07/System"/>version</ServiceVersion>
</WebSessionInfo>

The following table describes each of the items in the response string.

Item Description
BrokerNode

The name of the broker node for the session. For sessions that are managed by the Azure HPC Scheduler, this name has a format of Microsoft_Azure_service_name.cloudapp.net.

Id

The session identifier for the session that the operation created.

IsDurable

A value that indicates whether the session is a durable session or an interactive session. True indicates a durable session. False indicates an interactive session. For sessions that are managed by the Azure HPC Scheduler, this value is always false.

MaxMessageSize

The maximum size in bytes of a SOA request or SOA response message for the session.

SeviceOperationTimeout

The amount of time in milliseconds that the SOA service tries to perform operations before timing out.

ServiceVersion

The version of the service to which the session connected. If the formation is JSON, a value of null indicates that the configuration file for the service that does not specify version information. If the format is XML, the ServiceVersion element includes an i:nil attribute with a value of true.

 

Remarks

This operation is supported only for creating sessions that are managed by the Azure HPC Scheduler.

Requirements

Product

HPC Pack 2008 R2 with at least SP3, or a later version of HPC Pack.