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
- 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. 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.
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.
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.
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.
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></LicenseAdd>
<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>
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></AddPrepaidLicense>
<SerialNumber></SerialNumber>
<ActivationPassword></ActivationPassword>
The values of these elements are as follows:
Parameter | Data Type | Description |
---|---|---|
ResultCode | int | The result code:
|
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></LicenseInfoCheck>
<Password></Password>
<SerialNumber></SerialNumber>
<ProductID></ProductID>
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></LicenseInfoCheck>
<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>
The values of these elements are as follows:
Parameter | Data Type | Description |
---|---|---|
ResultCode | int | The result code:
|
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></LicenseUpdateCheck>
<Password></Password>
<ProductID></ProductID>
<ProductName></ProductName>
<LanguageCode></LanguageCode>
<VerifyDaysToDL></VerifyDaysToDL>
<Version></Version>
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"></LicenseUpdateCheck>
<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>
The values of these elements are as follows:
Parameter | Data Type | Description |
---|---|---|
ResultCode | int | The result code:
|
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.
|
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:
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></ValidateRegistration>
<Password></Password>
<SerialNumber></SerialNumber>
<ProductID></ProductID>
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></LicenseRegistration>
<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>
The values of these elements are as follows:
Parameter | Data Type | Description |
---|---|---|
ResultCode | int | The result code. Values are as follows:
|
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. |
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. |
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></Register>
<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>
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></LicenseRegistrationResult>
<CustomerID></CustomerID>
The values of these elements are as follows:
Parameter | Data Type | Description |
---|---|---|
ResultCode | int | The result code. Values are as follows:
|
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.
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):
|
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></UpdateActivationFields >
<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>
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:
|
UpdateUserDefinedFields/UpdateUserDefinedFieldsS
Updates the user defined fields on a license. This method can be called in two ways:
- For Product Options which have the User Defined Fields Writable setting enabled, this method can be called by providing the LicenseID and Customer or Activation Password of the license to be updated.
- For Product Options which do not have the User Defined Fields Writable setting enabled, this method must be called by providing an AuthorID/API UserID/API UserPassword along with the LicenseID of the license to be updated, and the user must have Edit Licenses permission.
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></UpdateUserDefinedFields>
<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>
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:
|
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.
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></GetLicenseCustomData>
<UserID></UserID>
<UserPassword></UserPassword>
<LicenseID></LicenseID>
Output
The result is returned as XML in the following format:
- XML
- <GetLicenseCustomData xmlns="">
<ResultCode></ResultCode></GetLicenseCustomData>
<LicenseCustomData></LicenseCustomData>
The values of these elements are as follows:
Parameter | Data Type | Description |
---|---|---|
ResultCode | int | The result code:
|
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.
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></UpdateLicenseCustomData>
<UserID></UserID>
<UserPassword></UserPassword>
<LicenseID></LicenseID>
<LicenseCustomData></LicenseCustomData>
<Format></Format>
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:
|