@RequestMapping(method = RequestMethod.POST)
  @ResponseBody
  public ResponseEntity<?> post(@RequestBody String inputString) {

    Configuration.logger.info(" EPCIS Masterdata Document Capture Started.... ");

    if (Configuration.isCaptureVerfificationOn == true) {

      // JSONParser parser = new JSONParser();
      JsonSchemaLoader schemaLoader = new JsonSchemaLoader();
      try {

        JSONObject jsonVocabulary = new JSONObject(inputString);
        JSONObject jsonVocabularySchema = schemaLoader.getMasterDataSchema();

        if (!CaptureUtil.validate(jsonVocabulary, jsonVocabularySchema)) {
          Configuration.logger.info("Json Document is invalid" + " about master_data_validcheck");

          return new ResponseEntity<>(
              new String("Error: EPCIS Masterdata Document is not validated"),
              HttpStatus.BAD_REQUEST);
        }
        JSONArray jsonVocabularyList =
            jsonVocabulary
                .getJSONObject("epcismd")
                .getJSONObject("EPCISBody")
                .getJSONArray("VocabularyList");
        for (int i = 0; i < jsonVocabularyList.length(); i++) {
          JSONArray jsonVocabularyElementList =
              jsonVocabularyList.getJSONObject(i).getJSONArray("Vocabulary");
          for (int j = 0; j < jsonVocabularyElementList.length(); j++) {
            if (Configuration.backend.equals("MongoDB")) {
              MasterDataWriteConverter mdConverter = new MasterDataWriteConverter();
              mdConverter.capture(jsonVocabularyElementList.getJSONObject(j));
              Configuration.logger.info(" EPCIS Masterdata Document : Captured ");
            }
          }
        }
      } catch (JSONException e) {
        Configuration.logger.info(" Json Document is not valid ");
      } catch (Exception e) {
        Configuration.logger.log(Level.ERROR, e.toString());
      }
    } else {
      JSONObject jsonVocabulary = new JSONObject(inputString);
      JSONArray jsonVocabularyList =
          jsonVocabulary
              .getJSONObject("epcismd")
              .getJSONObject("EPCISBody")
              .getJSONArray("VocabularyList");
      for (int i = 0; i < jsonVocabularyList.length(); i++) {
        JSONArray jsonVocabularyElementList =
            jsonVocabularyList.getJSONObject(i).getJSONArray("Vocabulary");
        for (int j = 0; j < jsonVocabularyElementList.length(); j++) {

          if (Configuration.backend.equals("MongoDB")) {
            MasterDataWriteConverter mdConverter = new MasterDataWriteConverter();
            mdConverter.capture(jsonVocabularyElementList.getJSONObject(i));
            Configuration.logger.info(" EPCIS Masterdata Document : Captured ");
          }
        }
        /* startpoint of validation logic for Vocabulary */
      }
    }
    return new ResponseEntity<>(new String("EPCIS Masterdata Document : Captured"), HttpStatus.OK);
  }