{
  "synLogic": "int $ret \u003d $api($1, $2, $3, $4, $5);",
  "help": "Put message in the JMS topic using connection taken using get connection API. This api will put message on Kafka server. To produce or send messages to a Kafka topic, you typically use the producer API provided by the Kafka client library. The specific method for sending messages depends on the programming language and client library you are using.",
  "notes": "",
  "returns": "Returns an integer value in C, representing the success or failure of the function. If the function succeeds, it returns 0. If the function fails, it returns a value less than 0. In Java this function returns true for success and false for failure",
  "arguments": "\u003ctable class\u003d\"newGuiTable\" style\u003d\"width:100%\"\u003e \u003ctbody\u003e\u003ctr\u003e \u003cth\u003e Argument \u003c/th\u003e \u003cth\u003e Description \u003c/th\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e JPCID \u003c/td\u003e \u003ctd\u003e It is the Connection ID for Java Messaging Service\u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e Message \u003c/td\u003e \u003ctd\u003e A pointer to the message that needs to be put in the topic. \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e Message Length \u003c/td\u003e \u003ctd\u003e The length of the message. \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e Trasaction Name \u003c/td\u003e \u003ctd\u003e The name of the transaction. Can be set to NULL if not needed. \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e Error Message \u003c/td\u003e \u003ctd\u003e A pointer to the error message. This is set if an error occurs. \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e\u003c/table\u003e",
  "parameterization": "",
  "component": [
    {
      "id": "$1",
      "type": "TextField",
      "label": "JMS Pool Connection Id",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "First character must be Alpha.\r\nOther characters are Alpha, Numeric or Underscore",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "If JMS Connection id is a program variable",
      "argIndex": 0,
      "validate": {
        "inputType": "Text",
        "disabled": false,
        "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,63}$",
        "required": false,
        "min": 0,
        "max": 0,
        "method": "isValidVar(arg)"
      },
      "quotes": false
    },
    {
      "id": "$2",
      "type": "TEXT_VAR",
      "label": "Message",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "Enter message",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "If message is a program variable",
      "argIndex": 0,
      "validate": {
        "inputType": "Text",
        "disabled": false,
        "required": true,
        "min": 0,
        "max": 0
      },
      "quotes": true
    },
    {
      "id": "$3",
      "type": "TextField",
      "label": "Message Length",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "Enter message length",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "",
      "argIndex": 0,
      "validate": {
        "inputType": "Number",
        "disabled": false,
        "required": true,
        "min": 0,
        "max": 2147483647
      },
      "quotes": true
    },
    {
      "id": "$4",
      "type": "TEXT_VAR",
      "label": "Transaction Name",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "Enter error message",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "If transaction name is a program variable",
      "argIndex": 0,
      "validate": {
        "inputType": "Text",
        "disabled": false,
        "required": true,
        "min": 0,
        "max": 0
      },
      "quotes": true
    },
    {
      "id": "$5",
      "type": "TextField",
      "label": "Error Message Buffer Pointer",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "Enter error message",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "",
      "argIndex": 0,
      "validate": {
        "inputType": "Text",
        "disabled": false,
        "required": true,
        "min": 0,
        "max": 0
      },
      "quotes": false
    },
    {
      "id": "$ret",
      "type": "TextField",
      "label": "Return Variable",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "First character must be Alpha.\r\nOther characters are Alpha, Numeric or Underscore.",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "",
      "argIndex": 0,
      "validate": {
        "inputType": "Text",
        "disabled": false,
        "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,63}$",
        "required": false,
        "min": 0,
        "max": 0,
        "method": "isValidVar(arg)"
      },
      "quotes": true
    }
  ],
  "name": "ns_kafka_put_msg",
  "syntax": "int ns_kafka_put_msg(int jpcid, char *msg, int msg_len, char *transaction_name, char *error_msg);",
  "javaSyntax": "boolean ns_kafka_put_msg(JMSKey key, Object msg, String txName);",
  "cEx": "flow()\n{\n  int jpid;        //JMS Pool Id\n  int jcid;        //JMS Connection Id\n  char error_msg[1024 + 1];        // Error string. Must be 1024 size\n  int ret;        // Error code\n  char *msg \u003d \"message will goes here\";        // Message to be produced\n  int msg_len \u003d strlen(msg);        // Message Length\n  char *key \u003d \"message_key\";        // Message Key\n  int key_length \u003d strlen(key);        // Message Length\n\n  if((jpid \u003d ns_kafka_init_producer(\"127.0.0.1\", 9092, \"topic\", 1, error_msg)) \u003c 0)\n  {\n   fprintf(stderr, \"Error in initializing Kafka producer. Error code \u003d %d, Error Msg \u003d %s\", jpid, error_msg);\n   return;\n  }\n\n  if((jcid \u003d ns_kafka_get_connection(jpid, \"KAFKAProducerSSLConnect\", error_msg)) \u003c 0)\n  {\n   fprintf(stderr, \"Error in getting Kafka connention. Error code \u003d %d, Error Msg \u003d %s\", jcid, error_msg);\n   return;\n  }\n\n  if((ret \u003d ns_kafka_put_msg(jcid, msg, msg_len, \"IBMMQPutMsg\", error_msg);) \u003c 0)\n  {\n   fprintf(stderr, \"Error in putting message using Kafka connention. Error code \u003d %d, Error Msg \u003d %s\", ret, error_msg);\n  }\n}",
  "javaEx": "public class flow implements NsFlow\n{\n  public int execute(NSApi nsApi) throws Exception\n  {\n        NSApi.JMSKey key \u003d null;\n        String msg\u003dnull;\n\n        // Puts message in the JMS topic using connection ID returned from get connection api\n        // In case of error, it returns error code with error_msg\n        if(!nsApi.ns_kafka_put_msg(key, \" + \" msgToBeProduce\" +  \",  \"KAFKAPutMsg\"))\n        {\n         System.out.println(\"Error in putting using kafka connection. Error code \u003d \" + key.getErrCode() + \", Error Msg \u003d \" + key.getErrMsg());\n        }\n  }\n}",
  "insertStrC": "ns_kafka_put_msg(int jpcid, char *msg, int msg_len, char *transaction_name, char *error_msg);",
  "insertStrJava": "ns_kafka_put_msg(JMSKey key, Object msg, String txName);",
  "description": "Put message in the JMS topic using connection taken using get connection API. This api will put message on Kafka server. To produce or send messages to a Kafka topic, you typically use the producer API provided by the Kafka client library. The specific method for sending messages depends on the programming language and client library you are using."
}