{
  "name": "Soap",
  "description": "",
  "version": "1.0.0-BETA",
  "vendor": "Mulesoft",
  "category": "COMMUNITY",
  "minMuleVersion": "4.0.0",
  "xmlDsl": {
    "prefix": "soap",
    "namespace": "http://www.mulesoft.org/schema/mule/soap",
    "schemaLocation": "http://www.mulesoft.org/schema/mule/soap/current/mule-soap.xsd",
    "schemaVersion": "1.0.0-BETA",
    "xsdFileName": "mule-soap.xsd"
  },
  "resources": [],
  "subTypes": [
    {
      "baseType": {
        "format": "java",
        "type": "Object",
        "annotations": {
          "typeId": "org.mule.runtime.extension.api.soap.MessageDispatcherProvider",
          "classInformation": {
            "hasDefaultConstructor": false,
            "isInterface": true,
            "isInstantiable": false,
            "isAbstract": true,
            "isFinal": false,
            "implementedInterfaces": [
              "org.mule.runtime.api.connection.ConnectionProvider"
            ],
            "parent": "",
            "genericTypes": []
          },
          "typeAlias": {
            "value": "MessageDispatcherProvider"
          }
        },
        "fields": []
      },
      "subTypes": [
        {
          "format": "java",
          "type": "Object",
          "annotations": {
            "typeId": "org.mule.runtime.module.extension.soap.internal.runtime.connection.transport.DefaultHttpMessageDispatcherProvider",
            "classInformation": {
              "hasDefaultConstructor": true,
              "isInterface": false,
              "isInstantiable": true,
              "isAbstract": false,
              "isFinal": false,
              "implementedInterfaces": [
                "org.mule.runtime.extension.api.soap.HttpMessageDispatcherProvider",
                "org.mule.runtime.api.lifecycle.Lifecycle"
              ],
              "parent": "",
              "genericTypes": []
            },
            "typeAlias": {
              "value": "DefaultHttpMessageDispatcherProvider"
            }
          },
          "fields": [
            {
              "key": {
                "name": "requesterConfig"
              },
              "model": {
                "type": "String",
                "annotations": {
                  "typeId": "java.lang.String"
                }
              },
              "annotations": {
                "parameterPurpose": {
                  "role": "BEHAVIOUR"
                },
                "expressionSupport": {
                  "value": "SUPPORTED"
                }
              }
            }
          ]
        }
      ]
    }
  ],
  "externalLibraries": [],
  "importedTypes": [],
  "configurations": [
    {
      "parameterGroupModels": [],
      "externalLibraryModels": [],
      "operations": [
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "errors": [
            {
              "type": "CONNECTIVITY",
              "namespace": "MULE",
              "parent": {
                "type": "ANY",
                "namespace": "MULE"
              }
            },
            {
              "type": "BAD_RESPONSE",
              "namespace": "SOAP",
              "parent": {
                "type": "ANY",
                "namespace": "SOAP",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "ANY",
              "namespace": "MULE"
            },
            {
              "type": "RETRY_EXHAUSTED",
              "namespace": "SOAP",
              "parent": {
                "type": "RETRY_EXHAUSTED",
                "namespace": "MULE",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "CONNECTIVITY",
              "namespace": "SOAP",
              "parent": {
                "type": "CONNECTIVITY",
                "namespace": "MULE",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "BAD_REQUEST",
              "namespace": "SOAP",
              "parent": {
                "type": "ANY",
                "namespace": "SOAP",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "CANNOT_DISPATCH",
              "namespace": "SOAP",
              "parent": {
                "type": "ANY",
                "namespace": "SOAP",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "RETRY_EXHAUSTED",
              "namespace": "MULE",
              "parent": {
                "type": "ANY",
                "namespace": "MULE"
              }
            },
            {
              "type": "ENCODING",
              "namespace": "SOAP",
              "parent": {
                "type": "ANY",
                "namespace": "SOAP",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "INVALID_WSDL",
              "namespace": "SOAP",
              "parent": {
                "type": "ANY",
                "namespace": "SOAP",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "SOAP_FAULT",
              "namespace": "SOAP",
              "parent": {
                "type": "ANY",
                "namespace": "SOAP",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "ANY",
              "namespace": "SOAP",
              "parent": {
                "type": "ANY",
                "namespace": "MULE"
              }
            },
            {
              "type": "TIMEOUT",
              "namespace": "SOAP",
              "parent": {
                "type": "ANY",
                "namespace": "SOAP",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "output": {
            "type": {
              "format": "java",
              "type": "Union",
              "annotations": {
                "typeId": "java.lang.Object"
              },
              "of": [
                {
                  "type": "String"
                },
                {
                  "type": "Object",
                  "annotations": {
                    "typeId": "org.mule.runtime.soap.api.message.SoapMultipartPayload",
                    "classInformation": {
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": false,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "org.mule.runtime.api.message.MultiPartPayload"
                      ],
                      "parent": "",
                      "genericTypes": []
                    },
                    "typeAlias": {
                      "value": "SoapMultipartPayload"
                    }
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "attachments"
                      },
                      "model": {
                        "type": "Object",
                        "annotations": {
                          "typeId": "java.util.Map",
                          "classInformation": {
                            "hasDefaultConstructor": false,
                            "isInterface": true,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": false,
                            "implementedInterfaces": [],
                            "parent": "",
                            "genericTypes": [
                              "java.lang.String",
                              "java.io.InputStream"
                            ]
                          }
                        },
                        "open": {
                          "type": "Binary",
                          "annotations": {
                            "typeId": "java.io.InputStream"
                          }
                        },
                        "fields": []
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "body"
                      },
                      "model": {
                        "type": "Binary",
                        "annotations": {
                          "typeId": "java.io.InputStream"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "namedParts"
                      },
                      "model": {
                        "type": "Object",
                        "annotations": {
                          "typeId": "java.util.Map",
                          "classInformation": {
                            "hasDefaultConstructor": false,
                            "isInterface": true,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": false,
                            "implementedInterfaces": [],
                            "parent": "",
                            "genericTypes": [
                              "java.lang.String",
                              "org.mule.runtime.api.message.Message"
                            ]
                          }
                        },
                        "open": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "org.mule.runtime.api.message.Message",
                            "classInformation": {
                              "hasDefaultConstructor": false,
                              "isInterface": true,
                              "isInstantiable": false,
                              "isAbstract": true,
                              "isFinal": false,
                              "implementedInterfaces": [
                                "java.io.Serializable"
                              ],
                              "parent": "",
                              "genericTypes": []
                            },
                            "typeAlias": {
                              "value": "Message"
                            }
                          },
                          "fields": []
                        },
                        "fields": []
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "partNames"
                      },
                      "model": {
                        "type": "Array",
                        "annotations": {
                          "typeId": "java.util.List"
                        },
                        "item": {
                          "type": "String",
                          "annotations": {
                            "typeId": "java.lang.String"
                          }
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "parts"
                      },
                      "model": {
                        "type": "Array",
                        "annotations": {
                          "typeId": "java.util.List"
                        },
                        "item": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "org.mule.runtime.api.message.Message",
                            "classInformation": {
                              "hasDefaultConstructor": false,
                              "isInterface": true,
                              "isInstantiable": false,
                              "isAbstract": true,
                              "isFinal": false,
                              "implementedInterfaces": [
                                "java.io.Serializable"
                              ],
                              "parent": "",
                              "genericTypes": []
                            },
                            "typeAlias": {
                              "value": "Message"
                            }
                          },
                          "fields": []
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    }
                  ]
                }
              ]
            },
            "hasDynamicType": true,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Null"
            },
            "hasDynamicType": true,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "stereotypes": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "name": "service",
                  "description": "",
                  "modelProperties": {
                    "org.mule.runtime.extension.internal.property.MetadataKeyPartModelProperty": {
                      "order": 1
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "name": "operation",
                  "description": "",
                  "modelProperties": {
                    "org.mule.runtime.extension.internal.property.MetadataKeyPartModelProperty": {
                      "order": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "Web Service Configuration",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Binary",
                    "annotations": {
                      "typeId": "java.io.InputStream"
                    }
                  },
                  "hasDynamicType": true,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "name": "body",
                  "displayModel": {
                    "summary": "The XML body to include in the SOAP message, with all the required parameters."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Binary",
                    "annotations": {
                      "typeId": "java.io.InputStream"
                    }
                  },
                  "hasDynamicType": true,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "name": "headers",
                  "displayModel": {
                    "displayName": "Headers",
                    "summary": "The XML headers to include in the SOAP message."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.util.Map"
                    },
                    "open": {
                      "type": "Binary",
                      "annotations": {
                        "typeId": "java.io.InputStream"
                      }
                    },
                    "fields": []
                  },
                  "hasDynamicType": true,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "name": "attachments",
                  "displayModel": {
                    "summary": "The attachments to include in the SOAP request."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": true,
              "name": "Message",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.util.Map"
                    },
                    "open": {
                      "type": "String",
                      "annotations": {
                        "typeId": "java.lang.String"
                      }
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Transport"
                  },
                  "name": "transportHeaders",
                  "displayModel": {
                    "displayName": "Headers",
                    "summary": "The headers to set in the transport configuration."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Transport Configuration",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.String"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "tabName": "Advanced"
                  },
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "invoke",
          "description": "invokes Web Service operations",
          "modelProperties": {
            "org.mule.runtime.extension.internal.property.MetadataKeyIdModelProperty": {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "org.mule.runtime.module.extension.soap.internal.metadata.WebServiceTypeKey",
                  "classInformation": {
                    "hasDefaultConstructor": true,
                    "isInterface": false,
                    "isInstantiable": true,
                    "isAbstract": false,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": []
                  },
                  "typeAlias": {
                    "value": "WebServiceTypeKey"
                  }
                },
                "fields": [
                  {
                    "key": {
                      "name": "operation"
                    },
                    "model": {
                      "type": "String",
                      "annotations": {
                        "typeId": "java.lang.String"
                      }
                    },
                    "annotations": {
                      "visibility": "READ_ONLY"
                    }
                  },
                  {
                    "key": {
                      "name": "service"
                    },
                    "model": {
                      "type": "String",
                      "annotations": {
                        "typeId": "java.lang.String"
                      }
                    },
                    "annotations": {
                      "visibility": "READ_ONLY"
                    }
                  }
                ]
              },
              "parameterName": "Web Service Configuration"
            }
          },
          "kind": "operation"
        }
      ],
      "connectionProviders": [
        {
          "connectionManagementType": "POOLING",
          "externalLibraryModels": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.soap.MessageDispatcherProvider",
                      "classInformation": {
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "org.mule.runtime.api.connection.ConnectionProvider"
                        ],
                        "parent": "",
                        "genericTypes": []
                      },
                      "typeAlias": {
                        "value": "MessageDispatcherProvider"
                      }
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Transport"
                  },
                  "name": "transport",
                  "displayModel": {
                    "displayName": "Transport Configuration"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "Transport Configuration",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "java.lang.Object",
                      "typeAlias": {
                        "value": "ReconnectionStrategy"
                      }
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "java.lang.Object",
                          "typeAlias": {
                            "value": "reconnect"
                          }
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "typeId": "java.lang.Long",
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "typeId": "java.lang.Integer",
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "typeId": "java.lang.Boolean",
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "java.lang.Object",
                          "typeAlias": {
                            "value": "reconnect-forever"
                          }
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "typeId": "java.lang.Long",
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "tabName": "Advanced"
                  },
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.internal.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.internal.property.InfrastructureParameterModelProperty": {}
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "tabName": "Advanced"
                  },
                  "name": "disableValidation",
                  "description": "Disables connection validation",
                  "modelProperties": {
                    "org.mule.runtime.extension.internal.property.InfrastructureParameterModelProperty": {}
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.api.config.PoolingProfile",
                      "description": {
                        "value": "A pooling profile is used to configure the pooling behaviour of Mule components. Each component can have its own pooling profile."
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "maxActive"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "typeId": "java.lang.Integer",
                            "default": "5"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "Controls the maximum number of Mule components that can be borrowed from a session at one time. When set to a negative value, there is no limit to the number of components that may be active at one time. When maxActive is exceeded, the pool is said to be exhausted."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "maxIdle"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "typeId": "java.lang.Integer",
                            "default": "5"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "Controls the maximum number of Mule components that can sit idle in the pool at any time. When set to a negative value, there is no limit to the number of Mule components that may be idle at one time."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "maxWait"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "typeId": "java.lang.Long",
                            "default": "4000"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "Specifies the number of milliseconds to wait for a pooled component to become available when the pool is exhausted and the exhaustedAction is set to WHEN_EXHAUSTED_WAIT."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "minEvictionMillis"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "typeId": "java.lang.Integer",
                            "default": "1800000"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "Determines the minimum amount of time an object may sit idle in the pool before it is eligible for eviction. When non-positive, no objects will be evicted from the pool due to idle time alone."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "evictionCheckIntervalMillis"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "typeId": "java.lang.Integer",
                            "default": "-1"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "Specifies the number of milliseconds between runs of the object evictor. When non-positive, no object evictor is executed."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "exhaustedAction"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "typeId": "java.lang.String",
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "WHEN_EXHAUSTED_GROW",
                                "WHEN_EXHAUSTED_WAIT",
                                "WHEN_EXHAUSTED_FAIL"
                              ]
                            },
                            "default": "WHEN_EXHAUSTED_GROW"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "Specifies the behavior of the Mule component pool when the pool is exhausted. Possible values are: \"WHEN_EXHAUSTED_FAIL\", which will throw a NoSuchElementException, \"WHEN_EXHAUSTED_WAIT\", which will block by invoking Object.wait(long) until a new or idle object is available, or WHEN_EXHAUSTED_GROW, which will create a new Mule instance and return it, essentially making maxActive meaningless. If a positive maxWait value is supplied, it will block for at most that many milliseconds, after which a NoSuchElementException will be thrown. If maxThreadWait is a negative value, it will block indefinitely."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "initialisationPolicy"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "typeId": "java.lang.String",
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "INITIALISE_NONE",
                                "INITIALISE_ONE",
                                "INITIALISE_ALL"
                              ]
                            },
                            "default": "INITIALISE_ONE"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "Determines how components in a pool should be initialized. The possible values are: INITIALISE_NONE (will not load any components into the pool on startup), INITIALISE_ONE (will load one initial component into the pool on startup), or INITIALISE_ALL (will load all components in the pool on startup)"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "disabled"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "typeId": "java.lang.Boolean",
                            "default": "false"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "Whether pooling should be disabled"
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "tabName": "Advanced"
                  },
                  "name": "poolingProfile",
                  "description": "Characteristics of the connection pool",
                  "modelProperties": {
                    "org.mule.runtime.extension.internal.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "pooling-profile",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.internal.property.InfrastructureParameterModelProperty": {}
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "basic-connection",
          "description": "",
          "modelProperties": {}
        }
      ],
      "messageSources": [],
      "name": "config",
      "description": "Extension javadoc description",
      "modelProperties": {}
    }
  ],
  "operations": [],
  "connectionProviders": [],
  "messageSources": [],
  "errors": [
    {
      "type": "CONNECTIVITY",
      "namespace": "MULE",
      "parent": {
        "type": "ANY",
        "namespace": "MULE"
      }
    },
    {
      "type": "BAD_RESPONSE",
      "namespace": "SOAP",
      "parent": {
        "type": "ANY",
        "namespace": "SOAP",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "ANY",
      "namespace": "MULE"
    },
    {
      "type": "RETRY_EXHAUSTED",
      "namespace": "SOAP",
      "parent": {
        "type": "RETRY_EXHAUSTED",
        "namespace": "MULE",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "CONNECTIVITY",
      "namespace": "SOAP",
      "parent": {
        "type": "CONNECTIVITY",
        "namespace": "MULE",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "BAD_REQUEST",
      "namespace": "SOAP",
      "parent": {
        "type": "ANY",
        "namespace": "SOAP",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "CANNOT_DISPATCH",
      "namespace": "SOAP",
      "parent": {
        "type": "ANY",
        "namespace": "SOAP",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "RETRY_EXHAUSTED",
      "namespace": "MULE",
      "parent": {
        "type": "ANY",
        "namespace": "MULE"
      }
    },
    {
      "type": "ENCODING",
      "namespace": "SOAP",
      "parent": {
        "type": "ANY",
        "namespace": "SOAP",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "INVALID_WSDL",
      "namespace": "SOAP",
      "parent": {
        "type": "ANY",
        "namespace": "SOAP",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "SOAP_FAULT",
      "namespace": "SOAP",
      "parent": {
        "type": "ANY",
        "namespace": "SOAP",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "ANY",
      "namespace": "SOAP",
      "parent": {
        "type": "ANY",
        "namespace": "MULE"
      }
    },
    {
      "type": "TIMEOUT",
      "namespace": "SOAP",
      "parent": {
        "type": "ANY",
        "namespace": "SOAP",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    }
  ],
  "modelProperties": {},
  "types": []
}
