{
  "name": "Web Service Consumer",
  "description": "",
  "version": "4.0.0-M5.1",
  "vendor": "Mulesoft",
  "category": "COMMUNITY",
  "minMuleVersion": "4.0.0",
  "xmlDsl": {
    "namespace": "wsc",
    "namespaceUri": "http://www.mulesoft.org/schema/mule/wsc",
    "schemaLocation": "http://www.mulesoft.org/schema/mule/wsc/current/mule-wsc.xsd",
    "schemaVersion": "4.0.0-M5.1",
    "xsdFileName": "mule-wsc.xsd"
  },
  "resources": [],
  "subTypes": [
    {
      "baseType": {
        "format": "java",
        "type": "@ref:org.mule.extension.ws.api.security.SecurityStrategy"
      },
      "subTypes": [
        {
          "format": "java",
          "type": "@ref:org.mule.extension.ws.api.security.WssDecryptSecurityStrategy"
        },
        {
          "format": "java",
          "type": "@ref:org.mule.extension.ws.api.security.WssEncryptSecurityStrategy"
        },
        {
          "format": "java",
          "type": "@ref:org.mule.extension.ws.api.security.WssSignSecurityStrategy"
        },
        {
          "format": "java",
          "type": "@ref:org.mule.extension.ws.api.security.WssUsernameTokenSecurityStrategy"
        },
        {
          "format": "java",
          "type": "@ref:org.mule.extension.ws.api.security.WssTimestampSecurityStrategy"
        },
        {
          "format": "java",
          "type": "@ref:org.mule.extension.ws.api.security.WssVerifySignatureSecurityStrategy"
        }
      ]
    }
  ],
  "externalLibraries": [],
  "importedTypes": [],
  "configurations": [
    {
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "java.lang.String"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "name": "encoding",
              "description": "Default character encoding to be used in all the messages. If not specified, the default charset in the mule configuration\nwill be used",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "operations": [
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "errors": [
            {
              "type": "RETRY_EXHAUSTED",
              "namespace": "WSC",
              "parent": {
                "type": "RETRY_EXHAUSTED",
                "namespace": "MULE",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "Error Sending Request",
              "namespace": "WSC",
              "parent": {
                "type": "ANY",
                "namespace": "WSC",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "Invalid WSDL",
              "namespace": "WSC",
              "parent": {
                "type": "ANY",
                "namespace": "WSC",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "Soap Fault",
              "namespace": "WSC",
              "parent": {
                "type": "ANY",
                "namespace": "WSC",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "XML Encoding",
              "namespace": "WSC",
              "parent": {
                "type": "ANY",
                "namespace": "WSC",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "Bad Request",
              "namespace": "WSC",
              "parent": {
                "type": "ANY",
                "namespace": "WSC",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "Timeout",
              "namespace": "WSC",
              "parent": {
                "type": "ANY",
                "namespace": "WSC",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "Bad Response",
              "namespace": "WSC",
              "parent": {
                "type": "ANY",
                "namespace": "WSC",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            },
            {
              "type": "CONNECTIVITY",
              "namespace": "WSC",
              "parent": {
                "type": "CONNECTIVITY",
                "namespace": "MULE",
                "parent": {
                  "type": "ANY",
                  "namespace": "MULE"
                }
              }
            }
          ],
          "output": {
            "type": {
              "format": "java",
              "type": "Object",
              "annotations": {
                "typeId": "java.lang.Object",
                "classInformation": {
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [],
                  "parent": "",
                  "genericTypes": []
                },
                "typeAlias": {
                  "value": "Object"
                }
              },
              "fields": []
            },
            "hasDynamicType": true,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.ws.api.WscAttributes"
            },
            "hasDynamicType": true,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.String"
                    }
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "name": "operation",
                  "description": "the name of the web service operation that aims to invoke.",
                  "modelProperties": {
                    "org.mule.runtime.extension.internal.property.MetadataKeyPartModelProperty": {
                      "order": 1
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.extension.ws.api.SoapMessageBuilder"
                  },
                  "hasDynamicType": true,
                  "required": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "name": "message",
                  "description": "the constructed SOAP message to perform the request.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.String"
                    }
                  },
                  "hasDynamicType": false,
                  "required": 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": "consume",
          "description": "Consumes an operation from a SOAP Web Service.",
          "modelProperties": {
            "org.mule.runtime.extension.internal.property.MetadataKeyIdModelProperty": {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "java.lang.String"
                }
              },
              "parameterName": "operation"
            }
          }
        }
      ],
      "connectionProviders": [
        {
          "connectionManagementType": "POOLING",
          "externalLibraryModels": [],
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.String"
                    }
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "name": "wsdlLocation",
                  "description": "The WSDL file URL remote or local.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.String"
                    }
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "name": "service",
                  "description": "The service name.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.String"
                    }
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "name": "port",
                  "description": "The port name.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.String"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "name": "address",
                  "description": "The address of the web service.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "typeId": "java.util.List"
                    },
                    "item": {
                      "type": "@ref:org.mule.extension.ws.api.security.SecurityStrategy"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "name": "securityStrategies",
                  "description": "The security strategies configured to protect the SOAP messages.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.String"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "name": "transportConfiguration",
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extension.ws.api.SoapVersion",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "SOAP11",
                          "SOAP12"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "SOAP11",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7
                  },
                  "name": "soapVersion",
                  "description": "The soap version of the WSDL.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8
                  },
                  "name": "mtomEnabled",
                  "description": "If should use the MTOM protocol to manage the attachments or not.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "General",
              "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,
                  "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": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": 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": {}
                },
                {
                  "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,
                  "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": {}
                }
              ],
              "exclusiveParametersModels": [],
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "connection",
          "description": "ConnectionProvider that returns instances of WscConnection.",
          "modelProperties": {}
        }
      ],
      "messageSources": [],
      "name": "config",
      "description": "Web Service Consumer extension used to consume SOAP web services.",
      "modelProperties": {}
    }
  ],
  "operations": [],
  "connectionProviders": [
    {
      "connectionManagementType": "POOLING",
      "externalLibraryModels": [],
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "java.lang.String"
                }
              },
              "hasDynamicType": false,
              "required": true,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "name": "wsdlLocation",
              "description": "The WSDL file URL remote or local.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "java.lang.String"
                }
              },
              "hasDynamicType": false,
              "required": true,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "name": "service",
              "description": "The service name.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "java.lang.String"
                }
              },
              "hasDynamicType": false,
              "required": true,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "name": "port",
              "description": "The port name.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "java.lang.String"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "name": "address",
              "description": "The address of the web service.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Array",
                "annotations": {
                  "typeId": "java.util.List"
                },
                "item": {
                  "type": "@ref:org.mule.extension.ws.api.security.SecurityStrategy"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "name": "securityStrategies",
              "description": "The security strategies configured to protect the SOAP messages.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "java.lang.String"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6
              },
              "name": "transportConfiguration",
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "org.mule.extension.ws.api.SoapVersion",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "SOAP11",
                      "SOAP12"
                    ]
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "SOAP11",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 7
              },
              "name": "soapVersion",
              "description": "The soap version of the WSDL.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 8
              },
              "name": "mtomEnabled",
              "description": "If should use the MTOM protocol to manage the attachments or not.",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "showInDsl": false,
          "name": "General",
          "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,
              "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": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": 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": {}
            },
            {
              "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,
              "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": {}
            }
          ],
          "exclusiveParametersModels": [],
          "showInDsl": false,
          "name": "Connection",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "connection",
      "description": "ConnectionProvider that returns instances of WscConnection.",
      "modelProperties": {}
    }
  ],
  "messageSources": [],
  "errors": [
    {
      "type": "RETRY_EXHAUSTED",
      "namespace": "WSC",
      "parent": {
        "type": "RETRY_EXHAUSTED",
        "namespace": "MULE",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "Error Sending Request",
      "namespace": "WSC",
      "parent": {
        "type": "ANY",
        "namespace": "WSC",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "Invalid WSDL",
      "namespace": "WSC",
      "parent": {
        "type": "ANY",
        "namespace": "WSC",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "CONNECTIVITY",
      "namespace": "MULE",
      "parent": {
        "type": "ANY",
        "namespace": "MULE"
      }
    },
    {
      "type": "XML Encoding",
      "namespace": "WSC",
      "parent": {
        "type": "ANY",
        "namespace": "WSC",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "ANY",
      "namespace": "MULE"
    },
    {
      "type": "Bad Request",
      "namespace": "WSC",
      "parent": {
        "type": "ANY",
        "namespace": "WSC",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "CONNECTIVITY",
      "namespace": "WSC",
      "parent": {
        "type": "CONNECTIVITY",
        "namespace": "MULE",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "Soap Fault",
      "namespace": "WSC",
      "parent": {
        "type": "ANY",
        "namespace": "WSC",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "RETRY_EXHAUSTED",
      "namespace": "MULE",
      "parent": {
        "type": "ANY",
        "namespace": "MULE"
      }
    },
    {
      "type": "ANY",
      "namespace": "WSC",
      "parent": {
        "type": "ANY",
        "namespace": "MULE"
      }
    },
    {
      "type": "Timeout",
      "namespace": "WSC",
      "parent": {
        "type": "ANY",
        "namespace": "WSC",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    },
    {
      "type": "Bad Response",
      "namespace": "WSC",
      "parent": {
        "type": "ANY",
        "namespace": "WSC",
        "parent": {
          "type": "ANY",
          "namespace": "MULE"
        }
      }
    }
  ],
  "modelProperties": {},
  "types": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.ws.api.security.SecurityStrategy",
        "classInformation": {
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": []
        },
        "typeAlias": {
          "value": "SecurityStrategy"
        }
      },
      "fields": []
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.ws.api.WscAttributes",
        "classInformation": {
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": true,
          "implementedInterfaces": [],
          "parent": "org.mule.runtime.core.message.BaseAttributes",
          "genericTypes": []
        },
        "typeAlias": {
          "value": "WscAttributes"
        }
      },
      "fields": [
        {
          "key": {
            "name": "protocolHeaders"
          },
          "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.lang.String"
                ]
              }
            },
            "open": {
              "type": "String",
              "annotations": {
                "typeId": "java.lang.String"
              }
            },
            "fields": []
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "soapHeaders"
          },
          "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.lang.String"
                ]
              }
            },
            "open": {
              "type": "String",
              "annotations": {
                "typeId": "java.lang.String"
              }
            },
            "fields": []
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.ws.api.SoapMessageBuilder",
        "classInformation": {
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": []
        },
        "typeAlias": {
          "value": "SoapMessageBuilder"
        }
      },
      "fields": [
        {
          "key": {
            "name": "body"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "java.lang.String"
            }
          },
          "annotations": {
            "parameterPurpose": {
              "role": "PRIMARY_CONTENT"
            },
            "default": "#[payload]",
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "headers"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "java.lang.String"
            }
          },
          "annotations": {
            "parameterPurpose": {
              "role": "CONTENT"
            },
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "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",
                  "org.mule.extension.ws.api.SoapAttachment"
                ]
              }
            },
            "open": {
              "type": "Object",
              "annotations": {
                "typeId": "org.mule.extension.ws.api.SoapAttachment",
                "classInformation": {
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [],
                  "parent": "",
                  "genericTypes": []
                },
                "typeAlias": {
                  "value": "SoapAttachment"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "content"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.Object",
                      "classInformation": {
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": []
                      },
                      "typeAlias": {
                        "value": "Object"
                      }
                    },
                    "fields": []
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "contentType"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.api.metadata.MediaType",
                      "classInformation": {
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": []
                      },
                      "typeAlias": {
                        "value": "MediaType"
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "charset"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "java.util.Optional",
                            "classInformation": {
                              "hasDefaultConstructor": false,
                              "isInterface": false,
                              "isInstantiable": false,
                              "isAbstract": false,
                              "isFinal": true,
                              "implementedInterfaces": [],
                              "parent": "",
                              "genericTypes": [
                                "java.nio.charset.Charset"
                              ]
                            },
                            "typeAlias": {
                              "value": "Optional"
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "present"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "typeId": "boolean"
                                }
                              },
                              "annotations": {
                                "visibility": "READ_ONLY"
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "primaryType"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "typeId": "java.lang.String"
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "subType"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "typeId": "java.lang.String"
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      }
                    ]
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "id"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "typeId": "java.lang.String"
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            },
            "fields": []
          },
          "annotations": {
            "parameterPurpose": {
              "role": "CONTENT"
            },
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.ws.api.security.WssDecryptSecurityStrategy",
        "classInformation": {
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.extension.ws.api.security.SecurityStrategy"
          ],
          "parent": "",
          "genericTypes": []
        },
        "typeAlias": {
          "value": "WssDecryptSecurityStrategy"
        }
      },
      "fields": [
        {
          "key": {
            "name": "keyStoreConfiguration"
          },
          "model": {
            "required": "true",
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extension.ws.api.security.config.WssKeyStoreConfiguration",
              "classInformation": {
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "org.mule.extension.ws.api.security.config.WssStoreConfiguration"
                ],
                "parent": "",
                "genericTypes": []
              },
              "typeAlias": {
                "value": "WssKeyStoreConfiguration"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "alias"
                },
                "model": {
                  "required": "true",
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The alias of the private key to use"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "keyPassword"
                },
                "model": {
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "layout": {
                    "layoutModel": {
                      "password": true,
                      "text": false,
                      "query": false
                    }
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The password used to access the private key."
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "password"
                },
                "model": {
                  "required": "true",
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "layout": {
                    "layoutModel": {
                      "password": true,
                      "text": false,
                      "query": false
                    }
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The password to access the store."
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "keyStorePath"
                },
                "model": {
                  "required": "true",
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The location of the KeyStore file"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "type"
                },
                "model": {
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "default": "jks",
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The type of store (jks, pkcs12, jceks, or any other)"
                    }
                  }
                }
              }
            ]
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.ws.api.security.WssEncryptSecurityStrategy",
        "classInformation": {
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.extension.ws.api.security.SecurityStrategy"
          ],
          "parent": "",
          "genericTypes": []
        },
        "typeAlias": {
          "value": "WssEncryptSecurityStrategy"
        }
      },
      "fields": [
        {
          "key": {
            "name": "keyStoreConfiguration"
          },
          "model": {
            "required": "true",
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extension.ws.api.security.config.WssKeyStoreConfiguration",
              "classInformation": {
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "org.mule.extension.ws.api.security.config.WssStoreConfiguration"
                ],
                "parent": "",
                "genericTypes": []
              },
              "typeAlias": {
                "value": "WssKeyStoreConfiguration"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "alias"
                },
                "model": {
                  "required": "true",
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The alias of the private key to use"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "keyPassword"
                },
                "model": {
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "layout": {
                    "layoutModel": {
                      "password": true,
                      "text": false,
                      "query": false
                    }
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The password used to access the private key."
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "password"
                },
                "model": {
                  "required": "true",
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "layout": {
                    "layoutModel": {
                      "password": true,
                      "text": false,
                      "query": false
                    }
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The password to access the store."
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "keyStorePath"
                },
                "model": {
                  "required": "true",
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The location of the KeyStore file"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "type"
                },
                "model": {
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "default": "jks",
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The type of store (jks, pkcs12, jceks, or any other)"
                    }
                  }
                }
              }
            ]
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.ws.api.security.WssSignSecurityStrategy",
        "classInformation": {
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.extension.ws.api.security.SecurityStrategy"
          ],
          "parent": "",
          "genericTypes": []
        },
        "typeAlias": {
          "value": "WssSignSecurityStrategy"
        }
      },
      "fields": [
        {
          "key": {
            "name": "keyStoreConfiguration"
          },
          "model": {
            "required": "true",
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extension.ws.api.security.config.WssKeyStoreConfiguration",
              "classInformation": {
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "org.mule.extension.ws.api.security.config.WssStoreConfiguration"
                ],
                "parent": "",
                "genericTypes": []
              },
              "typeAlias": {
                "value": "WssKeyStoreConfiguration"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "alias"
                },
                "model": {
                  "required": "true",
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The alias of the private key to use"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "keyPassword"
                },
                "model": {
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "layout": {
                    "layoutModel": {
                      "password": true,
                      "text": false,
                      "query": false
                    }
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The password used to access the private key."
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "password"
                },
                "model": {
                  "required": "true",
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "layout": {
                    "layoutModel": {
                      "password": true,
                      "text": false,
                      "query": false
                    }
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The password to access the store."
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "keyStorePath"
                },
                "model": {
                  "required": "true",
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The location of the KeyStore file"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "type"
                },
                "model": {
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "default": "jks",
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The type of store (jks, pkcs12, jceks, or any other)"
                    }
                  }
                }
              }
            ]
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.ws.api.security.WssUsernameTokenSecurityStrategy",
        "classInformation": {
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.extension.ws.api.security.SecurityStrategy"
          ],
          "parent": "",
          "genericTypes": []
        },
        "typeAlias": {
          "value": "WssUsernameTokenSecurityStrategy"
        }
      },
      "fields": [
        {
          "key": {
            "name": "username"
          },
          "model": {
            "required": "true",
            "type": "String",
            "annotations": {
              "typeId": "java.lang.String"
            }
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "password"
          },
          "model": {
            "required": "true",
            "type": "String",
            "annotations": {
              "typeId": "java.lang.String"
            }
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": true,
                "text": false,
                "query": false
              }
            }
          }
        },
        {
          "key": {
            "name": "passwordType"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "org.mule.extension.ws.api.PasswordType",
              "enum": {
                "type": "[Ljava.lang.String;",
                "values": [
                  "TEXT",
                  "DIGEST"
                ]
              }
            }
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "default": "TEXT",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
              "displayModel": {
                "summary": "The type of the password that is provided. One of Digest or Text"
              }
            }
          }
        },
        {
          "key": {
            "name": "addNonce"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "addCreated"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.ws.api.security.WssTimestampSecurityStrategy",
        "classInformation": {
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.extension.ws.api.security.SecurityStrategy"
          ],
          "parent": "",
          "genericTypes": []
        },
        "typeAlias": {
          "value": "WssTimestampSecurityStrategy"
        }
      },
      "fields": [
        {
          "key": {
            "name": "timeToLive"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "int": {},
              "typeId": "long"
            }
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "default": "60",
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "timeToLiveUnit"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "java.util.concurrent.TimeUnit",
              "enum": {
                "type": "[Ljava.lang.String;",
                "values": [
                  "NANOSECONDS",
                  "MICROSECONDS",
                  "MILLISECONDS",
                  "SECONDS",
                  "MINUTES",
                  "HOURS",
                  "DAYS"
                ]
              }
            }
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "default": "SECONDS",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
              "displayModel": {
                "summary": "Time unit to be used in the timeToLive parameter"
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.ws.api.security.WssVerifySignatureSecurityStrategy",
        "classInformation": {
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.extension.ws.api.security.SecurityStrategy"
          ],
          "parent": "",
          "genericTypes": []
        },
        "typeAlias": {
          "value": "WssVerifySignatureSecurityStrategy"
        }
      },
      "fields": [
        {
          "key": {
            "name": "trustStoreConfiguration"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extension.ws.api.security.config.WssTrustStoreConfiguration",
              "classInformation": {
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "org.mule.extension.ws.api.security.config.WssStoreConfiguration"
                ],
                "parent": "",
                "genericTypes": []
              },
              "typeAlias": {
                "value": "WssTrustStoreConfiguration"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "trustStorePath"
                },
                "model": {
                  "required": "true",
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The location of the TrsutStore file"
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "password"
                },
                "model": {
                  "required": "true",
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "layout": {
                    "layoutModel": {
                      "password": true,
                      "text": false,
                      "query": false
                    }
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The password to access the store."
                    }
                  }
                }
              },
              {
                "key": {
                  "name": "type"
                },
                "model": {
                  "type": "String",
                  "annotations": {
                    "typeId": "java.lang.String"
                  }
                },
                "annotations": {
                  "parameterPurpose": {
                    "role": "BEHAVIOUR"
                  },
                  "default": "jks",
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  },
                  "org.mule.runtime.extension.api.declaration.type.annotation.DisplayTypeAnnotation": {
                    "displayModel": {
                      "summary": "The type of store (jks, pkcs12, jceks, or any other)"
                    }
                  }
                }
              }
            ]
          },
          "annotations": {
            "parameterPurpose": {
              "role": "BEHAVIOUR"
            },
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    }
  ]
}
