blob: 7fcfd0836b3f3adc44d274741eefae098fbdf42e [file] [log] [blame]
{
"type":"object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "http://airavata.apache.org/schemas/gfac/2012/12/serviceDescription",
"properties":{
"serviceDescription": {
"$ref": "#/definitions/serviceDescriptionType"
}
},
"definitions":{
"serviceDescriptionType":{
"type":"object",
"id": "http://jsonschema.net/serviceDescription",
"required":["service", "portType"],
"properties":{
"name": {
"type":"string"
},
"description": {
"type":"string"
},
"service": {
"$ref": "#/definitions/serviceType"
},
"portType": {
"$ref": "#/definitions/portTypeType"
},
"authorInfo": {
"type": "array",
"items": {
"$ref": "http://airavata.apache.org/schemas/gfac/2012/12/authorInfoType"
}
},
"documentInfo": {
"$ref": "#/definitions/documentInfoType"
},
"inputParameters": {
"type" : "array",
"items": {
"$ref" : "#/definitions/inputParameterType"
}
},
"outputParameters": {
"type":"array",
"items": {
"$ref" : "#/definitions/outputParameterType"
}
}
}
},
"serviceType": {
"type":"object",
"required":["serviceName"],
"properties":{
"serviceName": {
"type":"object",
"required":["@targetNamespace"],
"properties":{
"@targetNamespace": {
"type":"string"
}
}
},
"serviceDescription": {
"type":"string"
},
"anyMetadata": {
"type": "array",
"items": {
"$ref": "http://airavata.apache.org/schemas/gfac/2012/12/anyMetadata"
}
}
}
},
"documentInfoType": {
"$ref" : "http://airavata.apache.org/schemas/gfac/2012/12/documentInfoType"
},
"inputParameterType": {
"type":"array",
"required":["parameterName", "parameterType"],
"properties":{
"parameterName": {
"type":"string"
},
"parameterDescription": {
"type":"string"
},
"parameterType": {
"type":"object",
"properties":{
"@type": {
"type":"string"
},
"name": {
"type":"string"
}
}
},
"anyMetadata": {
"type": "array",
"items": {
"$ref": "http://airavata.apache.org/schemas/gfac/2012/12/anyMetadata"
}
},
"parameterValue": {
"type":"array",
"items":{
"type":"string"
}
}
}
},
"outputParameterType": {
"type":"object",
"required":["parameterName", "parameterType"],
"properties":{
"parameterName": {
"type":"string"
},
"parameterDescription": {
"type":"string"
},
"parameterType": {
"type":"object",
"properties":{
"@type": {
"type":"string"
},
"name": {
"type":"string"
}
}
},
"anyMetadata": {
"type": "array",
"items": {
"$ref": "http://airavata.apache.org/schemas/gfac/2012/12/anyMetadata"
}
},
"stdOutRegExp": {
"type":"array",
"items":{
"type":"string"
}
}
}
},
"portTypeType": {
"type":"object",
"id": "http://jsonschema.net/serviceDescription/portType",
"required":["method"],
"properties":{
"portName": {
"type":"string"
},
"portDescription": {
"type":"string"
},
"method": {
"$ref": "#/definitions/methodType"
},
"anyMetadata": {
"type": "array",
"items": {
"$ref": "http://airavata.apache.org/schemas/gfac/2012/12/anyMetadata"
}
}
}
},
"methodType": {
"type":"object",
"required":["methodName"],
"properties":{
"methodName": {
"type":"string"
},
"methodDescription": {
"type":"string"
},
"anyMetadata": {
"type": "array",
"items": {
"$ref": "http://airavata.apache.org/schemas/gfac/2012/12/anyMetadata"
}
}
}
}
}
}