Catalog Service
Pages 202
- Home
- 2009 Esri Federal UC
- 2009 Esri International UC
- 2010 Esri Federal UC
- 2010 Esri International UC
- 2011 Esri Federal UC
- 2012 Esri Federal UC
- 2013 Esri Federal GIS Conference
- 2013 Esri International User Conference
- 2015 SDI Special Interest Group
- Add a Custom Profile
- Add an OpenSearch endpoint for Federated Search
- Add Another Tab to the Geoportal Interface
- Add Custom Link to a Search Result
- Add Custom Search Criteria
- Add the Geoportal Search to a List of Search Providers
- Add v1.1.1 FGDC editor to a previous Geoportal release
- AGP TO AGP Harvesting with the Geoportal
- AGS TO AGP Harvesting with the Geoportal
- All gpt.xml file settings
- An Introduction to vi
- Apache Tomcat geoportal logging
- Being a Good Robot
- Best Practice for Edits to JSP files
- Biological or Remote Sensing FGDC xsds
- Browse Tree
- Cart Processor
- Catalog Service
- Clear the Tomcat Work Folder
- Collections
- Common problems and solutions
- Communities and live examples
- Components
- Configure a Directory Server for the Geoportal
- Configure geoportal User and Schema in the PostgreSQL Database
- Configure Previewable Filetypes
- Configure Searching of YouTube
- Configure the gpt.xml File
- Configure Widgets
- Connecting to a User Directory
- Create a user account
- Create Relationships between Resources
- Customizations
- Customize DCAT output
- Customize Metadata Validation
- Database problems
- Database Tables
- DataDownload Tab
- Deploy and Configure the Geoportal Web Application in Tomcat
- Deploy and Configure the Servlet Web Application
- Deploy the Geoportal Web Application
- Details of Lucene Indexing in the Geoportal
- Development topics
- Discovering Resources
- Eclipse Project from Compiled WAR
- Eclipse Project from Source Code
- Enable Search Using an Ontology Service
- Error Messages in the Geoportal Web Application
- Esri Geoportal Server LiveDVD
- Extending the Web Harvester
- Federated Search in Portal for ArcGIS
- Feedback
- FGDC Biological Profile and Remote Sensing Extension
- FGDC Service Checker Integration
- Geoportal Clients for ArcGIS
- Geoportal CSW Clients
- Geoportal Facets using Apache Solr
- Geoportal genie
- Geoportal Project from Compiled WAR
- Geoportal Publish Client
- Geoportal Server 1.2.5 What's New
- Geoportal Server 1.2.6 What's New
- Geoportal Server 1.2.7 What's New
- Geoportal server as a broker
- Geoportal Server Downloads
- Geoportal Server v 1.0 What's New
- Geoportal Server v 1.1 What's New
- Geoportal Server v 1.1.1 What's New
- Geoportal Server v 1.2 What's New
- Geoportal Server v 1.2.2 What's New
- Geoportal Server v 1.2.4 What's New
- Geoportal SPARQL Sample
- Geoportal User Interface Components
- Geoportal Web Application File Organization
- Geoportal XML Editor
- Get Assistance with an Implementation
- GXE Concepts
- GXE Crash Course
- GXE Structure
- GXE Workflow
- High Availability and Large Number of Records
- How to Browse for Resources
- How to Create and Manage My Profile
- How to find all documents of a particular metadata standard
- How to Leave a Resource Review
- How to Login and Manage my Password
- How to Manage and Edit Resources
- How to Publish Resources
- How to Restrict Access to Resources
- How to Search for Resources
- How to Search with an Ontology Service
- How to Set Up an Esri Geoportal Server on Linux
- How to Use Search Page Results
- How to Use the Data Download Feature
- How to View Resource Relationships
- IDE Topics
- Identity Components LDAP and Single Sign On
- Index All Metadata Content
- Indexing and Searching the Time Period of the Content
- Install Apache Tomcat 6
- Install Desktop Tools
- Install Esri Geoportal Server
- Install PostgreSQL 9.1.2
- Install the JDBC .jar Files
- Installation
- Installation Version 1.0
- Installation Version 1.1
- Installation Version 1.2
- Installation Version 1.2.2
- Installation Version 1.2.4
- Installation Version 1.2.5
- Installation Version 1.2.6
- Installation Version 1.2.7
- Installation Version 1.2.8
- Integrate with a Content Management System
- Integrate with the con terra Security Solution
- Localization
- Log In to the Geoportal
- Logging
- Look and Feel of the User Interface
- Main Page
- Map LDAP Attributes on the Registration Page
- Map Viewer
- Online form editing for all publication methods
- Open source acknowledgements
- Oracle WebLogic geoportal logging
- Orientation to the Create Metadata Page
- Perform Preinstallation Computer Setup
- Portal for ArcGIS Integration
- Post Deployment Actions
- Preinstallation
- Preinstallation 0.9
- Preinstallation 1.0 and 1.1.x
- Preinstallation 1.2
- Preinstallation 1.2.2
- Preinstallation 1.2.4
- Preinstallation 1.2.5
- Preinstallation 1.2.6
- Preinstallation 1.2.7
- Preinstallation 1.2.8
- Preview Function
- Publication Components
- Ratings and Comments for Search Results
- Register ArcGIS for Server with the Geoportal
- Release notes
- REST API Syntax
- Sample FGDC metadata.xml
- Scheduled tasks
- Search Components
- Search Map
- Search Widget for Flex
- Search Widget for HTML
- Search Widget for Silverlight
- Security Concepts
- Set Up Systemwide Environment Variables
- Set up the Geoportal Database
- Share Link
- Single Sign On
- Smoketest the Geoportal
- Standards Support
- Supported CSW Profiles for Synchronization
- Theme Library
- Troubleshooting
- Troubleshooting Tips
- Two geoportals on the same server
- Upgrade 1.x to 1.2 database
- Upgrading file system approach
- Upgrading Read This Overview
- Upgrading SVN approach
- Url filter customization
- Use an XSLT to Render the Details Page
- Use Ant to build Geoportal
- User Functions and Roles
- User Management Interface
- Using a geoportal
- Using Lucene Search Text Queries
- Version 0.9
- Version 1.0
- Version 1.1
- Version 1.1.1
- Version 1.2
- Version 1.2.2
- Version 1.2.4
- Version 1.2.5
- Version 1.2.6
- Version 1.2.7
- Version 1.2.8
- What is a geoportal and the geoportal server
- What is the esri geoportal server
- What's New
- wiki template
- WMC Client
- Show 187 more pages…
Clone this wiki locally
The Geoportal Catalog Service is a key component for the discovery and publishing of geoportal resources. The geoportal web application includes an implementation of the Open Geospatial Consortium (OGC) Catalog Service for the Web (CS-W) 2.0.2 interface specification. The link to this service will typically follow the format below:
http://serverName:port/geoportal/csw?Request=GetCapabilities&Service=CSW&Version=2.0.2
The geoportal CS-W service makes possible support for arbitrary metadata schemas without complicating the search component of the geoportal. When a metadata document is published to the geoportal, the original metadata is retained unchanged and is used when editing the metadata in the online form or when displaying the full metadata as part of search results. At the same time, the geoportal is able to extract searchable elements into a uniform structure, standardize domain values across metadata standards, determine the topic category codes or content types of the metadata document, select key content for connecting to online resources, and assign a unique identifier to the record. The Details of the CS-W Interface will be described and Sample Requests and Responses included in the sections below. See the Geoportal WSDL section at the end for information about the web service definition files.
Details of the CS-W Interface
Supported Operations
The geoportal CS-W implementation supports the mandatory CS-W requests as well as the optional GetRecordsById and Transaction. The Transaction requests publish or update entire documents only. The Transaction delete request is based on file identifier alone. Geoportal publisher permissions for executing Transaction requests must be included in the HTTP header in the client application that submits the CS-W request. The client application's header and credentials must follow HTTP Authorization standards. The GetDomain and Harvest operations are not supported at this time. Note: In the table below, the Obligation column indicates if the operation is mandatory or optional. Mandatory operations are required for the service to be minimally compliant with this CS-W specification. Optional operations are not required by the CS-W specification.
| Operation | Obligation | Supported | Binding |
|---|---|---|---|
| GetCapabilities | mandatory | yes | KVP+POST+SOAP |
| DescribeRecord | mandatory | yes | KVP+POST+SOAP |
| GetRecords | mandatory | yes | POST+SOAP |
| GetRecordById | optional | yes | KVP+POST+SOAP |
| GetDomain | optional | no | N/A |
| Harvest | optional | no | N/A |
| Transaction | optional | yes | POST+SOAP |
Namespaces
The following table lists the namespace prefix declarations that are used throughout this document and the associated specification and version.
| Prefix | Namespace URI | Specification |
| csw | http://www.opengis.net/cat/csw/2.0.2 | OGC Catalogue Services 2.0.2, Corrigendum 2 Release, OGC 07-006r1 |
| ows | http://www.opengis.net/ows | OGC Common 1.0.0 |
| ogc | http://www.opengis.net/ogc | OGC Filter 1.1.0 |
| gml | http://www.opengis.net/gml | GML 3.0.0 |
| dc | http://purl.org/dc/elements/1.1/ | Dublin Core |
| dct | http://purl.org/dc/terms | Dublin Core terms |
| gmd | http://www.isotc211.org/2005/gmd | ISO 19115/19139 |
| SOAP-ENV | http://schemas.xmlsoap.org/soap/envelope | SOAP Version 1.1 |
| env | http://www.w3.org/2003/05/soap-envelope/ | SOAP Version 1.2 |
Core Queryables
The geoportal CS-W implementation supports CS-W core queryable properties, the ones defined in the CSW ISO Application Profile and additional queryables (applicable to ISO metadata only). The geoportal information model is backed by XML documents and a spatial database. Its XML documents contain FGDC, ISO 19139, Dublin Core, or other XML elements and attributes. Below is a table, mapping OGC Catalog Core Queryables to items in the geoportal information model. The remaining queryable properties relying on ISO 19115 and ISO 19119 metadata are faithfully following the names and mappings defined in OpenGIS Catalogue Services Specification 2.0.2 - ISO Metadata Application Profile and Technical Guidance to implement INSPIRE Discovery Services Technical Guidance Version 2.12.
| Name | Aliases | Definition | Data Type | Allowed OGC Property Filters | Mapping to Information Model |
|---|---|---|---|---|---|
| dc:identifier | fileIdentifier, fid, id, identifier, fileID | An unambiguous reference to the resource within a given context. | string | All * |
ISO 19139: /gmd:MD_Metadata/gmd:fileIdentifier/gco:CharacterString Dublin Core: /rdf:RDF/rdf:Description/dc:identifier FGDC: System assigned identifier as FGDC does not include a provision for this. |
| dct:modified | modified, dc:date, date | Date on which the resource was last changed. | Date formatted string (yyyy-mm-dd) | All * are allowed, except for ogc:PropertyIsLike | Stored in database. Read from file system information. |
| ows:BoundingBox | geometry, envelope | A bounding box for identifying a geographic area of interest. | gml:Envelope, gml:Point | Set of spatial operators (see section below on spatial queries) | Examples are for "West", but use simliar syntax for East, North, and South: ISO 19139: /gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicBoundingBox/gmd:westBoundLongitude/gco:Decimal Dublin Core, two options (east = UpperCorner, north = UpperCorner, south = LowerCorner): /rdf:RDF/rdf:Description/ows:WGS84BoundingBox/westbc /rdf:RDF/rdf:Description/ows:WGS84BoundingBox/ows:LowerCorner FGDC: /metadata/idinfo/spdom/bounding/westbc |
| anyText | csw:anyText | This queryable represents the catalog entry as a whole. | string | ogc:PropertyIsLike | Those elements that have been marked as having one of the following meanings: title, abstract, keywords, or body. Refer to the Details of Lucene Indexing in the Geoportal topic for the default settings for these meanings and how to modify this. |
| dc:title | title | A name given to the resource | string | All * | ISO 19139: /gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString Dublin Core: /rdf:RDF/rdf:Description/dc:title FGDC: /metadata/idinfo/citation/citeinfo/title |
| dc:abstract | abstract | Overview description of the resource | string | All * | ISO 19139: /gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract/gco:CharacterString Dublin Core: /rdf:RDF/rdf:Description/dc:description FGDC: /metadata/idinfo/descript/abstract |
| dc:subject | subject | The topic of the content of the resource. Controlled-list. | string | ogc:PropertyIsEqualTo |
Accepted values are based on the ISO 19115 topic category codes:
|
| dc:type | type, dc:format, format | The physical or digital manifestation of the resource. | string | All * are allowed, but only "ogc:PropertyIsEqualTo" makes logical sense. |
Accepted values are:
|
Note: *"All" implies all OGC comparison operators:
- ogc:PropertyIsEqualTo
- ogc:PropertyIsNotEqualTo
- ogc:PropertyIsLessThan
- ogc:PropertyIsGreaterThan
- ogc:PropertyIsLessThanOrEqualTo
- ogc:PropertyIsGreaterThanOrEqualTo
- ogc:PropertyIsLike
Spatial Queries
Envelope queries are encoded using OGC Filter spatial predicates. The geoportal CS-W API doesn't support every spatial predicate available in the Filter specification.
| OGC Filter Spatial Predicate | Geoportal CS-W Spatial Predicate |
| ogc:BBOX | Overlaps |
| ogc:Intersects | Overlaps |
| ogc:Within | Within |
- Overlaps: finds metadata documents in which part or all of the metadata document's envelope falls within the specified search box. Anything the search box touches is found.
- Within: finds metadata documents where the document's envelope falls entirely within the specified search box. The document's spatial envelope can touch the search box boundary.
- The geometry operands supported for spatial queries are:
- gml:Envelope
- gml:Point
Comparison Operators
Comparison operators are included in a csw:GetRecord request:
- Between
- EqualTo
- GreaterThan
- GreaterThanEqualTo
- LessThan
- LessthanEqualTo
- Like
- NotEqualTo
- NullCheck
Parameters
The following table outlines the parameters for each supported operation.
| Operation | Parameter | Accepted Values |
| DescribeRecord | typeName | csw:Record, csw:SummaryRecord, csw:BriefRecord |
| outputFormat | text/xml, application/xml | |
| GetRecords | typeNames | csw:Record |
| outputFormat | text/xml, application/xml | |
| outputSchema | http://www.opengis.net/cat/csw/2.0.2 http://www.isotc211.org/2005/gmd | |
| resultType | results, hits, validate | |
| ElementSetName | summary, brief, full | |
| constraintLanguage | Filter | |
| GetRecordById | ElementSetName | summary, brief, full |
| outputFormat | text/xml, application/xml | |
| outputSchema | http://www.opengis.net/cat/csw/2.0.2 http://www.isotc211.org/2005/gmd | |
| service | CSW, http://www.opengis.net/cat/csw/2.0.2 | |
| version | 2.0.2 | |
| PostEncoding | XML |
Returnables
For the csw:Record output schema, the records returned contain a selection of the core returnables, of which the subset is dependent on the element set. When request=GetRecordById, outputSchema=original, and ElementSetName=full, the geoportal CS-W interface returns the original metadata document as it was published to the geoportal. For the gmd:MD_Metadata output schema, the records returned contain a selection of ISO metadata elements, of which the subset is dependent on the element set as defined in the OGC CSW ISO Application Profile.
| Element Set | Returnables |
|---|---|
| brief | dc:identifier, dc:title, dc:type, ows:Envelope |
| summary | dc:identifier, dc:title, dc:type, dc:format, ows:Envelope, dc:subject, dct:modified, dc:abstract |
| full | dc:identifier, dc:title, dc:type, ows:Envelope, dc:subject, dct:modified, dc:abstract, dct:references |
Sample Requests
This section includes sample requests.
GetCapabilities
For the geoportal CS-W service GetCapabilities, the KVP, POST, and SOAP requests are supported.
| KVP | ?REQUEST=GetCapabilities&SERVICE=CSW&version=2.0.2 |
|---|---|
| POST | <csw:getcapabilities xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" service="CSW" xmlns="http://www.opengis.net/ows"> </csw:getcapabilities> |
| SOAP | <csw:getcapabilities xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" service="CSW" xmlns="http://www.opengis.net/ows"> </csw:getcapabilities> |
DescribeRecord
| KVP | ?REQUEST=DescribeRecord&service=CSW&version=2.0.0 |
| POST | <csw:describerecord service="CSW" version="2.0.2" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"></csw:describerecord> |
| SOAP | <csw:describerecord service="CSW" version="2.0.2" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"> </csw:describerecord> |
GetRecords
A GetRecords request requires a constraint language and since the geoportal CS-W service doesn't support CQL (Common Query Language), only XML Filter with POST style requests are supported.
| Anytext | |
|---|---|
| KVP | http://gptogc.esri.com/geoportal/csw?request=getRecords&service=CSW&startPosition=1&maxRecords=10&resultType=results&elementSetName=full&outputFormat=application/xml&outputschema=http://www.isotc211.org/2005/gmd&constraintLanguage=Filter&Constraint=%3Cogc:Filter%3E%3Cogc:Overlaps%3E%3Cogc:PropertyName%3Eows:BoundingBox%3C/ogc:PropertyName%3E%3Cgml:Envelope%3E%3Cgml:lowerCorner%3E-90%20-180%3C/gml:lowerCorner%3E%3Cgml:upperCorner%3E90%2090%3C/gml:upperCorner%3E%3C/gml:Envelope%3E%3C/ogc:Overlaps%3E%3C/ogc:Filter%3E&namespace=xmlns(gml=http://www.opengis.net/gml),xmlns(ogc=http://www.opengis.net/ogc) |
| POST |
|
| SOAP |
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<csw:GetRecords
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
version="2.0.2"
service="CSW"
resultType="results"
startPosition="1"
maxRecords="10">
<csw:Query
typeNames="csw:Record"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml">
<csw:ElementSetName>full</csw:elementsetname>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsLike
wildCard="*"
escape="\"
singleChar="?">
<ogc:PropertyName>AnyText</ogc:propertyname>
<ogc:Literal>data</ogc:literal>
</ogc:propertyislike>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>dc:type</ogc:propertyname>
<ogc:Literal>liveData</ogc:literal>
</ogc:propertyisequalto>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>dc:subject</ogc:propertyname>
<ogc:Literal>imageryBaseMapsEarthCover</ogc:literal>
</ogc:propertyisequalto>
<ogc:BBOX>
<ogc:PropertyName>ows:BoundingBox</ogc:propertyname>
<gml:Envelope>
<gml:lowerCorner>-118.3 32.1</gml:lowercorner>
<gml:upperCorner>-87.1 45.2</gml:uppercorner>
</gml:envelope>
</ogc:bbox>
</ogc:and>
</ogc:filter>
</csw:constraint>
</csw:query>
</csw:getrecords>
</soap-env:body>
</soap-env:envelope>
|
| Title | |
|---|---|
| KVP | N/A |
| POST |
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecords
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
version="2.0.2"
service="CSW"
resultType="results"
startPosition="1"
maxRecords="10">
<csw:Query
typeNames="csw:Record"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml">
<csw:ElementSetName>full</csw:elementsetname>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:PropertyIsLike
wildCard="*"
escape="\"
singleChar="?">
<ogc:PropertyName>dc:title</ogc:propertyname>
<ogc:Literal>Sample Document</ogc:literal>
</ogc:propertyislike>
</ogc:filter>
</csw:constraint>
<ogc:SortBy>
<ogc:SortProperty>
<ogc:PropertyName>dc:title</ogc:propertyname>
<ogc:SortOrder>ASC</ogc:sortorder>
</ogc:sortproperty>
</ogc:sortby>
</csw:query>
</csw:getrecords>
|
| SOAP |
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<csw:GetRecords
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
version="2.0.2"
service="CSW"
resultType="results"
startPosition="1"
maxRecords="10">
<csw:Query
typeNames="csw:Record"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml">
<csw:ElementSetName>full</csw:elementsetname>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:PropertyIsLike
wildCard="*"
escape="\"
singleChar="?">
<ogc:PropertyName>dc:title</ogc:propertyname>
<ogc:Literal>Sample Document</ogc:literal>
</ogc:propertyislike>
</ogc:filter>
</csw:constraint>
<ogc:SortBy>
<ogc:SortProperty>
<ogc:PropertyName>dc:title</ogc:propertyname>
<ogc:SortOrder>ASC</ogc:sortorder>
</ogc:sortproperty>
</ogc:sortby>
</csw:query>
</csw:getrecords>
</soap-env:body>
</soap-env:envelope>
|
| Subject | |
|---|---|
| KVP | N/A |
| POST |
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecords
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
version="2.0.2"
service="CSW"
resultType="results"
startPosition="1"
maxRecords="10">
<csw:Query
typeNames="csw:Record"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml">
<csw:ElementSetName>full</csw:elementsetname>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>dc:subject</ogc:propertyname>
<ogc:Literal>imageryBaseMapsEarthCover</ogc:literal>
</ogc:propertyisequalto>
</ogc:filter>
</csw:constraint>
<ogc:SortBy>
<ogc:SortProperty>
<ogc:PropertyName>dc:title</ogc:propertyname>
<ogc:SortOrder>ASC</ogc:sortorder>
</ogc:sortproperty>
</ogc:sortby>
</csw:query>
</csw:getrecords>
|
| SOAP |
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<csw:GetRecords
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
version="2.0.2"
service="CSW"
resultType="results"
startPosition="1"
maxRecords="10">
<csw:Query
typeNames="csw:Record"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml">
<csw:ElementSetName>full</csw:elementsetname>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>dc:subject</ogc:propertyname>
<ogc:Literal>imageryBaseMapsEarthCover</ogc:literal>
</ogc:propertyisequalto>
</ogc:filter>
</csw:constraint>
<ogc:SortBy>
<ogc:SortProperty>
<ogc:PropertyName>dc:title</ogc:propertyname>
<ogc:SortOrder>ASC</ogc:sortorder>
</ogc:sortproperty>
</ogc:sortby>
</csw:query>
</csw:getrecords>
</soap-env:body>
</soap-env:envelope>
|
| Modified | |
|---|---|
| KVP | N/A |
| POST |
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecords
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
version="2.0.2"
service="CSW"
resultType="results"
startPosition="1" maxRecords="10">
<csw:Query
typeNames="csw:Record"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml">
<csw:ElementSetName>full</csw:elementsetname>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>dct:modified</ogc:propertyname>
<ogc:Literal>2000-01-01</ogc:literal>
</ogc:propertyisgreaterthan>
</ogc:filter>
</csw:constraint>
<ogc:SortBy>
<ogc:SortProperty>
<ogc:PropertyName>dc:title</ogc:propertyname>
<ogc:SortOrder>ASC</ogc:sortorder>
</ogc:sortproperty>
</ogc:sortby>
</csw:query>
</csw:getrecords>
|
| SOAP |
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<csw:GetRecords
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
version="2.0.2"
service="CSW"
resultType="results"
startPosition="1"
maxRecords="10">
<csw:Query
typeNames="csw:Record"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml">
<csw:ElementSetName>full</csw:elementsetname>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>dct:modified</ogc:propertyname>
<ogc:Literal>2000-01-01</ogc:literal>
</ogc:propertyisgreaterthan>
</ogc:filter>
</csw:constraint>
<ogc:SortBy>
<ogc:SortProperty>
<ogc:PropertyName>dc:title</ogc:propertyname>
<ogc:SortOrder>ASC</ogc:sortorder>
</ogc:sortproperty>
</ogc:sortby>
</csw:query>
</csw:getrecords>
</soap-env:body>
</soap-env:envelope>
|
| Envelope | |
|---|---|
| KVP | N/A |
| POST |
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecords
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
version="2.0.2"
service="CSW"
resultType="results"
startPosition="1"
maxRecords="10">
<csw:Query
typeNames="csw:Record"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml">
<csw:ElementSetName>full</csw:elementsetname>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:BBOX>
<ogc:PropertyName>ows:BoundingBox</ogc:propertyname>
<gml:Envelope>
<gml:lowerCorner>-118.3 32.1</gml:lowercorner>
<gml:upperCorner>-87.1 45.2</gml:uppercorner>
</gml:envelope>
</ogc:bbox>
</ogc:filter>
</csw:constraint>
<ogc:SortBy>
<ogc:SortProperty>
<ogc:PropertyName>dc:title</ogc:propertyname>
<ogc:SortOrder>ASC</ogc:sortorder>
</ogc:sortproperty>
</ogc:sortby>
</csw:query>
</csw:getrecords>
|
| SOAP |
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<csw:GetRecords
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
version="2.0.2"
service="CSW"
resultType="results"
startPosition="1"
maxRecords="10">
<csw:Query
typeNames="csw:Record"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml">
<csw:ElementSetName>full</csw:elementsetname>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:BBOX>
<ogc:PropertyName>ows:BoundingBox</ogc:propertyname>
<gml:Envelope>
<gml:lowerCorner>-118.3 32.1</gml:lowercorner>
<gml:upperCorner>-87.1 45.2</gml:uppercorner>
</gml:envelope>
</ogc:bbox>
</ogc:filter>
</csw:constraint>
<ogc:SortBy>
<ogc:SortProperty>
<ogc:PropertyName>dc:title</ogc:propertyname>
<ogc:SortOrder>ASC</ogc:sortorder>
</ogc:sortproperty>
</ogc:sortby>
</csw:query>
</csw:getrecords>
</soap-env:body>
</soap-env:envelope>
|
GetRecordById
| KVP | ?REQUEST=GetRecordById&service=CSW&version=2.0.2&Id=B6A0EC8C-826D-11D8-BADF-080020ECC953 |
| POST |
<?xml version="1.0" encoding="UTF-8"?> <csw:GetRecordById xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" version="2.0.2" service="CSW"> <csw:Id>B6A0EC8C-826D-11D8-BADF-080020ECC953</csw:id> </csw:getrecordbyid> |
| SOAP |
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<csw:GetRecordById
xmlns:csw=http://www.opengis.net/cat/csw/2.0.2
version="2.0.2"
service="CSW">
<csw:Id>B6A0EC8C-826D-11D8-BADF-080020ECC953</csw:id>
</csw:getrecordbyid>
</soap-env:body>
</soap-env:envelope>
|
Transaction Insert
| POST |
<?xml version="1.0" encoding="UTF-8"?>
<csw:Transaction
service="CSW"
version="2.0.2"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2">
<csw:Insert>
<!-- metadata document is inserted here without xml prolog -->
</csw:insert>
</csw:transaction>
|
| SOAP |
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<csw:Transaction
service="CSW"
version="2.0.2"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2">
<csw:Insert>
<!-- metadata document is inserted here without xml prolog -->
</csw:insert>
</csw:transaction>
</soap-env:body>
</soap-env:envelope>
|
Transaction Update
The update request supports replacing entire documents only.
| POST |
<?xml version="1.0" encoding="UTF-8"?>
<csw:Transaction
service="CSW"
version="2.0.2"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2">
<csw:Update>
<!-- metadata document is inserted here without xml prolog -->
</csw:update>
</csw:transaction>
|
| SOAP |
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<csw:Transaction
service="CSW"
version="2.0.2"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2">
<csw:Update>
<!-- metadata document is inserted here without xml prolog -->
</csw:update>
</csw:transaction>
</soap-env:body>
</soap-env:envelope>
|
Transaction Delete
The delete request supports deleting entire documents only based on the identifier. The identifiers are returned in the GetRecords response. The workflow is to find records that match certain criteria using the GetRecords request and then delete the returned records based on the dc:identifier.
| POST |
<?xml version="1.0" encoding="UTF-8"?>
<csw:Transaction
service="CSW" version="2.0.2"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:dc="http://www.purl.org/dc/elements/1.1/"
xmlns:ogc="http://www.opengis.net/ogc">
<csw:Delete>
<csw:Constraint version="2.0.2">
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>dc:identifier</ogc:propertyname>
<ogc:Literal>A0522EE9-8C45-4399-8B73-7CCFC2BB9F60</ogc:literal>
</ogc:propertyisequalto>
</ogc:filter>
</csw:constraint>
</csw:delete>
</csw:transaction>
|
| SOAP |
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<csw:Transaction service="CSW"
version="2.0.2"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:dc="http://www.purl.org/dc/elements/1.1/"
xmlns:ogc="http://www.opengis.net/ogc">
<csw:Delete>
<csw:Constraint version="2.0.2">
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>dc:identifier</ogc:propertyname>
<ogc:Literal>A0522EE9-8C45-4399-8B73-7CCFC2BB9F60</ogc:literal>
</ogc:propertyisequalto>
</ogc:filter>
</csw:constraint>
</csw:delete>
</csw:transaction>
</soap-env:body>
</soap-env:envelope>
|
Geoportal WSDL
The wsdl associated with the geoportal CS-W SOAP endpoints is based upon the OGC example located at http://schemas.opengis.net/csw/2.0.2/examples/wsdl/2.0.2/. The geoportal wsdl files associated with its CS-W SOAP endpoints are stored in the \\geoportal\csw directory, and are the following:
- http-binding.wsdl
- kvp-binding.wsdl
- responses.wsdl
- service-wsdl.jsp
- soap-binding.wsdl
- xml-interfaces.wsdl