XML Network Floating Service
The XML Network Floating Service web service provides several Web methods related to Cloud-Controlled network floating licensing.
For SOLO Server Shared URL, this can be reached at https://secure.softwarekey.com/solo/webservices/XmlNetworkFloatingService.asmx
- When using SOLO Server Shared / Custom URL, replace secure with your custom subdomain.
- When using SOLO Server Dedicated URL, replace secure.softwarekey.com with your domain.
- When using SOLO Server Self-Hosted, replace secure.softwarekey.com/solo in the URL with the path to your SOLO Server instance.
Please contact us if you need assistance determining the correct URL.
All web methods in this service use XML for both input and output (though the input parameter is defined as a string to allow POST access to the Web service, the string must be in XML format). This allows new input and output values to be added without breaking backwards compatibility with existing implementations using the service.
If your integration with the Web service validates the XML returned by the Web methods, be sure to account for the possibility of new elements being returned in the result. This can easily be done by applying an XSLT transform to the result XML to filter out any new fields and then validating the transformed XML.
Each web method in this web service is documented by a series of documentation files named after the web method as follows:
- MethodNameInput.xml - Uncommented xml file with input xml structure.
- MethodNameInputDetails.xml - Commented xml file with input xml structure and comments on each input element.
- MethodNameInput.xsd - XSD schema file defining the input xml structure.
- MethodNameOutput.xml - Uncommented xml file with output xml structure.
- MethodNameOutputDetails.xml - Commented xml file with output xml structure and comments on each output element.
- MethodNameOutput.xsd - XSD schema file defining the input xml structure.
Please note that all date values returned by the above Web methods are in UTC time, using the ISO 8601 format as follows:
- YYYY-MM-DDTHH:MM.SSZ
OpenSession
This web method is used to open a new network session, and returns information regarding the status of the network session.
Input
The values of these elements are as follows:
Parameter | Data Type | Required/Optional | Description |
---|---|---|---|
EncryptionKeyID | string | Required |
The Encryption Key ID used for encrypting, decrypting, digitally signing, and verifying requests and responses. This is included in the Encryption Envelope, which may be retrieved by clicking the Configure/Products menu and clicking Actions/View Encryption Key Data. |
RequestMethod | string | Required for offline use through the ManualRequst.aspx page in the Customer License Portal, otherwise Optional. | The request method name "OpenSession". |
LicenseID | int | Required | The License ID of the license. |
Password | string | Required | The customer password or license activation password. |
ActivationData | string | Optional | An string containing an XML document that has activation data. This XML document typically contains data which is used to uniquely identify the system which is being activated. If used, a valid XML document must be provided, which must have a single, root node. |
SessionCode | string | Optional | A unique session code generated by the client which is returned in the output and used to prevent replay attacks. |
- XML
- <GetNetworkSession xmlns="">
<EncryptionKeyID></EncryptionKeyID></GetNetworkSession>
<RequestMethod>OpenSession</RequestMethod>
<PrivateData><LicenseID></LicenseID></PrivateData>
<Password></Password>
<ActivationData><XmlDocument/></ActivationData>
<SessionCode></SessionCode>
Output
Refer to the section below for output details.
The documentation files for this Web method are as follows:
- OpenSessionInput.xml
- OpenSessionInputDetails.xml
- OpenSessionInput.xsd
- Output.xml
- OutputDetails.xml
- Output.xsd
PollSession
This web method is used to poll the server with an existing network session, and returns information regarding the status of the network session.
Input
The values of these elements are as follows:
Parameter | Data Type | Required/Optional | Description |
---|---|---|---|
EncryptionKeyID | string | Required |
The Encryption Key ID used for encrypting, decrypting, digitally signing, and verifying requests and responses. This is included in the Encryption Envelope, which may be retrieved by clicking the Configure/Products menu and clicking Actions/View Encryption Key Data. |
RequestMethod | string | Required for offline use through the ManualRequst.aspx page in the Customer License Portal, otherwise Optional. | The request method name "PollSession". |
SessionID | string | Required | The Session ID. |
CertificatePath | string | Required when polling a session that is checked out. | File system path to store the network certificate on the client. |
ActivationData | string | Optional | An string containing an XML document that has activation data. This XML document typically contains data which is used to uniquely identify the system which is being activated. If used, a valid XML document must be provided, which must have a single, root node. |
SessionCode | string | Optional | A unique session code generated by the client which is returned in the output and used to prevent replay attacks. |
- XML
- <GetNetworkSession xmlns="">
<EncryptionKeyID></EncryptionKeyID></GetNetworkSession>
<RequestMethod>PollSession</RequestMethod>
<PrivateData><SessionID></SessionID></PrivateData>
<CertificatePath></CertificatePath>
<ActivationData><XmlDocument/></ActivationData>
<SessionCode></SessionCode>
Output
Refer to the section below for output details.
The documentation files for this Web method are as follows:
- PollSessionInput.xml
- PollSessionInputDetails.xml
- PollSessionInput.xsd
- Output.xml
- OutputDetails.xml
- Output.xsd
CheckoutSession
This web method is used to check out a network session from the server for offline use, and returns information regarding the status of the network session.
Input
The values of these elements are as follows:
Parameter | Data Type | Required/Optional | Description |
---|---|---|---|
EncryptionKeyID | string | Required |
The Encryption Key ID used for encrypting, decrypting, digitally signing, and verifying requests and responses. This is included in the Encryption Envelope, which may be retrieved by clicking the Configure/Products menu and clicking Actions/View Encryption Key Data. |
RequestMethod | string | Required for offline use through the ManualRequst.aspx page in the Customer License Portal, otherwise Optional. | The request method name "CheckoutSession". |
SessionID | string | Required | The Session ID. |
RequestedCheckoutDuration | decimal | Required | The duration in hours to check the session out for. |
CertificatePath | string | Required | File system path to store the network certificate on the client. |
ActivationData | string | Optional | An string containing an XML document that has activation data. This XML document typically contains data which is used to uniquely identify the system which is being activated. If used, a valid XML document must be provided, which must have a single, root node. |
SessionCode | string | Optional | A unique session code generated by the client which is returned in the output and used to prevent replay attacks. |
- XML
- <GetNetworkSession xmlns="">
<EncryptionKeyID></EncryptionKeyID></GetNetworkSession>
<RequestMethod>CheckoutSession</RequestMethod>
<PrivateData><SessionID></SessionID></PrivateData>
<RequestedCheckoutDuration></RequestedCheckoutDuration>
<CertificatePath></CertificatePath>
<ActivationData><XmlDocument/></ActivationData>
<SessionCode></SessionCode>
Output
Refer to the section below for output details.
The documentation files for this Web method are as follows:
- CheckoutSessionInput.xml
- CheckoutSessionInputDetails.xml
- CheckoutSessionInput.xsd
- Output.xml
- OutputDetails.xml
- Output.xsd
CheckinSession
This web method is used to check in a network session to the server, and returns information regarding the status of the network session.
Input
The values of these elements are as follows:
Parameter | Data Type | Required/Optional | Description |
---|---|---|---|
EncryptionKeyID | string | Required |
The Encryption Key ID used for encrypting, decrypting, digitally signing, and verifying requests and responses. This is included in the Encryption Envelope, which may be retrieved by clicking the Configure/Products menu and clicking Actions/View Encryption Key Data. |
RequestMethod | string | Required for offline use through the ManualRequst.aspx page in the Customer License Portal, otherwise Optional. | The request method name "CheckinSession". |
SessionID | string | Required | The Session ID. |
CertificatePath | string | Required when polling a session that is checked out. | File system path to store the network certificate on the client. |
ActivationData | string | Optional | An string containing an XML document that has activation data. This XML document typically contains data which is used to uniquely identify the system which is being activated. If used, a valid XML document must be provided, which must have a single, root node. |
SessionCode | string | Optional | A unique session code generated by the client which is returned in the output and used to prevent replay attacks. |
- XML
- <GetNetworkSession xmlns="">
<EncryptionKeyID></EncryptionKeyID></GetNetworkSession>
<RequestMethod>CheckinSession</RequestMethod>
<PrivateData><SessionID></SessionID></PrivateData>
<CertificatePath></CertificatePath>
<ActivationData><XmlDocument/></ActivationData>
<SessionCode></SessionCode>
Output
Refer to the section below for output details.
The documentation files for this Web method are as follows:
- CheckinSessionInput.xml
- CheckinSessionInputDetails.xml
- CheckinSessionInput.xsd
- Output.xml
- OutputDetails.xml
- Output.xsd
OpenSession, PollSession, CheckoutSession, CheckinSession Output Details
Output
The result of the OpenSession, PollSession, CheckoutSession, and CheckinSession web methods is returned as XML in the following format:
- XML
- <GetNetworkSession>
<PrivateData></GetNetworkSession><ResultCode></ResultCode></PrivateData>
<ErrorMessage></ErrorMessage>
<NetworkSession><SessionID></SessionID></NetworkSession>
<LicenseStatus></LicenseStatus>
<CustomerID></CustomerID>
<LicenseID></LicenseID>
<Password></Password>
<ProductID></ProductID>
<ProdOptionID></ProdOptionID>
<PollFrequency></PollFrequency>
<PollRetryFrequency></PollRetryFrequency>
<PollRetryCount></PollRetryCount>
<CheckedOut></CheckedOut>
<TotalSeats></TotalSeats>
<SeatsAvailable></SeatsAvailable>
<IPAddress></IPAddress>
<CheckoutDurationMinimum></CheckoutDurationMinimum>
<CheckoutDurationMaximum></CheckoutDurationMaximum>
<CertificatePath></CertificatePath>
<AllocatedDate></AllocatedDate>
<AllocatedUntilDate></AllocatedUntilDate>
<ExpirationDate></ExpirationDate>
<LastPollDate></LastPollDate>
<ActivationData></ActivationData>
<Status></Status>
<ServerDateTime></ServerDateTime>
<SessionCode></SessionCode>
The values of these elements are as follows:
Parameter | Data Type | Description |
---|---|---|
ResultCode | int | May contain one of the following values, each of which indicates a possible result:
|
ErrorMessage | string | Detailed error message for the result code. Only returned in error conditions (a non-zero ResultCode) |
SessionID | string | A unique, system generated ID value used to identify the session. |
LicenseStatus | string | The license status. |
CustomerID | int | The license Customer ID. |
ProductID | int | The license Product ID. |
ProdOptionID | int | The License Product Option ID. |
ComputerName | string | The Computer Name of the machine which opened the session. |
PollFrequency | int | The frequency the application should poll the server, in seconds. |
PollRetryFrequency | int | The frequency the application should retry polling the server if polling fails, in seconds. |
PollRetryCount | int | The number of times the application should retry polling the server if polling fails. |
CheckedOut | bool | Whether the session is checked out or not. |
TotalSeats | int | The total number of network seats available on the license. |
SeatsAvailable | int | The total number of network seats still currently available on the license. |
IPAddress | string | The IP address the session was opened under. |
CheckoutDurationMinimum | int | The minimum amount of time the session may be checked out for, in hours. |
CheckoutDurationMaximum | int | The maximum amount of time the session may be check out for, in hours. |
CertificatePath | string | The path to store the session certificate file when checking out a session. This is reflected back from the value passed up by the application, and is only applicable to the CheckoutSession and CheckinSession web methods. |
AllocatedDate | dateTime | The date and time (in UTC) in which the network session was opened. |
AllocatedUntilDate | dateTime | The date and time (in UTC) in which a network session is no longer valid. This date is extended when the licensed application performs a poll. The date is calculated by SOLO Server as follows: Allocated Until Date = (Current Date and Time) + ((Poll Frequency) + (Poll Retry Count * Poll Retry Frequency)). When a session is checked out for a given duration, the Allocated Until Date is then set to the (Current Date and Time) + (the specified duration). |
ExpirationDate | dateTime | The license download expiration date. |
LastPollDate | dateTime | The date and time (in UTC) in which the network session last polled the server. |
ActivationData | XmlDocument | An XML document that has activation data. This XML document typically contains data which is used to uniquely identify the system the application is running on. |
Status | string |
The session status, which can be one of the following values:
|
ServerDateTime | dateTime | Server timestamp. |
SessionCode | string | A session code generated by the client to prevent replay attacks. |
CloseSession
This web method is used to close a network session, and returns information regarding the status of closing the session.
Input
The values of these elements are as follows:
Parameter | Data Type | Required/Optional | Description |
---|---|---|---|
EncryptionKeyID | string | Required |
The Encryption Key ID used for encrypting, decrypting, digitally signing, and verifying requests and responses. This is included in the Encryption Envelope, which may be retrieved by clicking the Configure/Products menu and clicking Actions/View Encryption Key Data. |
RequestMethod | string | Required for offline use through the ManualRequst.aspx page in the Customer License Portal, otherwise Optional. | The request method name "CloseSession". |
SessionID | string | Required | The Session ID. |
ActivationData | string | Optional | An string containing an XML document that has activation data. This XML document typically contains data which is used to uniquely identify the system which is being activated. If used, a valid XML document must be provided, which must have a single, root node. |
SessionCode | string | Optional | A unique session code generated by the client which is returned in the output and used to prevent replay attacks. |
- XML
- <GetNetworkSession xmlns="">
<EncryptionKeyID></EncryptionKeyID></GetNetworkSession>
<RequestMethod>CloseSession</RequestMethod>
<PrivateData><SessionID></SessionID></PrivateData>
<ActivationData><XmlDocument/></ActivationData>
<SessionCode></SessionCode>
Output
The result is returned as XML in the following format:
- XML
- <GetNetworkSession>
<PrivateData></GetNetworkSession><ResultCode></ResultCode></PrivateData>
<ErrorMessage></ErrorMessage>
<ServerDateTime></ServerDateTime>
<SessionCode></SessionCode>
The values of these elements are as follows:
Parameter | Data Type | Description |
---|---|---|
ResultCode | int | May contain one of the following values, each of which indicates a possible result:
|
ErrorMessage | string | Detailed error message for the result code. Only returned in error conditions (a non-zero ResultCode) |
ServerDateTime | dateTime | Server timestamp. |
SessionCode | string | A session code generated by the client to prevent replay attacks. |
The documentation files for this Web method are as follows: