You are here: Catalog Elements > Product > associateFeaturesWithProduct

Associate Features with Product

Description

Associates features with products. Comma separated ftrIds are provided as input. The output is the union of already existing features and new features to be associated.

Default Protocol Method Type URI
HTTPS POST associateFeaturesWithProduct.xml

Post Parameters

Parameter Description Valid Values Optional
productId Specify the product ID. Integer (>0) No
ftrIds Specify unique record IDs of features (as stored in EMS database) to be associated. String (comma separated feature IDs) No

Sample Code

import java.io.IOException;
//..............................
//..............................
//..............................
import org.apache.http.params.HttpParams;
public class EMSSample {
        private static DefaultHttpClient httpclient = new DefaultHttpClient();
        private static Principal principal = null;
        //..............................
        //..............................
        //..............................
        public static String associateFeaturesWithProduct.xml()throws Exception {
                if(!verifyLogin()){
                        return "login failed";
                }
                HttpContext context = new BasicHttpContext();
                context.setAttribute(ClientContext.USER_TOKEN, principal);
                HttpPost post = new HttpPost("https://localhost:8080/ems/3.6/associateFeaturesWithProduct.xml");
                List<NameValuePair> nvps = new ArrayList<NameValuePair>();
                nvps.add(new BasicNameValuePair("featureIds", ""));
                nvps.add(new BasicNameValuePair("productId", ""));
                post.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
                HttpResponse response = httpclient.execute(post, context);
                HttpEntity entity = response.getEntity();
                byte[] b = null;
                if (entity != null) {
                        long l = entity.getContentLength();
                        b = new byte[(int) l];
                        entity.getContent().read(b);
                        entity.consumeContent();
                }
                return new String(b);
        }
}

Sample Response

<?xml version="1.0" encoding="UTF-8"?>
<emsResponse>
   <features>
      <feature>
         <id>1</id>
      </feature>
   </features>
   <id>21</id>
   <stat>ok</stat>
</emsResponse>
 
See Also:

Output Format for Failure

Error Codes

Error Code Description
100 Invalid request parameter.
101 You are not authorized to use this service.
102 Invalid data entered.
107 An internal error occurred! Please report the error to System administrator.
118 {field} should be of data type integer. [Note: This error code is applicable for the fields - featureId, License modelId, entId, ftrId, customerId, lmId, templateType, lineItemId, CustomerId, stationCount, status, and granularity.]
122 {field} is a required field and should have a not null value. [Note: This error code is applicable for the fields - Eid, namespaceName, featureName, startDate, endDate, userIds, featureId, productName, productVersion, detailsLM, lmId, templateType, customAttribute, lineItemId, customerRefId, granularity, loginId, oldPassword, and newPassword.]
128 You should log on first.
132 The URL address does not exist.
133 Invalid namespace.
301 Unable to find product for ID ‘Id’
304 Mentioned feature ids are not correct.
309 Unable to find feature.
333 Product already in complete state and cannot be updated.
344 Product already in End Of Life state and cannot be Updated/deleted.
1081 Invalid Web service version provided
1084 No Web service version provided
1088 The EMS system is running on HTTPS. Please provide the correct Web service URL.