ManageMSL

<< Click to Display Table of Contents >>

Navigation:  General Functions > Configuring the MIE (Programmer's Guide) > Calling Web Services > AAWeb Web Service > Web Methods >

ManageMSL

The ManageMSL method uses its own specific calling structure and return structure:

Calling:  MSLCall

Return:  MSLReturn

Both structures contain an attributed named ds.  This attribute is a typed dataset of type dsMSL.  The dsMSL dataset contains a table with pre-defined columns to be populated.  When populating the dsMSL table, you must minimally populate the columns that are contained in the required inputs as defined below.

The dsMSL dataset table is populated with one or more rows that will be used to update the managed software list of the target customer.  The target customer is determined by the login credentials sent (the customer to which the user is assigned is the target customer).  Each row in the table contains a column entitled RowAction, which is used to direct what action to take with the input row (Add, Update, Delete).

After a successful call, a returned dataset of the type dsMSL will contain all of the same rows that were sent with a column called RowResult filled in by the method.

The MSLCall structure contains an attribute entitled bAllowPartial.  If bAllowPartial is sent as True, then partial results are permitted and each row will be attempted, regardless of any errors that may occur.  The result of each row's action will be returned in the RowResult column of the row.

If bAllowPartial is sent as False, then all actions must succeed or no action will be taken.  Any error in processing that is encountered will result in the ignoring of the entire request and processing will stop at the first error encountered.  The error message will contain the reason for the error.

When a row is marked for deletion, the MIE will enforce that no authorizations currently exist for the title that is to be deleted.  That includes authorizations for any customer who has MSL titles linked to the title to be deleted.  The delete action will not be allowed if any authorizations currently exist.

Authenticating - You may authenticate to the MIE using the userID and password attributes of the MSLCall structure.  Both are sent in clear text (over https).  The userID and password sent must be for an active and valid account on the MIE.  Optionally, you may send the value "AuthenticateViaIP" for both the UserID and password to be authenticated against a list of trusted IP addresses.  (You must request to have your server or machine added to this list).  

 

Input(s)

Output(s)

Definition

Required inputs

RowAction (string,10) - Sent as "A" for add, "D" for delete, or "U" for update.  If sent as null or blank, then the .rowstate of the current row in the input data set will be used to determine what to do with the row.

mslNo (int) - primary key value of MSL record from MIE.  Send as 0 if you wish to add a new MSL record.

AuthHowNo (int) - Determines how the MIE will assign authorizations for this title.  Valid values are 1 (By Device), 2 (By User), or 3 (By Group).  This must be passed as an integer value.

Publisher (string-50) - Publisher.

Title (string-50) - Title.

Version (string-20) - Version.

Family (string-50) - Family.

LicenseType (string-50) - License Type.

MarketPrice (float) - Market price.  Note, this is passed as a string value, but it will ultimately be stored as a float.

Optional Inputs

Class (string-30) - General purpose column typically used to do top level categorization of MSL titles.

RecordDesc (string-50) - General purpose column that is  sometimes used to carry the unique identifier in a linked database.

mslNoWiki (int) - If this title is to be linked with a wiki-master title, this is the mslNo of the wiki-master to which it should be linked.  Note, the mslNo used here MUST agree with the wiki-master customer to which this customer has been linked (at the customer level).

ReleaseDate (datetime) - The date of official release by the publisher (this value is passed as a string but stored as datetime).

WatchCompliance (int) - Sent as -1 if this title is to appear on the compliance report, 0 otherwise.

OnMSL (int) - Sent as -1 if this title is officially on the MSL, 0 otherwise.

AllowHarvest (int) - Sent as -1 if this title is transferable and harvesting is allowed, 0 otherwise.

AllowOrdering (int) - Sent as -1 if this title is allowed to be ordered through the software request portal (when requesting workstation software), 0 otherwise.

AllowOrderingServer (int) - Sent as -1 if this title is allowed to be ordered through the software request portal (when requesting server software), 0 otherwise.

RequiresApproval (int) - Sent as -1 if this title requires approval when ordered through the software request portal, 0 otherwise.

PriceToCharge (float) - The price that should be charged via the software request portal (only applies if the MIE is set to charge the charge price and not the market price.  Note this value is sent as a string but stored as a float.

 

MSLReturn.ds - The return is a copy of the dataset sent with the mslNo and RowResult columns filled in by the method.  mslNo will be filled in with the mslNo assigned (for all records that were Added).

ManageMSL is used to manage a Managed Software List (MSL) record on the MIE.  Records may be added, updated, or deleted (with restrictions on deleting) .

Records will be added under the customer context that matches the login credentials sent.  In the case of authentication by trusted IP, the customer context will be the CustNo value in the record that matching the incoming IP.  When a record is updated, the existing customer context will not be changed.