{
  "name": "AS2 Module for Partner manager",
  "description": "This is the main class of an extension, is the entry point from which configurations, connection providers, operations and sources are going to be declared.",
  "version": "1.1.5",
  "vendor": "Mulesoft",
  "category": "COMMUNITY",
  "xmlDsl": {
    "prefix": "as2-mule4",
    "namespace": "http://www.mulesoft.org/schema/mule/as2-mule4",
    "schemaLocation": "http://www.mulesoft.org/schema/mule/as2-mule4/current/mule-as2-mule4.xsd",
    "schemaVersion": "1.1.5",
    "xsdFileName": "mule-as2-mule4.xsd"
  },
  "resources": [],
  "subTypes": [],
  "privilegedPackages": [],
  "privilegedArtifacts": [],
  "externalLibraries": [],
  "importedTypes": [],
  "configurations": [
    {
      "stereotype": {
        "type": "CONFIG",
        "namespace": "AS2-MULE4",
        "parent": {
          "type": "MODULE_CONFIG",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": true,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "name": "name",
              "description": "The identifier of this element used to reference it in other components",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "operations": [],
      "connectionProviders": [],
      "messageSources": [],
      "name": "config",
      "description": "Default configuration",
      "modelProperties": {
        "requiredForMetadata": {
          "requiredParameters": [
            "name"
          ]
        }
      }
    }
  ],
  "operations": [
    {
      "blocking": true,
      "executionType": "CPU_LITE",
      "output": {
        "type": {
          "format": {
            "id": "*/*",
            "label": "*/*",
            "validMimeTypes": [
              "*/*"
            ]
          },
          "type": "Binary",
          "annotations": {
            "classInformation": {
              "classname": "java.io.InputStream",
              "hasDefaultConstructor": true,
              "isInterface": false,
              "isInstantiable": false,
              "isAbstract": true,
              "isFinal": false,
              "implementedInterfaces": [
                "java.io.Closeable"
              ],
              "parent": "",
              "genericTypes": [],
              "isMap": false
            }
          }
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "outputAttributes": {
        "type": {
          "format": "java",
          "type": "@ref:com.mulesoft.connector.as2.api.AS2SendAttributes"
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "transactional": false,
      "requiresConnection": false,
      "supportsStreaming": true,
      "notifications": [],
      "nestedComponents": [],
      "errors": [
        "AS2-MULE4:CONFIGURATION"
      ],
      "stereotype": {
        "type": "PREPARE_SEND",
        "namespace": "AS2-MULE4",
        "parent": {
          "type": "PROCESSOR",
          "namespace": "AS2-MULE4",
          "parent": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          }
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Any",
                "annotations": {
                  "classInformation": {
                    "classname": "java.io.InputStream",
                    "hasDefaultConstructor": true,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": false,
                    "implementedInterfaces": [
                      "java.io.Closeable"
                    ],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "#[payload]",
              "role": "PRIMARY_CONTENT",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "allowedStereotypeModels": [],
              "name": "content",
              "displayModel": {
                "displayName": "Content Stream",
                "summary": "The content to be sent."
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "outputMimeType",
              "description": "The mime type of the payload that this operation outputs.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 7,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "outputEncoding",
              "description": "The encoding of the payload that this operation outputs.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Union",
                "annotations": {
                  "typeId": "ByteStreamingStrategy"
                },
                "of": [
                  {
                    "type": "Object",
                    "annotations": {
                      "typeId": "repeatable-in-memory-stream"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "initialBufferSize"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "512"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "bufferSizeIncrement"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "512"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "maxBufferSize"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "1024"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "bufferUnit"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "BYTE",
                                "KB",
                                "MB",
                                "GB"
                              ]
                            },
                            "default": "KB"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The unit in which all these attributes are expressed"
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "Object",
                    "annotations": {
                      "typeId": "repeatable-file-store-stream"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "inMemorySize"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "512"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "bufferUnit"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "BYTE",
                                "KB",
                                "MB",
                                "GB"
                              ]
                            },
                            "default": "KB"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The unit in which maxInMemorySize is expressed"
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "Object",
                    "annotations": {
                      "typeId": "non-repeatable-stream",
                      "description": {
                        "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                      }
                    },
                    "fields": []
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 8,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "streamingStrategy",
              "description": "Configure if repeatable streams should be used and their behaviour",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "abstract-byte-streaming-strategy",
                    "prefix": "mule"
                  }
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 2
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 0
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "@ref:com.mulesoft.connector.as2.api.PrepareSendAttributes"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "name": "attributes",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "allowedStereotypeModels": [],
              "name": "as2MimeType",
              "displayModel": {
                "displayName": "MIME Type",
                "summary": "The AS2 MIME type of the content stream (i.e. application/EDI-X12, etc.)"
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "allowedStereotypeModels": [],
              "name": "fileName",
              "displayModel": {
                "displayName": "File Name",
                "summary": "File name of the content stream. If not set, the content will be transferred without filename."
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "allowedStereotypeModels": [],
              "name": "contentDescription",
              "displayModel": {
                "displayName": "Content Description",
                "summary": "Content MIME part content description"
              },
              "description": "",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "Prepare Send Parameters",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 9,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "target",
              "displayModel": {
                "displayName": "Target Variable"
              },
              "description": "The name of a variable on which the operation\u0027s output will be placed",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "REQUIRED",
              "defaultValue": "#[payload]",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 10,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "targetValue",
              "displayModel": {
                "displayName": "Target Value"
              },
              "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 3
          },
          "showInDsl": false,
          "name": "Output",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "prepareSend",
      "description": "",
      "modelProperties": {},
      "kind": "operation"
    },
    {
      "blocking": true,
      "executionType": "CPU_LITE",
      "output": {
        "type": {
          "format": {
            "id": "*/*",
            "label": "*/*",
            "validMimeTypes": [
              "*/*"
            ]
          },
          "type": "Binary",
          "annotations": {
            "classInformation": {
              "classname": "java.io.InputStream",
              "hasDefaultConstructor": true,
              "isInterface": false,
              "isInstantiable": false,
              "isAbstract": true,
              "isFinal": false,
              "implementedInterfaces": [
                "java.io.Closeable"
              ],
              "parent": "",
              "genericTypes": [],
              "isMap": false
            }
          }
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "outputAttributes": {
        "type": {
          "format": "java",
          "type": "@ref:com.mulesoft.connector.as2.api.AS2MdnAttributes"
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "transactional": false,
      "requiresConnection": false,
      "supportsStreaming": true,
      "notifications": [],
      "nestedComponents": [],
      "errors": [
        "AS2-MULE4:CONFIGURATION",
        "AS2-MULE4:MIME_PARSE",
        "AS2-MULE4:SIGNATURE_VERIFY"
      ],
      "stereotype": {
        "type": "RECEIVED_MDN",
        "namespace": "AS2-MULE4",
        "parent": {
          "type": "PROCESSOR",
          "namespace": "AS2-MULE4",
          "parent": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          }
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "classInformation": {
                    "classname": "org.mule.runtime.api.util.MultiMap",
                    "hasDefaultConstructor": true,
                    "isInterface": false,
                    "isInstantiable": true,
                    "isAbstract": false,
                    "isFinal": false,
                    "implementedInterfaces": [
                      "java.util.Map",
                      "java.io.Serializable"
                    ],
                    "parent": "",
                    "genericTypes": [
                      "java.lang.String",
                      "java.lang.String"
                    ],
                    "isMap": true
                  }
                },
                "open": {
                  "type": "String"
                },
                "fields": []
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6
              },
              "allowedStereotypeModels": [],
              "name": "headers",
              "displayModel": {
                "displayName": "Http Headers"
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Any",
                "annotations": {
                  "classInformation": {
                    "classname": "java.io.InputStream",
                    "hasDefaultConstructor": true,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": false,
                    "implementedInterfaces": [
                      "java.io.Closeable"
                    ],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "#[payload]",
              "role": "PRIMARY_CONTENT",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 7
              },
              "allowedStereotypeModels": [],
              "name": "mdnInputStream",
              "description": "the incoming message stream",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 8,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "outputMimeType",
              "description": "The mime type of the payload that this operation outputs.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 9,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "outputEncoding",
              "description": "The encoding of the payload that this operation outputs.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Union",
                "annotations": {
                  "typeId": "ByteStreamingStrategy"
                },
                "of": [
                  {
                    "type": "Object",
                    "annotations": {
                      "typeId": "repeatable-in-memory-stream"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "initialBufferSize"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "512"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "bufferSizeIncrement"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "512"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "maxBufferSize"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "1024"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "bufferUnit"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "BYTE",
                                "KB",
                                "MB",
                                "GB"
                              ]
                            },
                            "default": "KB"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The unit in which all these attributes are expressed"
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "Object",
                    "annotations": {
                      "typeId": "repeatable-file-store-stream"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "inMemorySize"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "512"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "bufferUnit"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "BYTE",
                                "KB",
                                "MB",
                                "GB"
                              ]
                            },
                            "default": "KB"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The unit in which maxInMemorySize is expressed"
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "Object",
                    "annotations": {
                      "typeId": "non-repeatable-stream",
                      "description": {
                        "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                      }
                    },
                    "fields": []
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 10,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "streamingStrategy",
              "description": "Configure if repeatable streams should be used and their behaviour",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "abstract-byte-streaming-strategy",
                    "prefix": "mule"
                  }
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 2
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 0
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "name": "fromName",
              "displayModel": {
                "displayName": "AS2 From Name"
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "allowedStereotypeModels": [],
              "name": "toName",
              "displayModel": {
                "displayName": "AS2 To Name"
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "allowedStereotypeModels": [],
              "name": "privateKeyPassword",
              "displayModel": {
                "displayName": "Self Private Key Password",
                "summary": "Private key password in self pem content"
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "allowedStereotypeModels": [],
              "name": "partnerPemContent",
              "displayModel": {
                "displayName": "Partner Pem Content",
                "summary": "Should include the certs/public key of the partner. This will be used for both signature verification and encryption"
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "allowedStereotypeModels": [],
              "name": "selfPemContent",
              "displayModel": {
                "displayName": "Self Pem Content",
                "summary": "Should include the certs/public and private keys of the organisation. This will be used for both signing and decryption"
              },
              "description": "",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "MDN Handler Parameters",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 11,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "target",
              "displayModel": {
                "displayName": "Target Variable"
              },
              "description": "The name of a variable on which the operation\u0027s output will be placed",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "REQUIRED",
              "defaultValue": "#[payload]",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 12,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "targetValue",
              "displayModel": {
                "displayName": "Target Value"
              },
              "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 3
          },
          "showInDsl": false,
          "name": "Output",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "receivedMDN",
      "description": "The MDN Handler component is a simple operation that handles a received AS2 MDN.",
      "modelProperties": {},
      "kind": "operation"
    },
    {
      "blocking": true,
      "executionType": "CPU_LITE",
      "output": {
        "type": {
          "format": {
            "id": "*/*",
            "label": "*/*",
            "validMimeTypes": [
              "*/*"
            ]
          },
          "type": "Binary",
          "annotations": {
            "classInformation": {
              "classname": "java.io.InputStream",
              "hasDefaultConstructor": true,
              "isInterface": false,
              "isInstantiable": false,
              "isAbstract": true,
              "isFinal": false,
              "implementedInterfaces": [
                "java.io.Closeable"
              ],
              "parent": "",
              "genericTypes": [],
              "isMap": false
            }
          }
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "outputAttributes": {
        "type": {
          "format": "java",
          "type": "@ref:com.mulesoft.connector.as2.api.AS2ReceiveAttributes"
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "transactional": false,
      "requiresConnection": false,
      "supportsStreaming": true,
      "notifications": [],
      "nestedComponents": [],
      "errors": [
        "AS2-MULE4:CONFIGURATION",
        "AS2-MULE4:MIME_PARSE",
        "AS2-MULE4:DECRYPTION",
        "AS2-MULE4:INFLATE",
        "AS2-MULE4:SIGNATURE_VERIFY"
      ],
      "stereotype": {
        "type": "REQUEST_HANDLER",
        "namespace": "AS2-MULE4",
        "parent": {
          "type": "PROCESSOR",
          "namespace": "AS2-MULE4",
          "parent": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          }
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Any",
                "annotations": {
                  "classInformation": {
                    "classname": "java.io.InputStream",
                    "hasDefaultConstructor": true,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": false,
                    "implementedInterfaces": [
                      "java.io.Closeable"
                    ],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "#[payload]",
              "role": "PRIMARY_CONTENT",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "allowedStereotypeModels": [],
              "name": "requestContent",
              "displayModel": {
                "displayName": "Http Request Content"
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "classInformation": {
                    "classname": "org.mule.runtime.api.util.MultiMap",
                    "hasDefaultConstructor": true,
                    "isInterface": false,
                    "isInstantiable": true,
                    "isAbstract": false,
                    "isFinal": false,
                    "implementedInterfaces": [
                      "java.util.Map",
                      "java.io.Serializable"
                    ],
                    "parent": "",
                    "genericTypes": [
                      "java.lang.String",
                      "java.lang.String"
                    ],
                    "isMap": true
                  }
                },
                "open": {
                  "type": "String"
                },
                "fields": []
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6
              },
              "allowedStereotypeModels": [],
              "name": "headers",
              "displayModel": {
                "displayName": "Http Request Headers"
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 7,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "outputMimeType",
              "description": "The mime type of the payload that this operation outputs.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 8,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "outputEncoding",
              "description": "The encoding of the payload that this operation outputs.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Union",
                "annotations": {
                  "typeId": "ByteStreamingStrategy"
                },
                "of": [
                  {
                    "type": "Object",
                    "annotations": {
                      "typeId": "repeatable-in-memory-stream"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "initialBufferSize"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "512"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "bufferSizeIncrement"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "512"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "maxBufferSize"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "1024"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "bufferUnit"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "BYTE",
                                "KB",
                                "MB",
                                "GB"
                              ]
                            },
                            "default": "KB"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The unit in which all these attributes are expressed"
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "Object",
                    "annotations": {
                      "typeId": "repeatable-file-store-stream"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "inMemorySize"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "512"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "bufferUnit"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "BYTE",
                                "KB",
                                "MB",
                                "GB"
                              ]
                            },
                            "default": "KB"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The unit in which maxInMemorySize is expressed"
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "Object",
                    "annotations": {
                      "typeId": "non-repeatable-stream",
                      "description": {
                        "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                      }
                    },
                    "fields": []
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 9,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "streamingStrategy",
              "description": "Configure if repeatable streams should be used and their behaviour",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "abstract-byte-streaming-strategy",
                    "prefix": "mule"
                  }
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 2
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 0
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "name": "partnerPemContent",
              "displayModel": {
                "displayName": "Partner Pem Content",
                "summary": "Should include the certs/public key of the partner. This will be used for both signature verification and encryption"
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": true,
                "text": false,
                "query": false,
                "order": 2
              },
              "allowedStereotypeModels": [],
              "name": "privateKeyPassword",
              "displayModel": {
                "displayName": "Self Private Key Password",
                "summary": "Private key password in self pem content"
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "allowedStereotypeModels": [],
              "name": "selfPemContent",
              "displayModel": {
                "displayName": "Self Pem Content",
                "summary": "Must include any certificates or public key and private key of the organisation. These will both be used for signing and the private key for decryption."
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "com.mulesoft.connector.as2.api.ReceiveMessageSecurityLevel",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "SIGNED",
                      "ENCRYPTED",
                      "SIGNED_ENCRYPTED"
                    ]
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "allowedStereotypeModels": [],
              "name": "securityLevel",
              "displayModel": {
                "displayName": "Security Requirement Level",
                "summary": "The security level required for any AS2 Listener using this config for all incoming messages. Should the security requirement not be met, an error MDN response shall result."
              },
              "description": "",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "Request Parameters",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 10,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "target",
              "displayModel": {
                "displayName": "Target Variable"
              },
              "description": "The name of a variable on which the operation\u0027s output will be placed",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "REQUIRED",
              "defaultValue": "#[payload]",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 11,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "targetValue",
              "displayModel": {
                "displayName": "Target Value"
              },
              "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 3
          },
          "showInDsl": false,
          "name": "Output",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "requestHandler",
      "description": "",
      "modelProperties": {},
      "kind": "operation"
    }
  ],
  "functions": [],
  "constructs": [],
  "connectionProviders": [],
  "messageSources": [],
  "notifications": [],
  "errors": [
    {
      "error": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "MULE:RETRY_EXHAUSTED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "AS2-MULE4:CONNECTIVITY",
      "parent": "MULE:CONNECTIVITY",
      "handleable": true
    },
    {
      "error": "MULE:CONNECTIVITY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "AS2-MULE4:RETRY_EXHAUSTED",
      "parent": "MULE:RETRY_EXHAUSTED",
      "handleable": true
    },
    {
      "error": "AS2-MULE4:CONFIGURATION",
      "parent": "MULE:VALIDATION",
      "handleable": true
    },
    {
      "error": "MULE:VALIDATION",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "AS2-MULE4:MIME_PARSE",
      "parent": "MULE:TRANSFORMATION",
      "handleable": true
    },
    {
      "error": "MULE:TRANSFORMATION",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "AS2-MULE4:DECRYPTION",
      "parent": "MULE:SECURITY",
      "handleable": true
    },
    {
      "error": "MULE:SECURITY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "AS2-MULE4:UNAUTHORIZED",
      "parent": "MULE:CLIENT_SECURITY",
      "handleable": true
    },
    {
      "error": "MULE:CLIENT_SECURITY",
      "parent": "MULE:SECURITY",
      "handleable": true
    },
    {
      "error": "AS2-MULE4:INFLATE",
      "parent": "MULE:TRANSFORMATION",
      "handleable": true
    },
    {
      "error": "AS2-MULE4:SECURITY_LEVEL",
      "parent": "MULE:SECURITY",
      "handleable": true
    },
    {
      "error": "AS2-MULE4:NON_REPUDIATION_FAILURE",
      "parent": "MULE:TRANSFORMATION",
      "handleable": true
    },
    {
      "error": "AS2-MULE4:SIGNATURE_VERIFY",
      "parent": "MULE:SECURITY",
      "handleable": true
    }
  ],
  "modelProperties": {},
  "types": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "com.mulesoft.connector.as2.api.AS2MdnAttributes",
        "classInformation": {
          "classname": "com.mulesoft.connector.as2.api.AS2MdnAttributes",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "AS2MdnAttributes"
        }
      },
      "fields": [
        {
          "key": {
            "name": "fromName",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "From Name"
              }
            }
          }
        },
        {
          "key": {
            "name": "toName",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "To Name"
              }
            }
          }
        },
        {
          "key": {
            "name": "as2MessageId",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "AS2 Message ID"
              }
            }
          }
        },
        {
          "key": {
            "name": "headers",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "classInformation": {
                "classname": "org.mule.runtime.api.util.MultiMap",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Map",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String",
                  "java.lang.String"
                ],
                "isMap": true
              }
            },
            "open": {
              "type": "String"
            },
            "fields": []
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "HTTP Headers"
              }
            }
          }
        },
        {
          "key": {
            "name": "originalAS2MessageId",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Original AS2 Message ID"
              }
            }
          }
        },
        {
          "key": {
            "name": "mdnProcessed"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "false",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "MDN Processed Status"
              }
            }
          }
        },
        {
          "key": {
            "name": "dispositionContent",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "classInformation": {
                "classname": "org.mule.runtime.api.util.MultiMap",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Map",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String",
                  "java.util.List"
                ],
                "isMap": true
              }
            },
            "open": {
              "type": "Array",
              "annotations": {
                "classInformation": {
                  "classname": "java.util.List",
                  "hasDefaultConstructor": false,
                  "isInterface": true,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.util.Collection"
                  ],
                  "parent": "",
                  "genericTypes": [
                    "java.lang.String"
                  ],
                  "isMap": false
                }
              },
              "item": {
                "type": "String"
              }
            },
            "fields": []
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "MDN Report Content"
              }
            }
          }
        },
        {
          "key": {
            "name": "reportText",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Full Report Content"
              }
            }
          }
        },
        {
          "key": {
            "name": "mdnMic",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Received MIC"
              }
            }
          }
        },
        {
          "key": {
            "name": "mdnAlg",
            "required": "true"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "com.mulesoft.connector.as2.api.HashAlgorithm",
              "enum": {
                "type": "[Ljava.lang.String;",
                "values": [
                  "MD5",
                  "SHA1",
                  "SHA224",
                  "SHA256",
                  "SHA384",
                  "SHA512",
                  "UNSIGNED"
                ]
              }
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Calculated MIC Algorithm"
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "com.mulesoft.connector.as2.api.AS2ReceiveAttributes",
        "classInformation": {
          "classname": "com.mulesoft.connector.as2.api.AS2ReceiveAttributes",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "AS2ReceiveAttributes"
        }
      },
      "fields": [
        {
          "key": {
            "name": "fromName",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "AS2 From Name"
              }
            }
          }
        },
        {
          "key": {
            "name": "toName",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "AS2 To Name"
              }
            }
          }
        },
        {
          "key": {
            "name": "as2MessageId",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "AS2 Message ID"
              }
            }
          }
        },
        {
          "key": {
            "name": "fileName",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "File Name"
              }
            }
          }
        },
        {
          "key": {
            "name": "headers",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "classInformation": {
                "classname": "org.mule.runtime.api.util.MultiMap",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Map",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String",
                  "java.lang.String"
                ],
                "isMap": true
              }
            },
            "open": {
              "type": "String"
            },
            "fields": []
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Full HTTP Headers"
              }
            }
          }
        },
        {
          "key": {
            "name": "mdnResponse",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "MDN Response"
              }
            }
          }
        },
        {
          "key": {
            "name": "mdnHeaders",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "classInformation": {
                "classname": "org.mule.runtime.api.util.MultiMap",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Map",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String",
                  "java.lang.String"
                ],
                "isMap": true
              }
            },
            "open": {
              "type": "String"
            },
            "fields": []
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Headers For MDN"
              }
            }
          }
        },
        {
          "key": {
            "name": "processed"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "false",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Is AS2 message processed"
              }
            }
          }
        },
        {
          "key": {
            "name": "mimeType",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Mime-type for root message"
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "com.mulesoft.connector.as2.api.AS2SendAttributes",
        "classInformation": {
          "classname": "com.mulesoft.connector.as2.api.AS2SendAttributes",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "AS2SendAttributes"
        }
      },
      "fields": [
        {
          "key": {
            "name": "fromName",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "From Name"
              }
            }
          }
        },
        {
          "key": {
            "name": "toName",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "To Name"
              }
            }
          }
        },
        {
          "key": {
            "name": "as2MessageId",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "AS2 Message ID"
              }
            }
          }
        },
        {
          "key": {
            "name": "headers",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "classInformation": {
                "classname": "org.mule.runtime.api.util.MultiMap",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Map",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String",
                  "java.lang.String"
                ],
                "isMap": true
              }
            },
            "open": {
              "type": "String"
            },
            "fields": []
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "HTTP Headers"
              }
            }
          }
        },
        {
          "key": {
            "name": "msgMIC",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Message MIC"
              }
            }
          }
        },
        {
          "key": {
            "name": "msgMICAlg",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Message MIC Algorithm"
              }
            }
          }
        },
        {
          "key": {
            "name": "as2MdnAttributes",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "com.mulesoft.connector.as2.api.AS2MdnAttributes",
              "classInformation": {
                "classname": "com.mulesoft.connector.as2.api.AS2MdnAttributes",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "AS2MdnAttributes"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "fromName",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "displayName": "From Name"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "toName",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "displayName": "To Name"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "as2MessageId",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "displayName": "AS2 Message ID"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "headers",
                  "required": "true"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "classInformation": {
                      "classname": "org.mule.runtime.api.util.MultiMap",
                      "hasDefaultConstructor": true,
                      "isInterface": false,
                      "isInstantiable": true,
                      "isAbstract": false,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.util.Map",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [
                        "java.lang.String",
                        "java.lang.String"
                      ],
                      "isMap": true
                    }
                  },
                  "open": {
                    "type": "String"
                  },
                  "fields": []
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "displayName": "HTTP Headers"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "originalAS2MessageId",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "displayName": "Original AS2 Message ID"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "mdnProcessed"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "default": "false",
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "displayName": "MDN Processed Status"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "dispositionContent",
                  "required": "true"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "classInformation": {
                      "classname": "org.mule.runtime.api.util.MultiMap",
                      "hasDefaultConstructor": true,
                      "isInterface": false,
                      "isInstantiable": true,
                      "isAbstract": false,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.util.Map",
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [
                        "java.lang.String",
                        "java.util.List"
                      ],
                      "isMap": true
                    }
                  },
                  "open": {
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  },
                  "fields": []
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "displayName": "MDN Report Content"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "reportText",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "displayName": "Full Report Content"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "mdnMic",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "displayName": "Received MIC"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "mdnAlg",
                  "required": "true"
                },
                "model": {
                  "type": "String",
                  "annotations": {
                    "typeId": "com.mulesoft.connector.as2.api.HashAlgorithm",
                    "enum": {
                      "type": "[Ljava.lang.String;",
                      "values": [
                        "MD5",
                        "SHA1",
                        "SHA224",
                        "SHA256",
                        "SHA384",
                        "SHA512",
                        "UNSIGNED"
                      ]
                    }
                  }
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "display": {
                    "displayModel": {
                      "displayName": "Calculated MIC Algorithm"
                    }
                  }
                }
              }
            ]
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "AS2 MDN Attributes"
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "com.mulesoft.connector.as2.api.PrepareSendAttributes",
        "classInformation": {
          "classname": "com.mulesoft.connector.as2.api.PrepareSendAttributes",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "PrepareSendAttributes"
        }
      },
      "fields": [
        {
          "key": {
            "name": "fromName",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "AS2 From Name"
              }
            }
          }
        },
        {
          "key": {
            "name": "toName",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "AS2 To Name"
              }
            }
          }
        },
        {
          "key": {
            "name": "micAlg"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "com.mulesoft.connector.as2.api.HashAlgorithm",
              "enum": {
                "type": "[Ljava.lang.String;",
                "values": [
                  "MD5",
                  "SHA1",
                  "SHA224",
                  "SHA256",
                  "SHA384",
                  "SHA512",
                  "UNSIGNED"
                ]
              }
            }
          },
          "annotations": {
            "default": "UNSIGNED",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Signature Algorithm"
              }
            }
          }
        },
        {
          "key": {
            "name": "encryptionAlgorithm"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "com.mulesoft.connector.as2.api.EncryptionAlgorithm",
              "enum": {
                "type": "[Ljava.lang.String;",
                "values": [
                  "DES",
                  "DES_EDE3",
                  "RC2",
                  "AES128_CBC",
                  "AES192_CBC",
                  "AES256_CBC",
                  "AES128_CCM",
                  "AES192_CCM",
                  "AES256_CCM",
                  "AES128_GCM",
                  "AES192_GCM",
                  "AES256_GCM",
                  "AES256_WRAP",
                  "CAST5",
                  "UNENCRYPTED"
                ]
              }
            }
          },
          "annotations": {
            "default": "UNENCRYPTED",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Encryption Algorithm"
              }
            }
          }
        },
        {
          "key": {
            "name": "transferEncoding"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "com.mulesoft.connector.as2.api.EncodingType",
              "enum": {
                "type": "[Ljava.lang.String;",
                "values": [
                  "BASE64",
                  "QUOTED_PRINTABLE",
                  "SEVEN_BIT",
                  "EIGHT_BIT",
                  "BINARY"
                ]
              }
            }
          },
          "annotations": {
            "default": "BINARY",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Transfer Encoding"
              }
            }
          }
        },
        {
          "key": {
            "name": "requestReceipt",
            "required": "true"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "com.mulesoft.connector.as2.api.RequestReceipt",
              "enum": {
                "type": "[Ljava.lang.String;",
                "values": [
                  "NONE",
                  "UNSIGNED",
                  "SIGNED_OPTIONAL",
                  "SIGNED_REQUIRED"
                ]
              }
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Request Receipt"
              }
            }
          }
        },
        {
          "key": {
            "name": "as2Compression"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "com.mulesoft.connector.as2.api.AS2Compression",
              "enum": {
                "type": "[Ljava.lang.String;",
                "values": [
                  "NONE",
                  "ZLIB"
                ]
              }
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Compression"
              }
            }
          }
        },
        {
          "key": {
            "name": "partnerPemContent",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Partner Pem Content",
                "summary": "Should include the certs/public key of the partner. This will be used for both signature verification and encryption"
              }
            }
          }
        },
        {
          "key": {
            "name": "selfPemContent",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Self Pem Content",
                "summary": "Should include the certs/public and private keys of the organisation. This will be used for both signing and decryption"
              }
            }
          }
        },
        {
          "key": {
            "name": "privateKeyPassword"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Self Private Key Password",
                "summary": "Private key password in self pem content"
              }
            }
          }
        },
        {
          "key": {
            "name": "receiptDeliveryUrl"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Receipt Delivery URL"
              }
            }
          }
        },
        {
          "key": {
            "name": "mdnMicAlg"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "com.mulesoft.connector.as2.api.HashAlgorithm",
              "enum": {
                "type": "[Ljava.lang.String;",
                "values": [
                  "MD5",
                  "SHA1",
                  "SHA224",
                  "SHA256",
                  "SHA384",
                  "SHA512",
                  "UNSIGNED"
                ]
              }
            }
          },
          "annotations": {
            "default": "UNSIGNED",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Signature Algorithm"
              }
            }
          }
        },
        {
          "key": {
            "name": "respondToEmailAddress",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Respond To Email Address",
                "example": "example@company.com"
              }
            }
          }
        }
      ]
    }
  ]
}
