Discovery messages Interface definition - IDL

The explain server messages add sequence of capabilities to the base message. The capability-type sequence can be filled with capability-types to specify which capabilities are requested from the server. The server responds with reporting each capability in a sequence of capabilities. typedef sequenceCapabilityType CapabilityTypeSeq; struct ExplainServerRequest { Message base; CapabilityTypeSeq capabilities; }; struct ExplainServerResponse { Message base; CapabilityTypeSeq capabilities; };

9.6.7 Discovery messages

There are four requestresponse message pairs in the discovery service. To enhance distributed searching, an additional structure member for the query message is provided. This member is not included in the General Model. This structure member asynchronous can be set to true to force asynchronous searching. The query method will return immediately, setting structure member hits in the response to zero. Query results can be retrieved later on, when the query is ready. The progress of the query can be examined with the status messages. The query can be cancelled with the cancel messages. NOTE 1 This asynchronous behaviour is only specified for the query request message. All other operations e.g. init, terminate, status, cancel, explain, present are not considered as time-consuming and return immediately after processing. Another structure member, maxLevel, is added to have more control in the range of the distribution. If one catalogue contains another one, that other one contains a third one, and so on, you will possibly specify that only two levels of sub-catalogs will be searched. Setting the maxLevel member to two will force this. Setting maxLevel to -1 forces searching all sub-catalogs. NOTE 2 If the queryScope is Local there is no distributed search at all. typedef sequenceSortField SortFieldSeq; struct QueryRequest { Message base; QueryExpression queryExpression; ResultType resultType; long iteratorSize; long cursor; MessageFormat returnFormat; PresentationDescription presentation; SortFieldSeq sortField; QueryScope queryScope; CollectionName collectionID; CatalogEntryType resourceType; 96 Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. boolean asynchronous; long maxLevel; }; struct QueryResponse { Message base; ReturnData retrievedData; CollectionName resultSetID; Status status; long hits; long cursor; }; struct PresentRequest { Message base; CollectionName resultSetID; PresentationDescription presentation; SortFieldSeq sortField; MessageFormat returnFormat; long iteratorSize; long cursor; }; struct PresentResponse { Message base; ReturnData retrievedData; long cursor; long hits; Status status; }; struct ExplainCollectionRequest { Message base; AttributeCategory attributeCategory; CollectionName collectionID; MessageFormat returnFormat; }; struct ExplainCollectionResponse { Message base; CollectionName collectionID; SchemaID dataModel; Status status; }; struct GetDomainRequest { Message base; StringSeq attributes; }; struct GetDomainResponse { Message base; DomainSeq attributeDomains; }; Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 97

9.6.8 Management messages