SOAP API Metadata Service

Last Updated: 22 May 2017

The SOAP API Metadata Service setup
The SOAP setup

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.

The SOAP API Metadata Service availabel on the SOAP Server
The SOAP API Metadata Service available on the SOAP Server

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:

  1. Details Screen
  2. Operations

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.

The Interface Settings section of the SOAP API Metadata Service
The Interface Settings of the Details screen

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:

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>

Previous Chapter Next Chapter

The Latest

Let Us Know What You Think

Let us know if you spot any errors or if you have any ideas on how we can improve the Matrix Community Website.

Contact Squiz for Demo

Let us show you the true power of Squiz Matrix by giving you a personalised demonstration.