SOAP API Metadata Service
Last Updated: 22 May 2017
The SOAP API Metadata Service asset manages the metadata functions of the SOAP Server including setting and regenerating metadata.
To add a SOAP API Metadata Service, go to Web Services -> SOAP API Metadata Service. For the API to work, it must be created under a SOAP Server within the Web Services folder, as shown in the figure to the right. The API will then be available to enable on the Details screen of the SOAP Server, as shown in the figure below.
You can configure the settings of the SOAP API Metadata Service on its associated asset screens. The majority of these screens are the same or similar to those for a Standard Page and are described in the Asset Screens manual. In this chapter we will describe the Details screen, which is different for a SOAP API Search Service.
Bookmarks to the headings on this page:
Details Screen
The Details screen allows you to configure the interface functions for the SOAP API Metadata Service. For more information about the Status, Future Status, Thumbnail and Details sections, refer to the Details Screen chapter in the Asset Screens manual.
Interface Settings
This section allows you to control which functions the SOAP API Metadata Service will be able to provide when enabled on a SOAP Server. The Interface Settings section of the Details screen is shown in the figure below.
In the Function List, select Enabled for the functions you want to make available on the API. For a full explanation of these functions, see the Operations section below.
Operations
The operations that are managed by the SOAP API Metadata Service are as follows:
- SetMetadataSchema
- GetMetadataFieldsofSchema
- GetMetadataFieldsDetailsofSchema
- GetMetadataFieldValues
- RegenerateMetadataSchema
- RegenerateMetadataAsset
- GetMetadataValueByIDs
- SetAssetMetadata
- SetMultipleMetadataFields
- SetMetadataFieldDefaultValue
- GetSchemasOnAsset
See the sections below for more information on each of the operations available on this API.
SetMetadataSchema
Elements - Parameter [Param Type] | Min Occurs | Max Occurs | Type | |
---|---|---|---|---|
SetMetadataSchemaSoapInput SetMetadataSchema | AssetID [string] SchemaID [string] Grant [Grant] Cascade [boolean] | 1 1 1 0 | 1 1 1 1 | simple simple simple simple |
SetMetadataSchemaSoapOutput SetMetadataSchemaResponse | SetSchemaResult [boolean] | 0 | 1 | simple |
The SetMetadataSchema operation will apply, deny or revoke (delete) a Metadata Schema on a specified asset. The parameters available for this operation are as follows:
- AssetID: the asset ID of the asset where the Metadata Schema is set. This parameter is mandatory.
- SchemaID: the asset ID of the Metadata Schema. This parameter is mandatory.
- Grant: the grant that will determine how the Metadata Schema is implemented, for example Revoke. This parameter is mandatory.
- Cascade: indicates whether the Metadata Schema will be cascaded to all child assets. The value for this parameter should be either TRUE or FALSE (or 1 or 0). The default value for this parameter is 1.
Example Request
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:SetMetadataSchema>
<AssetID>100</AssetID>
<SchemaID>105</SchemaID>
<Grant>Revoke</Grant>
<Cascade>TRUE</Cascade>
</ns1:SetMetadataSchema>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Example Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:SetMetadataSchemaResponse>
<SetSchemaResult>true</SetSchemaResult>
</ns1:SetMetadataSchemaResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
GetMetadataFieldsOfSchema
Elements - Parameter [Param Type] | Min Occurs | Max Occurs | Type | |
---|---|---|---|---|
GetMetadataFieldsOfSchemaSoapInput GetMetadataFieldsOfSchema | SchemaID [string] | 1 | 1 | simple |
GetMetadataFieldsOfSchemaSoapOutput GetMetadataFieldsOfSchemaResponse | GetMetadataFieldsOfSchemaResult [string] | 0 | / | simple |
The GetMetadataFieldsOfSchema operation will return the metadata field IDs of a specified Metadata Schema. The parameters available for this operation are as follows:
- SchemaID: the asset ID of the Metadata Schema to return metadata field IDs from. This parameter is mandatory.
Example Request
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:GetMetadataFieldsOfSchema>
<SchemaID>300</SchemaID>
</ns1:GetMetadataFieldsOfSchema>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Example Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:GetMetadataFieldsOfSchemaResponse>
<GetMetadataFieldsOfSchemaResult>302</GetMetadataFieldsOfSchemaResult>
<GetMetadataFieldsOfSchemaResult>303</GetMetadataFieldsOfSchemaResult>
</ns1:GetMetadataFieldsOfSchemaResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
GetMetadataFieldsDetailOfSchema
Elements - Parameter [Param Type] | Min Occurs | Max Occurs | Type | |
---|---|---|---|---|
GetMetadataFieldsDetailOfSchemaSoapInput GetMetadataFieldsDetailOfSchema | SchemaID [string] | 1 | 1 | simple |
GetMetadataFieldsDetailOfSchemaSoapOutput GetMetadataFieldsDetailOfSchemaResponse | GetMetadataFieldsDetail OfSchemaResult [string] | 0 | / | simple |
The GetMetadataFieldsDetailsOfSchema operation will return the metadata field details of a specified Metadata Schema. The parameters available for this operation are as follows:
- SchemaID: the asset ID of the Metadata Schema to return the metadata fields and the details from. This parameter is mandatory.
Example Request
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:GetMetadataFieldsDetailsOfSchema>
<SchemaID>300</SchemaID>
</ns1:GetMetadataFieldsDetailsOfSchema>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Example Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:GetMetadataFieldsDetailOfSchemaResponse>
<GetMetadataFieldsDetailOfSchemaResult> <AssetID>302</AssetID>
<TypeCode>metadata_field_text</TypeCode>
<Name>Text</Name>
<FriendlyName>Text</FriendlyName>
<Description>Enter the value in the field provided.</Description>
<Default>Home</Default>
<Scheme>AGLS</Scheme>
<Language>English</Language>
<Editable>1</Editable>
<IsContextable>1</IsContextable>
<Required>0</Required>
<Frontend>show</Frontend>
</GetMetadataFieldsDetailOfSchemaResult> <GetMetadataFieldsDetailOfSchemaResult>
<AssetID>302</AssetID>
<TypeCode>metadata_field_multiple_text</TypeCode>
<Name>Multiple Text</Name>
<FriendlyName>Multi Text</FriendlyName>
<Description>Enter the values in the fields provided.</Description>
<Default></Default>
<Scheme>AGLS</Scheme>
<Language>English</Language>
<Editable>0</Editable>
<IsContextable>1</IsContextable>
<Required>1</Required>
<Frontend>hide</Frontend>
</GetMetadataFieldsDetailOfSchemaResult>
</ns1:GetMetadataFieldsDetailOfSchemaResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
GetMetadataFieldValues
Elements - Parameter [Param Type] | Min Occurs | Max Occurs | Type | |
---|---|---|---|---|
GetMetadataFieldsValuesSoapInput GetMetadataFieldsValues | AssetID [string] FieldNames [string] | 1 0 | 1 / | simple simple |
GetMetadataFieldValuesSoapOutput GetMetadataFieldsValuesResponse | GetMetadataFieldValuesResult [FieldInfo] | 0 | / | complex |
The GetMetadataFieldValues will return the metadata field values of a specified asset. The parameters available for this operation are as follows:
- AssetID: the asset ID of the asset to return metadata field values from. This parameter is mandatory.
- FieldNames: the metadata field names to return the values for. This allows you to define specific field values to return.
Example Request
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:GetMetadataFieldValues>
<AssetID>120</AssetID>
<FieldNames>keywords</FieldNames>
<FieldNames>summary</FieldNames>
</ns1:GetMetadataFieldValues>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Example Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:GetMetadataFieldValuesResponse>
<GetMetadataFieldValuesResult>
<FieldName>keywords</FieldName>
<FieldValue>news, cms, matrix, squiz, release</FieldValue>
</GetMetadataFieldValuesResult>
<GetMetadataFieldValuesResult>
<FieldName>summary</FieldName>
<FieldValue>Squiz Matrix ver. 4.0.6 and 4.2.2 have been released.</FieldValue>
</GetMetadataFieldValuesResult>
</ns1:GetMetadataFieldValuesResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
RegenerateMetadataSchema
Elements - Parameter [Param Type] | Min Occurs | Max Occurs | Type | |
---|---|---|---|---|
RegenerateMetadataSchemaSoapInput RegenerateMetadataSchema | SchemaID [string] | 1 | 1 | simple |
RegenerateMetadataSchemaSoapOutput RegenerateMetadataSchemaResponse | RegenerateMetadataSchemaResult [boolean] | 0 | 1 | simple |
The RegenerateMetadataSchema operation will regenerate the metadata of all assets for a specified Metadata Schema. The parameters available for this operation are as follows:
- SchemaID: the asset ID of the Metadata Schema where metadata is to regenerate. This parameter is mandatory.
Example Request
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:RegenerateMetadataSchema>
<SchemaID>100</SchemaID>
</ns1:RegenerateMetadataSchema>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Example Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:RegenerateMetadataSchemaResponse>
<RegenerateMetadataSchemaResult>true</RegenerateMetadataSchemaResult>
</ns1:RegenerateMetadataSchemaResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
RegenerateMetadataAsset
Elements - Parameter [Param Type] | Min Occurs | Max Occurs | Type | |
---|---|---|---|---|
RegenerateMetadataAssetSoapInput RegenerateMetadataAsset | AssetID [string] | 1 | 1 | simple |
RegenerateMetadataAssetSoapOutput RegenerateMetadataAssetResponse | RegenerateMetadataAssetResult [boolean] | 0 | 1 | simple |
The RegenerateMetadataAsset operation will regenerate the metadata of a specified asset. The parameters available for this operation are as follows:
- AssetID: the asset ID of the asset where metadata is to regenerate. This parameter is mandatory.
Example Request
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:RegenerateMetadataAsset>
<AssetID>100</AssetID>
</ns1:RegenerateMetadataAsset>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Example Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:RegenerateMetadataAssetResponse>
<RegenerateMetadataAssetResult>true</RegenerateMetadataAssetResult>
</ns1:RegenerateMetadataAssetResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
GetMetadataValueByIDs
Elements - Parameter [Param Type] | Min Occurs | Max Occurs | Type | |
---|---|---|---|---|
GetMetadataValueByIDsSoapInput GetMetadataValueByIDs | AssetID [string] FieldID [string] | 1 1 | 1 1 | simple simple |
GetMetadataValueByIDsSoapOutput GetMetadataValueByIDsResponse | GetMetadataValueByIDsResult [string] | 1 | 1 | simple |
The GetMetadataValueByIDs operation will return a metadata field value of a specified asset. The parameters available for this operation are as follows:
- AssetID: the asset ID of the asset to return a metadata field value from. This parameter is mandatory.
- FieldID: the asset ID of the field to return the value for. This parameter is mandatory.
Example Request
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:GetMetadataValueByIDs>
<AssetID>100</AssetID>
<FieldID>122</FieldID>
</ns1:GetMetadataValueByIDs>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Example Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:GetMetadataValueByIDsResponse>
<GetMetadataValueByIDsResult>news, cms, matrix, squiz, release</GetMetadataValueByIDsResult>
</ns1:GetMetadataValueByIDsResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
SetAssetMetadata
Elements - Parameter [Param Type] | Min Occurs | Max Occurs | Type | |
---|---|---|---|---|
SetAssetMetadataSoapInput SetAssetMetadata | AssetID [string] FieldID [string] NewValue [string] | 1 1 1 | 1 1 1 | simple simple simple |
SetAssetMetadataSoapOutput SetAssetMetadataResponse | SetAssetMetadataResult [boolean] | 0 | 1 | simple |
The SetAssetMetadata operation will set the value of a metadata field for a specified asset. The parameters available for this operation are as follows:
- AssetID: the asset ID of the asset to set metadata on. This parameter is mandatory.
- FieldID: the asset ID of the field to set the metadata value for. This parameter is mandatory.
- NewValue: the metadata value of the metadata field. This parameter is mandatory. The formats for setting the value for the various metadata field types are as follows:
- Text: a simple text string, e.g. Squiz Matrix.
- Select: the key(s) for the option(s) to select, separated by semicolons, e.g. a; b; c.
- Multiple Text: simple text strings, separated by semicolons for each item, e.g. Squiz; Matrix.
- Date: the date and time in the format yyyy-MM-dd hh:mm:ss, e.g. 2012-06-14 09:12:40.
- Thesaurus: the name of the Thesaurus Term, e.g. Matrix.
- Hierarchy: the key(s) for the option(s) to select, separated by semicolons, e.g. a; a1; b2.
- WYSIWYG: HTML content, e.g. <strong>lorem ipsum...</strong>
- Related Asset: the asset ID of the related asset, e.g. 123.
For more information on the metadata field types available, refer to the Metadata Schemas manual.
Example Request
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:SetAssetMetadata>
<AssetID>100</AssetID>
<FieldID>105</FieldID>
<NewValue>new_value</NewValue>
</ns1:SetAssetMetadata>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Example Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:SetAssetMetadataResponse>
<SetAssetMetadataResult>true</SetAssetMetadataResult>
</ns1:SetAssetMetadataResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
SetMultipleMetadataFields
Elements - Parameter [Param Type] | Min Occurs | Max Occurs | Type | |
---|---|---|---|---|
SetMultipleMetadataFieldsInput SetMultipleMetadataFields | AssetID [string] MetadataInfo [MetadataInfo] | 1 0 | 1 / | simple complex |
SetMultipleMetadataFieldsOutput SetMultipleMetadataFieldsResponse | SetMultipleMetadataFieldsResult [boolean] | 0 | 1 | simple |
The SetMultipleMetadataFields operation will set the values of multiple metadata fields on a specified asset. The parameters available for this operation are as follows:
- AssetID: the asset ID of the asset to set metadata on. This parameter is mandatory.
- MetadataInfo: the metadata field IDs and values to set on the specified asset. Please note that this is a complexType parameter, requiring multiple elements. For more information, refer to the complexType Parameters Appendix in this manual. The default value for this parameter is Array().
Example Request
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:SetMultipleMetadataFields>
<AssetID>70</AssetID>
<MetadataInfo>
<FieldID>407</FieldID>
<FieldValue>First field value</FieldValue>
</MetadataInfo>
<MetadataInfo>
<FieldID>618</FieldID>
<FieldValue>Second field value</FieldValue>
</MetadataInfo>
</ns1:SetMultipleMetadataFields>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Example Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:SetMultipleMetadataFieldsResponse>
<SetMultipleMetadataFieldsResult>true</SetMultipleMetadataFieldsResult>
</ns1:SetMultipleMetadataFieldsResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
SetMetadataFieldDefaultValue
Elements - Parameter [Param Type] | Min Occurs | Max Occurs | Type | |
---|---|---|---|---|
SetMetadataFieldDefaultValueSoapInput SetMetadataFieldDefaultValue | FieldID [string] NewDefaultValue [string] | 1 1 | 1 1 | simple simple |
SetMetadataFieldDefaultValueSoapOutput SetMetadataFieldDefaultValueResponse | SetMetadataFieldDefaultValueResult [boolean] | 0 | 1 | simple |
The SetMetadataFieldDefaultValue operation will set the default value for a specified metadata field. The parameters available for this operation are as follows:
- FieldID: the asset ID of the field to set the default metadata value for. This parameter is mandatory.
- NewDefaultValue: the default metadata value of the metadata field. The format for setting the values for each metadata field type is outlined in the SetAssetMetadata operation documentation in this chapter. This parameter is mandatory.
Example Request
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:SetMetadataFieldDefaultValue>
<FieldID>105</FieldID>
<NewDefaultValue>default_value</NewDefaultValue>
</ns1:SetMetadataFieldDefaultValue>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Example Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:SetMetadataFieldDefaultValueResponse>
<SetMetadataFieldDefaultValueResult>true</SetMetadataFieldDefaultValueResult>
</ns1:SetMetadataFieldDefaultValueResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
GetSchemasOnAsset
Elements - Parameter [Param Type] | Min Occurs | Max Occurs | Type | |
---|---|---|---|---|
GetSchemasOnAssetSoapInput GetSchemasOnAsset | AssetID [string] | 1 | 1 | simple |
GetSchemasOnAssetSoapOutput GetSchemasOnAssetResponse | GetSchemasOnAssetResult [SchemaSetInfo] | 0 | / | complex |
The GetSchemasOnAsset operation will return the Metadata Schemas applied to a specified asset. The parameters available for this operation are as follows:
- AssetID: the asset ID of the asset to return the Metadata Schemas applied to it.
Example Request
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:GetSchemasOnAsset>
<AssetID>100</AssetID>
</ns1:GetSchemasOnAsset>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Example Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://SYSTEM_ROOT_URL/_web_services/soap-server">
<SOAP-ENV:Body>
<ns1:GetSchemasOnAssetResponse>
<GetSchemasOnAssetResult>
<SchemaID>130</SchemaID>
<Grant>1</Grant>
</GetSchemasOnAssetResult>
</ns1:GetSchemasOnAssetRepsonse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>