{
  "factory": {
    "parent": "abstract-service",
    "description": "",
    "id": "abstract-service-soap",
    "label": "service,soap",
    "type": "entaxy.runtime.service",
    "category": "",
    "isAbstract": true
  },
  "entaxy.runtime.service": {
    "serviceType": "SOAP"
  },
  "fields": {
    "objectId": {
      "displayName": "Service Id"
    },
    "address": {
      "displayName": "Address",
      "type": "String",
      "description": "The service publication address. Specifies the address at which the service will be available for interaction with other system components. If the field is left blank, it will be generated automatically based on the Service Id. For more details see <a target=\"_blank\" href=\"https://docs.entaxy.ru/entaxy-core/${project.version}/core/schema/Soap_services.html\">Entaxy docs</a>",
      "required": true,
      "group": "main",
      "defaultValue": {
        "@CALCULATED": {
          "lazy": false,
          "expression": "${objectId}"
        }
      },
      "@TYPEINFO": {
        "validation": {
          "doFix": true,
          "fixRules": [
            {
              "forbid": {
                "symbols": "/",
                "start": true
              }
            }
          ]
        }
      }
    },
    "##publish": {
      "type": "Map",
      "required": true,
      "isHidden": true,
      "configurable": false,
      "defaultValue": {
        "name": {
          "@CALCULATED": {
            "expression": "${objectId}",
            "lazy": true
          }
        },
        "factory": {
          "@CALCULATED": {
            "expression": "${factoryId}",
            "lazy": false
          }
        },
        "label": {
          "@CALCULATED": {
            "expression": "${#FACTORY#.factory.label}",
            "lazy": false
          }
        },
        "scope": {
          "@CALCULATED": {
            "expression": "${scope}",
            "allowObjects": false,
            "lazy": false
          }
        }
      }
    }
  },
  "outputs": {
    "init": {
      "isDefault": true,
      "fields": {
        "address": {},
        "##publish": {}
      }
    }
  }
}
