| { |
| "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" |
| } |
| } |
| } |
| } |
| } |
| } |