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

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.

Important

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:

Important

Please note that all date values returned by the above Web methods are in UTC time, using the ISO 8601 format as follows:

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>
<RequestMethod>OpenSession</RequestMethod>
<PrivateData>
<LicenseID></LicenseID>
<Password></Password>
<ActivationData>
<XmlDocument/>
</ActivationData>
</PrivateData>
<SessionCode></SessionCode>
</GetNetworkSession>

Output

Refer to the section below for output details.

The documentation files for this Web method are as follows:

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>
<RequestMethod>PollSession</RequestMethod>
<PrivateData>
<SessionID></SessionID>
<CertificatePath></CertificatePath>
<ActivationData>
<XmlDocument/>
</ActivationData>
</PrivateData>
<SessionCode></SessionCode>
</GetNetworkSession>

Output

Refer to the section below for output details.

The documentation files for this Web method are as follows:

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>
<RequestMethod>CheckoutSession</RequestMethod>
<PrivateData>
<SessionID></SessionID>
<RequestedCheckoutDuration></RequestedCheckoutDuration>
<CertificatePath></CertificatePath>
<ActivationData>
<XmlDocument/>
</ActivationData>
</PrivateData>
<SessionCode></SessionCode>
</GetNetworkSession>

Output

Refer to the section below for output details.

The documentation files for this Web method are as follows:

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>
<RequestMethod>CheckinSession</RequestMethod>
<PrivateData>
<SessionID></SessionID>
<CertificatePath></CertificatePath>
<ActivationData>
<XmlDocument/>
</ActivationData>
</PrivateData>
<SessionCode></SessionCode>
</GetNetworkSession>

Output

Refer to the section below for output details.

The documentation files for this Web method are as follows:

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>
<ResultCode></ResultCode>
<ErrorMessage></ErrorMessage>
<NetworkSession>
<SessionID></SessionID>
<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>
</NetworkSession>
<ServerDateTime></ServerDateTime>
<SessionCode></SessionCode>
</PrivateData>
</GetNetworkSession>

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:
  • 0 - Success
  • 5000 - Invalid Encryption Key ID
  • 5001 - Encryption Required
  • 5002 - Signature Required
  • 5003 - Decryption Failure
  • 5004 - Verification Failure
  • 5005 - Invalid Parameters
  • 5008 - Invalid Activation Data
  • 5017 - Invalid License Status
  • 5019 - License Expired
  • 5022 - Invalid System Time
  • 5024 - Invalid XML Document
  • 5027 - Invalid Network Session
  • 5028 - No Network Seats Remaining
  • 5032 - Network Floating Access Not Enabled
  • 5033 - Account Closed
  • 5034 - Network Floating Access Invalid Domain
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:

  • OK
  • NotFound - The network session could not be found on the server.
  • Invalid - The license status is not valid.
  • Closed - The session is closed.
  • Expired - The license has expired.
  • NoMoreSeats - No more network seats are available.
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>
<RequestMethod>CloseSession</RequestMethod>
<PrivateData>
<SessionID></SessionID>
<ActivationData>
<XmlDocument/>
</ActivationData>
</PrivateData>
<SessionCode></SessionCode>
</GetNetworkSession>

Output

The result is returned as XML in the following format:

XML
<GetNetworkSession>
<PrivateData>
<ResultCode></ResultCode>
<ErrorMessage></ErrorMessage>
<ServerDateTime></ServerDateTime>
<SessionCode></SessionCode>
</PrivateData>
</GetNetworkSession>

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:
  • 0 - Success
  • 5000 - Invalid Encryption Key ID
  • 5001 - Encryption Required
  • 5002 - Signature Required
  • 5003 - Decryption Failure
  • 5004 - Verification Failure
  • 5005 - Invalid Parameters
  • 5024 - Invalid XML Document
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: