XML License Service

The XML License Service Web service provides several Web methods for interacting with licenses.

For SOLO Server Shared URL, this can be reached at https://secure.softwarekey.com/solo/webservices/XmlLicenseService.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. 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.

The XmlLicenseService.asmx Web service offers the following Web methods:

Add/AddS

Used to add a license to a customer record. Replicates the Add New License functionality available through the Author Interface, allowing programmatic access to remotely add licenses.

This method requires passing in a SOLO Server AuthorID/API UserID/API UserPassword, and the user must have Add Licenses permission.

Add accepts an XmlDocument input parameter, while AddS accepts a string input parameter for the XML so that it is accessible via http post.

Important

Since this web method requires providing an AuthorID, API UserID, and API User Password as inputs, it should be used for internal applications only and should not be called by client applications distributed to customers. See web service security for details.

If you are currently using regular UserID and UserPassword credentials, you will need to update your application(s) to use an API UserID and API UserPassword instead, as support for the regular User ID and Password will be removed in the future.

Important

Licenses added through this web method on evaluation SOLO Server accounts will automatically be marked as test licenses, and will automatically be purged at the first of every month.

Important

This web method cannot be used to add licenses from Product Options that are configured to use the License Groups: Required setting.

Input

The values of these elements are as follows:

Parameter Data Type Required/Optional Description
AuthorID int Required SOLO Server Author ID.
UserID string Required

The API User ID of the user from the given author using the service (previously the regular User ID). The API User ID and Password need to be used, as support for the regular User ID and Password will be removed in the future.

UserPassword string Required

The API User Password for API User ID (previously the regular User Password for the User ID). The API User ID and Password need to be used, as support for the regular User ID and Password will be removed in the future.

ProdOptionID int Required The Product Option ID for the license being issued/created.
Quantity int Required The quantity for the license. Note that this DOES NOT take into account the quantity mode setting in the Product Option configuration.
UnitPrice decimal Required The unit price for the license.
Expiration date Optional The expiration date for the license, formatted as MM/dd/yyyy. If not specified, the expiration will be calculated based on the product option Days To D/L setting.
ActivationCount int Required The number of activations for the license.
DeactivationCount int Required The number of deactivations for the license.
LicenseCounter int Optional The License Counter value for the license. Omit this field or use a blank value to leave the value unset.
Version string Optional The version number to be associated with the license. This should be formatted like NNNNN.NNNNN.NNNNN.NNNNN, where each N represents a digit (leading zeroes are not required).
LicenseUpdate string Optional The value to be placed in the License Update field of the license.
Notes string Optional Any notes to be associated with the license.
CustomerID int Required The Customer ID to add the license to.
DistributorID int Optional The Distributor ID to associate the license with (if applicable).
LicenseeEmail string Optional The licensee email address.
LicenseeName string Optional The licensee name.
IsTestLicense bool Optional

Whether to mark the license as a test license. On SOLO Server Shared and Dedicated URL, test licenses are automatically purged on the first of every month so they are not billed.

The input XML is in the following format:

XML
<LicenseAdd xmlns="">
<AuthorID></AuthorID>
<UserID></UserID>
<UserPassword></UserPassword>
<ProdOptionID></ProdOptionID>
<Quantity></Quantity>
<UnitPrice></UnitPrice>
<Expiration></Expiration>
<ActivationCount></ActivationCount>
<DeactivationCount></DeactivationCount>
<LicenseCounter></LicenseCounter>
<Version></Version>
<LicenseUpdate></LicenseUpdate>
<Notes></Notes>
<CustomerID></CustomerID>
<DistributorID></DistributorID>
<LicenseeEmail></LicenseeEmail>
<LicenseeName></LicenseeName>
<IsTestLicense></IsTestLicense>
</LicenseAdd>

Output

The result is returned as XML in the following format:

XML
<?xml version="1.0" encoding="utf-8"?>
<AddPrepaidLicense xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ResultCode></ResultCode>
<LicenseID></LicenseID>
<Password></Password>
<SerialNumber></SerialNumber>
<ActivationPassword></ActivationPassword>
</AddPrepaidLicense>

The values of these elements are as follows:

Parameter Data Type Description
ResultCode int The result code:
  • -2 - Invalid XML Document
  • -1 - Invalid SOLO Server Logon
  • 0 - Success
  • 1 - Invalid ProdOptionID
  • 2 - ProdOption is a bundled option which cannot be added through the Web service
  • 3 - ProdOption is a payment plan option which cannot be added through the Web service
  • 4 - Invalid CustomerID
  • 5 - Invalid DistributorID
  • 6 - No serials available (for products configured with Assigned From List serial numbers)
  • 7 - The ProdOptionID is for an option which requires a license group, and cannot be created through this mechanism.
  • 8 - The provided expiration date is invalid.
LicenseID int The new License ID.
Password string The customer password. Note this is only returned if the user calling the web method has View Password permission or the password was not chosen by the customer. View the topic on Password Accessibility for more information.
SerialNumber string The serial number of the new license (if applicable).
ActivationPassword string The randomly generated activation password for the new license.

InfoCheck/InfoCheckS

Returns data about the license's activation details and optionally customer registration details.

InfoCheck accepts an XmlDocument input parameter, while InfoChecks accepts a string input parameter for the XML so that it is accessible via http post.

Input

The values of these elements are as follows:

Parameter Data Type Required/Optional Description
LicenseID int Required for LicenseID/Password authentication, otherwise optional. The License ID.
Password string Required if access to licensee, customer registration, or user defined field data is needed, otherwise optional. The customer password or license activation password. For Assigned from List serial numbers, the serial number password may also be used.

If provided, the server will validate the password, and the licensee, customer registration, and user defined field information will be populated in the output. If omitted, these fields will not be populated in the output.
SerialNumber string Required for SerialNumber/ProductID authentication, otherwise optional. The Serial Number associated with the license which is being checked.
ProductID int Required for SerialNumber/ProductID authentication, otherwise optional. The Product ID. If passed in, the server will validate the Product ID against the Product ID associated with the license.

The input is XML in the following format:

XML
<LicenseInfoCheck xmlns="">
<LicenseID></LicenseID>
<Password></Password>
<SerialNumber></SerialNumber>
<ProductID></ProductID>
</LicenseInfoCheck>

Output

The result is returned as XML in the following format:

XML
<?xml version="1.0" encoding="utf-8"?>
<LicenseInfoCheck xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ResultCode></ResultCode>
<ProductID></ProductID>
<ProductName></ProductName>
<LatestVersion></LatestVersion>
<ProdOptionID></ProdOptionID>
<OptionName></OptionName>
<TCFixedValue></TCFixedValue>
<EnteredDate></EnteredDate>
<Status></Status>
<Quantity></Quantity>
<ReplacedBy></ReplacedBy>
<RemainingActivations></RemainingActivations>
<RemainingDeactivations></RemainingDeactivations>
<DownloadExpiration></DownloadExpiration>
<LicenseUpdate></LicenseUpdate>
<CurrentVersion></CurrentVersion>
<InvoiceNo></InvoiceNo>
<LicenseeEmail></LicenseeEmail>
<LicenseeName></LicenseeName>
<IsTestLicense></IsTestLicense>
<LicenseCounter></LicenseCounter>
<CustomerID></CustomerID>
<Company></Company>
<FirstName></FirstName>
<LastName></LastName>
<Address1></Address1>
<Address2></Address2>
<City></City>
<StateProvince></StateProvince>
<PostalCode></PostalCode>
<Country></Country>
<Email></Email>
<Phone></Phone>
<Fax></Fax>
<UDefChar1></UDefChar1>
<UDefChar2></UDefChar2>
<UDefChar3></UDefChar3>
<UDefChar4></UDefChar4>
<UDefChar5></UDefChar5>
<UDefChar6></UDefChar6>
<UDefChar7></UDefChar7>
<UDefChar8></UDefChar8>
<UDefChar9></UDefChar9>
<UDefChar10></UDefChar10>
<UDefNum1></UDefNum1>
<UDefNum2></UDefNum2>
<UDefNum3></UDefNum3>
<UDefNum4></UDefNum4>
<UDefNum5></UDefNum5>
<UDefFloat1></UDefFloat1>
<UDefFloat2></UDefFloat2>
<UDefFloat3></UDefFloat3>
<UDefFloat4></UDefFloat4>
<UDefFloat5></UDefFloat5>
<UDefDate1></UDefDate1>
<UDefDate2></UDefDate2>
<UDefDate3></UDefDate3>
<UDefDate4></UDefDate4>
<UDefDate5></UDefDate5>
</LicenseInfoCheck>

The values of these elements are as follows:

Parameter Data Type Description
ResultCode int The result code:
  • -2 - Invalid XML Document
  • 0 - OK
  • 100 - Invalid License ID or Invalid License ID/Password combination
  • 200 - Invalid ProductID
ProductID int The Product ID of the license.
ProductName string The Product Name.
LatestVersion string The Latest Version from the product.
ProdOptionID int The Product Option ID of the license.
OptionName string The Product Option Name.
TCFixedValue int The TC Fixed Value parameter from the option.
EnteredDate datetime The date and time the license was originally entered into the server.
Status string The license status.
Quantity int The quantity on the license.
ReplacedBy string The License ID of a license that has replaced the license.
RemainingActivations int The number of activations remaining on the license.
RemainingDeactivations int The number of deactivations remaining on the license.
DownloadExpiration date The download expiration date for the license.
LicenseUpdate string The License Update data for the license.
CurrentVersion string The Current version of the license.
InvoiceNo int The Invoice Number for the license. Note that this will only be returned if the CustomerID on the License matches the CustomerID on the invoice.
LicenseeEmail string The licensee email address. Only populated if a password is provided.
LicenseeName string The licensee name. Only populated if a password is provided.
IsTestLicense bool Whether to mark the license as a test license. On SOLO Server Shared and Dedicated URL, test licenses are automatically purged on the first of every month so they are not billed.
LicenseCounter int The license counter.
The remaining elements string/int/date The remaining elements are the CustomerID and customer contact details, and the license User-Defined fields. If the password is not provided, these fields will not be populated. Additionally, individual User-Defined field elements will not be present when they lack a value.

UpdateCheck/UpdateCheckS

Checks for an update for a license or product and returns update information if applicable.

UpdateCheck accepts an XmlDocument input parameter, while UpdateCheckS accepts a string input parameter for the XML so that it is accessible via http post.

Input

The values of these elements are as follows:

Parameter Data Type Required/Optional Description
LicenseID int Optional The License ID.
Password string Optional The customer password or license activation password. If provided, this will be validated if the product update specifies verifying the password.
ProductID int Optional The Product ID. If both LicenseID and ProductID are provided, the provided ProductID will be validated to match the license ProductID.
ProductName string Optional The product name for the update to look for.
LanguageCode string Optional The two character language code for the update short message. Default is "en". Pass in blank to use default.
VerifyDaysToDL bool Optional Specifies whether to verify the download expiration date of the license has not expired (if the LicenseID is provided). Note that for product options configured for perpetual download (Days to Download of 0), this is ignored and no verification will take place.
Version string Optional The current version number. This should be formatted like NNNNN.NNNNN.NNNNN.NNNNN, where each N represents a digit (leading zeroes are not required).

The input is XML in the following format:

XML
<LicenseUpdateCheck xmlns="">
<LicenseID></LicenseID>
<Password></Password>
<ProductID></ProductID>
<ProductName></ProductName>
<LanguageCode></LanguageCode>
<VerifyDaysToDL></VerifyDaysToDL>
<Version></Version>
</LicenseUpdateCheck>

Output

The result is returned as XML in the following format:

XML
<?xml version="1.0" encoding="utf-8"?>
<LicenseUpdateCheck xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ResultCode></ResultCode>
<Status></Status>
<ReplacedBy></ReplacedBy>
<LicenseUpdate></LicenseUpdate>
<VersionString></VersionString>
<VersionLong></VersionLong>
<ActionToTake></ActionToTake>
<URLInfo></URLInfo>
<URLFile></URLFile>
<URLFileServerName></URLFileServerName>
<URLFilePort></URLFilePort>
<URLFilePathOrFileName></URLFilePathOrFileName>
<URLFileUserName></URLFileUserName>
<URLFilePassword></URLFilePassword>
<LatestFreeVersion></LatestFreeVersion>
<ReleaseDate></ReleaseDate>
<ShortMessage></ShortMessage>
<NoMoreDL></NoMoreDL>
<LicenseAgreementUrl></LicenseAgreementUrl>
</LicenseUpdateCheck>

The values of these elements are as follows:

Parameter Data Type Description
ResultCode int The result code:
  • -2 - Invalid XML Document
  • 0 - OK
  • 100 - Invalid License ID or License ID/Password combination
  • 200 - Invalid Product ID
  • 300 - Expired - the download expiration is passed
  • 400 - The Version passed is in the incorrect format. The Version should be in the format N.N.N.N, where N is a positive integer up to 1-5 digits, for example 1.10.2.1500.
Status string The license status.
ReplacedBy string The License ID of a license that has replaced the license.
LicenseUpdate string The License Update data for the license.
VersionString string The string representation of the current version number.
VersionLong long The long representation of the current version number.
ActionToTake string The action to take for the update.
  • NONE - Take no action
  • DNFTP - Download through FTP
  • DNHTP - Download through http
  • SECURE - The update is marked as requiring password verification and the passed in password did not match
  • GOURL - Got to a specified URL on the Web
  • MSG - Display a message
URLInfo string The URL to go to for more information.
URLFile string Information about building the URL for the update file. This depends on the authentication method:
  • License ID/Password
    • Server Name|Port|Path/Filename|[varUserName]|[varPassword]
  • Custom FTP
    • Server Name|Port|Path/Filename|FTP UserName|FTP Password
  • No Authentication
    • Server Name|Port|Path/Filename||"

Note that these values are now automatically parsed and output in the following five URLFile entries below.

URLFileServerName string The server name for downloading the update.
URLFilePort string The port number to use for downloading the update.
URLFilePathOrFileName string The path and filename of the file to download relative to the root URL specified in the URLFileServerName.
URLFileUserName string The username to use for downloading the update.
URLFilePassword string The password to use for downloading the update.
LatestFreeVersion string The latest free version of the update.
ReleaseDate date The release date of the update.
ShortMessage string The short message defined on the update for the language code passed in or the default "en" message if no code was passed in.
NoMoreDL date The license download expiration date.
LicenseAgreementUrl string The URL to view the license agreement.

ValidateRegistration/ValidateLicenseRegistrationS

Validates whether a license is registered, returning the registration if the Password is passed in and validated.

ValidateLicenseRegistration accepts an XmlDocument input parameter, while ValidateLicenseRegistrationS accepts a string input parameter for the XML so that it is accessible via http post.

Input

The values of these elements are as follows:

Parameter Data Type Required/Optional Description
LicenseID int Required for LicenseID/Password authentication, otherwise optional. The License ID.
Password string Required The customer password or license activation password. For Assigned from List serial numbers, the serial number password may also be used
SerialNumber string Required for SerialNumber/ProductID authentication, otherwise optional. The serial number.
ProductID int Required for SerialNumber/ProductID authentication, otherwise optional. The Product ID.

The input is XML in the following format:

XML
<?xml version="1.0" encoding="utf-8"?>
<ValidateRegistration xmlns="">
<LicenseID></LicenseID>
<Password></Password>
<SerialNumber></SerialNumber>
<ProductID></ProductID>
</ValidateRegistration>

Output

The result is returned as XML in the following format:

XML
<?xml version="1.0" encoding="utf-8"?>
<LicenseRegistration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ResultCode></ResultCode>
<CustomerID></CustomerID>
<Company></Company>
<FirstName></FirstName>
<LastName></LastName>
<Address1></Address1>
<Address2></Address2>
<City></City>
<StateProvince></StateProvince>
<PostalCode></PostalCode>
<Country></Country>
<Phone></Phone>
<Fax></Fax>
<Email></Email>
<Notes></Notes>
<EuropeanUnionVATNumber></EuropeanUnionVATNumber>
<ProductID></ProductID>
<ProdOptionID></ProdOptionID>
<LicenseEmail></LicenseEmail>
<LicenseName></LicenseName>
</LicenseRegistration>

The values of these elements are as follows:

Parameter Data Type Description
ResultCode int The result code. Values are as follows:
  • -2 - Invalid XML Document
  • 0 - Success
  • 100 - Invalid LicenseID/Password or SerialNumber/ProductID
  • 300 - License not registered
CustomerID int The Customer ID, which uniquely identifies the customer to which this License ID belongs.
Company string The customer's company name.
FirstName string The customer's first name.
LastName string The customer's last name.
Address1 string The customer's street address (or line 1 of the customer's address).
Address2 string The customer's second address line (i.e. apartment or suite number).
City string The city of the customer's address.
StateProvince string The state/province of the customer's address.
PostalCode int The customer's zip/postal code.
Country string The customer's company name.
Phone string The customer's phone number.
Fax string The customer's fax number.
Email string The customers' email address.
Notes string Any notes associated with the customer.
EuropeanUnionVATNumber string The customer's EU VAT Number.
ProductID int The Product ID to which the License ID belongs.
ProdOptionID int The Product Option ID to which the License ID belongs.
LicenseeEmail string The licensee email address.
LicenseeName string The licensee name.

Register/RegisterS & UpdateRegistration/UpdateRegistrationS

Registers customer information for an unregistered license or updates the registration on a registered license. These two Web methods are essentially identical except that Register will return an error if the customer is already registered.

Register/UpdateRegistration accept an XmlDocument input parameter, while RegisterS/UpdateRegistrationS accept a string input parameter for the XML so that it is accessible via http post.

Input

The values of these elements are as follows:

Parameter Data Type Required/Optional Description
LicenseID int Required for LicenseID/Password authentication, otherwise optional. The License ID.
Password string Required The customer password or license activation password. For Assigned from List serial numbers, the serial number password may also be used.
SerialNumber string Required for SerialNumber/ProductID authentication, otherwise optional. The serial number.
ProductID int Required for SerialNumber/ProductID authentication, otherwise optional. The Product ID to which the License ID belongs (optional, recommended).
Company string Optional The customer's company name.
FirstName string Optional The customer's first name.
LastName string Optional The customer's last name.
Address1 string Optional The customer's street address (or line 1 of the customer's address).
Address2 string Optional The customer's second address line (i.e. apartment or suite number).
City string Optional The city of the customer's address.
StateProvince string Optional The state/province of the customer's address. For US or Canadian addresses, this should be validated to be a valid state/province code. See State Codes and Country Strings as well as Client Validation Script for details on validation.
PostalCode string Optional The customer's zip/postal code. This should be a valid SOLO Server postal code string. See State Codes and Country Strings as well as Client Validation Script for details on validation.
Country string Optional The country of the customer's address. For US and Canadian addresses, this should be validated to be a valid postal code. See State Codes and Country Strings as well as Client Validation Script for details on validation.
Phone string Optional The customer's phone number.
Fax string Optional The customer's fax number.
Email string Optional The customers' email address.
Notes string Optional Any notes associated with the customer.
EuropeanUnionVATNumber string Optional The customer's EU VAT Number.
NewPassword string Optional A new password to assign to the customer. Leave blank to keep the password unchanged. Note that this will only be updated if the customer password is used for authentication.
LicenseeOnly boolean Optional Whether to only update the licensee fields (LicenseeEmail and LicenseeName). When omitted, this defaults to false.
LicenseeEmail string Optional The licensee email address.
LicenseeName string Optional The licensee name.

The input is XML in the following format:

XML
<?xml version="1.0" encoding="utf-8"?>
<Register xmlns="">
<LicenseID></LicenseID>
<Password></Password>
<SerialNumber></SerialNumber>
<ProductID></ProductID>
<Company></Company>
<FirstName></FirstName>
<LastName></LastName>
<Address1></Address1>
<Address2></Address2>
<City></City>
<StateProvince></StateProvince>
<PostalCode></PostalCode>
<Country></Country>
<Phone></Phone>
<Fax></Fax>
<Email></Email>
<Notes></Notes>
<EuropeanUnionVATNumber></EuropeanUnionVATNumber>
<NewPassword></NewPassword>
<LicenseeOnly></LicenseeOnly>
<LicenseeEmail></LicenseeEmail>
<LicenseeName></LicenseeName>
</Register>

Output

The result is returned as XML in the following format:

XML
<?xml version="1.0" encoding="utf-8"?>
<LicenseRegistrationResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ResultCode></ResultCode>
<CustomerID></CustomerID>
</LicenseRegistrationResult>

The values of these elements are as follows:

Parameter Data Type Description
ResultCode int The result code. Values are as follows:
  • -2 - Invalid XML Document
  • 0 - Success
  • 100 - Invalid LicenseID/Password/SerialNumber
  • 300 - Customer already registered. This will only be returned from the Register method.
CustomerID int The CustomerID associated with the license. Note that this can change from the original CustomerID associated with the license if the entered customer data causes a merge to occur.

UpdateActivationFields

Updates the activation related fields on a license.

This method requires passing in a SOLO Server AuthorID/API UserID/API UserPassword, and the user must have Edit Licenses permission.

Important

Since this web method requires providing an AuthorID, API UserID, and API User Password as inputs, it should be used for internal applications only and should not be called by client applications distributed to customers. See web service security for details.

If you are currently using regular UserID and UserPassword credentials, you will need to update your application(s) to use an API UserID and API UserPassword instead, as support for the regular User ID and Password will be removed in the future.

Input

All elements aside from AuthorID, UserID, UserPassword, and LicenseID are optional - if not passed in the existing value on the license record will be maintained. The values of these elements are as follows:

Parameter Data Type Required/Optional Description
AuthorID int Required SOLO Server Author ID.
UserID string Required The API User ID of the user from the given author using the service (previously the regular User ID). The API User ID and Password need to be used, as support for the regular User ID and Password will be removed in the future.
UserPassword string Required The API User Password for API User ID (previously the regular User Password for the User ID). The API User ID and Password need to be used, as support for the regular User ID and Password will be removed in the future.
LicenseID int Required The License ID to update.
Status string Optional The status to set the License to. Must be one of the following values (pass only the initial code such as OK - do not include the description):
  • OK
  • DUP - Duplicate
  • VOI - Void
  • FRD - Fraud
  • RET - Returned
  • EXP - Expired
  • CHK - Check/Validate
  • UPG - Upgrade
ActivationsLeft int Optional Absolute value to set the Activations Left to.
ActivationsIncrement int Optional Used in place of ActivationsLeft. Increments the existing Activations Left by the given value.
DeactivationsLeft int Optional Absolute value to set the Deactivations Left to.
DeactivationsIncrement int Optional Used in place of DeactivationsLeft. Increments the existing Deactivations Left by the given value.
LicenseCounter int Optional Absolute value to set the License Counter to.
LicenseCounterIncrement int Optional Used in place of LicenseCounter. Increments the existing License Counter by the given value.
ExpirationDate date Optional Absolute value to set the Expiration Date to, formatted as MM/dd/yyyy.
ExpirationDateIncrement int Optional Used in place of ExpirationDate. Increments the existing Expiration Date by the given number of days.
LicenseUpdate string Optional Absolute value to set the License Update field on the license to.
SerialNumberText string Optional Absolute value to set the Serial Number Text field on the license to.

The input XML is in the following format. The value is passed as a string to the Web method, and all white space between the XML elements should be removed before passing the value to the server.

XML
<UpdateActivationFields xmlns="">
<AuthorID></AuthorID>
<UserID></UserID>
<UserPassword></UserPassword>
<LicenseID></LicenseID>
<Status></Status>
<ActivationsLeft></ActivationsLeft>
<ActivationsIncrement></ActivationsIncrement>
<DeactivationsLeft></DeactivationsLeft>
<DeactivationsIncrement></DeactivationsIncrement>
<LicenseCounter></LicenseCounter>
<LicenseCounterIncrement></LicenseCounterIncrement>
<ExpirationDate></ExpirationDate>
<ExpirationDateIncrement></ExpirationDateIncrement>
<LicenseUpdate></LicenseUpdate>
<SerialNumberText></SerialNumberText>
</UpdateActivationFields >

Output

The result is returned as XML in the following format:

XML
<UpdateLicenseActivationFields>
<ResultCode></ResultCode>
</UpdateLicenseActivationFields >

The values of these elements are as follows:

Parameter Data Type Description
ResultCode int The result code:
  • -2 - Invalid XML Document
  • -1 - Invalid SOLO Server Logon, Invalid user permissions, or Invalid LicenseID
  • 0 - Success
  • 50 - Invalid parameters. Either no update fields are present, or there is an invalid value in one of the input parameters.

UpdateUserDefinedFields/UpdateUserDefinedFieldsS

Updates the user defined fields on a license. This method can be called in two ways:

Important

Since this web method requires providing an AuthorID, API UserID, and API User Password as inputs, it should be used for internal applications only and should not be called by client applications distributed to customers. See web service security for details.

If you are currently using regular UserID and UserPassword credentials, you will need to update your application(s) to use an API UserID and API UserPassword instead, as support for the regular User ID and Password will be removed in the future.

Input

The values of these elements are as follows:

Parameter Data Type Required/Optional Description
AuthorID int Optional when used with a Product Option with User Defined Fields Writable enabled, otherwise required. SOLO Server Author ID
UserID string Optional when used with a Product Option with User Defined Fields Writable enabled, otherwise required. The API User ID of the user from the given author using the service (previously the regular User ID). The API User ID and Password need to be used, as support for the regular User ID and Password will be removed in the future.
UserPassword string Optional when used with a Product Option with User Defined Fields Writable enabled, otherwise required. The API User Password for API User ID (previously the regular User Password for the User ID). The API User ID and Password need to be used, as support for the regular User ID and Password will be removed in the future.
LicenseID int Required The License ID.
Password string Optional when used with a Product Option with User Defined Fields Writable disabled, otherwise required. The customer password or license activation password.
UDefCharN string Optional The user defined character (string) fields - up to 50 characters are allowed for each.
UDefNumN int Optional The user defined number (integer) fields.
UDefFloatN double Optional The user defined floating point (double) fields.
UDefDateN datetime Optional The user defined date fields.

Note that the UDefCharN, UDefNumN, uDefFloatN, and UDefDate fields are optional, however for any that are omitted the field on the license will be updated with a NULL value.

The input is XML in the following format:

XML
<?xml version="1.0" encoding="utf-8"?>
<UpdateUserDefinedFields xmlns="">
<LicenseID></LicenseID>
<Password></Password>
<UDefChar1></UDefChar1>
<UDefChar2></UDefChar2>
<UDefChar3></UDefChar3>
<UDefChar4></UDefChar4>
<UDefChar5></UDefChar5>
<UDefChar6></UDefChar6>
<UDefChar7></UDefChar7>
<UDefChar8></UDefChar8>
<UDefChar9></UDefChar9>
<UDefChar10></UDefChar10>
<UDefNum1></UDefNum1>
<UDefNum2></UDefNum2>
<UDefNum3></UDefNum3>
<UDefNum4></UDefNum4>
<UDefNum5></UDefNum5>
<UDefFloat1></UDefFloat1>
<UDefFloat2></UDefFloat2>
<UDefFloat3></UDefFloat3>
<UDefFloat4></UDefFloat4>
<UDefFloat5></UDefFloat5>
<UDefDate1></UDefDate1>
<UDefDate2></UDefDate2>
<UDefDate3></UDefDate3>
<UDefDate4></UDefDate4>
<UDefDate5></UDefDate5>
</UpdateUserDefinedFields>

Output

The result is returned as XML in the following format:

XML
<?xml version="1.0" encoding="utf-8"?>
<UpdateUserDefinedFields xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ResultCode></ResultCode>
</UpdateUserDefinedFields>

The values of these elements are as follows:

Parameter Data Type Description
ResultCode int The result code. Values are as follows:
  • -2 - Invalid XML Document
  • 0 - Success
  • 100 - Invalid LicenseID/Password, or the license product option does not have the user defined fields marked as writable.

GetLicenseCustomData/GetLicenseCustomDataS

Retrieves the content of the Custom Data field for a given license.

This method requires passing in a SOLO Server AuthorID/API UserID/API UserPassword.

GetLicenseCustomData accepts an XmlDocument input parameter, while GetLicenseCustomDataS accepts a string input parameter for the XML so that it is accessible via http post.

Important

Since this web method requires providing an AuthorID, API UserID, and API User Password as inputs, it should be used for internal applications only and should not be called by client applications distributed to customers. See web service security for details.

If you are currently using regular UserID and UserPassword credentials, you will need to update your application(s) to use an API UserID and API UserPassword instead, as support for the regular User ID and Password will be removed in the future.

Input

The values of these elements are as follows:

Parameter Data Type Required/Optional Description
AuthorID int Required SOLO Server Author ID.
UserID string Required The API User ID of the user from the given author using the service (previously the regular User ID). The API User ID and Password need to be used, as support for the regular User ID and Password will be removed in the future.
UserPassword string Required The API User Password for API User ID (previously the regular User Password for the User ID). The API User ID and Password need to be used, as support for the regular User ID and Password will be removed in the future.
LicenseID int Required The License ID to get the Custom Data for.

The input is XML in the following format:

XML
<GetLicenseCustomData xmlns="">
<AuthorID></AuthorID>
<UserID></UserID>
<UserPassword></UserPassword>
<LicenseID></LicenseID>
</GetLicenseCustomData>

Output

The result is returned as XML in the following format:

XML
<GetLicenseCustomData xmlns="">
<ResultCode></ResultCode>
<LicenseCustomData></LicenseCustomData>
</GetLicenseCustomData>

The values of these elements are as follows:

Parameter Data Type Description
ResultCode int The result code:
  • -2 - Invalid XML Document
  • -1 - Invalid SOLO Server Logon or Invalid License ID
  • 0 - OK
LicenseCustomData string or XML The Custom Data value for the license. If the value is a valid XML document, the XML document will be embedded as a child of the LicenseCustomData element, otherwise, the value will simply be a string.

UpdateLicenseCustomData/UpdateLicenseCustomDataS

Updates the content of the Custom Data field for a given license.

This method requires passing in a SOLO Server AuthorID/API UserID/API UserPassword, and the user must have the Edit Licenses permission.

UpdateLicenseCustomData accepts an XmlDocument input parameter, while UpdateLicenseCustomDataS accepts a string input parameter for the XML so that it is accessible via http post.

Important

Since this web method requires providing an AuthorID, API UserID, and API User Password as inputs, it should be used for internal applications only and should not be called by client applications distributed to customers. See web service security for details.

If you are currently using regular UserID and UserPassword credentials, you will need to update your application(s) to use an API UserID and API UserPassword instead, as support for the regular User ID and Password will be removed in the future.

Input

The values of these elements are as follows:

Parameter Data Type Required/Optional Description
AuthorID int Required SOLO Server Author ID.
UserID string Required The API User ID of the user from the given author using the service (previously the regular User ID). The API User ID and Password need to be used, as support for the regular User ID and Password will be removed in the future.
UserPassword string Required The API User Password for API User ID (previously the regular User Password for the User ID). The API User ID and Password need to be used, as support for the regular User ID and Password will be removed in the future.
LicenseID int Required The License ID to update the Custom Data for.
LicenseCustomData string or XML Optional The value to update the Custom Data field to. If the value is an XML document, the document should be embedded as a child of this element and the Format field outlined below should be set to XML. To clear the value on the license, pass in a blank value or omit this element.
Format string Optional If the License Custom Data is an XML document, set this value must be set to XML in order for the web method to properly parse the content as an embedded XML document. In addition, when set to XML, additional validation will be performed to ensure the value is a valid XML document.

The input is XML in the following format:

XML
<UpdateLicenseCustomData xmlns="">
<AuthorID></AuthorID>
<UserID></UserID>
<UserPassword></UserPassword>
<LicenseID></LicenseID>
<LicenseCustomData></LicenseCustomData>
<Format></Format>
</UpdateLicenseCustomData>

Output

The result is returned as XML in the following format:

XML
<GetLicenseCustomData xmlns="">
<ResultCode></ResultCode>
</GetLicenseCustomData>

The values of these elements are as follows:

Parameter Data Type Description
ResultCode int The result code:
  • -2 - Invalid XML Document
  • -1 - Invalid SOLO Server Logon or Invalid License ID
  • 0 - OK
  • 1 - Invalid Format. The format was specified as XML but the LicenseCustomData field does not contain a valid embedded xml document.