cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
pauleagle7
Level 3

VENDOR_STRING not expected error

I'm running FNO 12.8 with the FNP 11.10.1 toolkit. I'm trying to create entitlements programmatically for a product that supports Retail Activation and Nodelocked Uncounted models. I'm specifying values for the SERIAL_NUMBER and VENDOR_STRING fields. When I call the createSimpleEntitlement function, I get an error response with the message "createSimpleEntitlement web service failed:The attribute VENDOR_STRING was not expected".

What is the cause of this error?

Code snippet follows:

createSimpleEntitlementDataType request = new createSimpleEntitlementDataType();

request.autoDeploy = true;
request.autoDeploySpecified = true;
request.soldTo = soldTo;
request.entitlementId = new idType();
request.entitlementId.autoGenerate = true;
request.entitlementId.autoGenerateSpecified = true;

request.lineItems = new createEntitlementLineItemDataType[orderedItems.Count];

for (int index = 0; index < orderedItems.Count; index++)
{
Orderable item = (Orderable)orderedItems[index];
createEntitlementLineItemDataType lineItem = new createEntitlementLineItemDataType();

lineItem.licenseModel = new licenseModelIdentifierType();
lineItem.licenseModel.primaryKeys = new licenseModelPKType();
lineItem.licenseModel.primaryKeys.name = "Retail Activation";

lineItem.licenseModelAttributes = new attributeDescriptorType[2];
lineItem.licenseModelAttributes[0] = new attributeDescriptorType();
lineItem.licenseModelAttributes[1] = new attributeDescriptorType();
lineItem.licenseModelAttributes[0].attributeName = "SERIAL_NUMBER";
lineItem.licenseModelAttributes[0].stringValue = item.SN;
lineItem.licenseModelAttributes[1].attributeName = "VENDOR_STRING";
lineItem.licenseModelAttributes[1].stringValue = item.VendorStr;

lineItem.alternateLicenseModel1 = new licenseModelIdentifierType();
lineItem.alternateLicenseModel1.primaryKeys = new licenseModelPKType();
lineItem.alternateLicenseModel1.primaryKeys.name = "Nodelocked Uncounted";

lineItem.product = new productIdentifierType();
lineItem.product.primaryKeys = new productPKType();
lineItem.product.primaryKeys.name = item.Product;
lineItem.product.primaryKeys.version = versionNo;

lineItem.activationId = new idType();
lineItem.activationId.autoGenerate = true;
lineItem.activationId.autoGenerateSpecified = true;

lineItem.numberOfCopies = item.Quantity;
lineItem.orderId = item.Order_Num;
if ((item.Expiration == null) || (item.Expiration == ""))
{
lineItem.isPermanent = true;
lineItem.isPermanentSpecified = true;
}
else
{
lineItem.expirationDate = DateTime.Parse(item.Expiration);
lineItem.expirationDateSpecified = true;
}
lineItem.startDate = DateTime.Now;
lineItem.startDateSpecified = true;
lineItem.startDateOption = StartDateOptionType.DEFINE_NOW;
lineItem.startDateOptionSpecified = true;

request.lineItems[index] = lineItem;
}

createSimpleEntitlementDataType[] requestArray = new createSimpleEntitlementDataType[1];
requestArray[0] = request;

createSimpleEntitlementResponseType response = FNO_ES.createSimpleEntitlement(requestArray);
0 Kudos
(1) Reply
pauleagle7
Level 3

I think I found the answer to my problem. When I configured the License Models, I did not change the Vendor String setting to allow setting at entitlement time.
0 Kudos