Oracle9i Application Developer's Guide - Advanced Queuing Release 1 (9.0.1) Part Number A88890-02 |
|
Internet Access to Advanced Queuing, 4 of 9
IDAP exposes the IDAP schema and AQ XML schema to the client. All documents sent by the parser are validated against these schemas:
http://ns.oracle.com/AQ/schemas/envelope
http://ns.oracle.com/AQ/schemas/access
The IDAP schema describes the structure of a document: envelope, header, and body.
<?xml version='1.0'?> <!-- XML Schema for IDAP v 1.0 Envelope --> <!-- Copyright (c) Oracle Corporation 2000 All Rights Reserved. --> <schema xmlns="http://www.w3.org/1999/XMLSchema" xmlns:tdsc="http://ns.oracle.com/AQ/schemas/envelope" targetNamespace="http://ns.oracle.com/AQ/schemas/envelope"> <!-- IDAP envelope, header and body --> <element name="Envelope" type="tdsc:Envelope"/> <complexType name='Envelope'> <element ref='tdsc:Header' minOccurs='0'/> <element ref='tdsc:Body' minOccurs='1'/> <any minOccurs="0" maxOccurs="*" /> <anyAttribute/> </complexType> <element name="Header" type="tdsc:Header"/> <complexType name='Header'> <any minOccurs="0" maxOccurs="*" processContents="skip"/> <attribute name="mustUnderstand" type="tdsc:mu_type" use="optional" value="0"/> </complexType> <element name="Body" type="tdsc:Body"/> <complexType name='Body'> <any minOccurs='0' maxOccurs='*'/> <anyAttribute/> </complexType> <simpleType name="mu_type" base="string"> <enumeration value="0"/> <enumeration value="1"/> </simpleType> <!-- IDAP fault reporting structure --> <complexType name='Fault' final='extension'> <element name='faultcode' type='string'/> <element name='faultstring' type='string'/> <element name='faultactor' type='uriReference' minOccurs='0'/> <element name='detail' type='tdsc:detail' minOccurs='0'/> </complexType> <complexType name='detail'> <any minOccurs='0' maxOccurs='*'/> <anyAttribute/> </complexType> </schema>
The AQ XML schema describes the contents of the IDAP body for Internet access to AQ features.
<?xml version="1.0"?> <!-- ****************** AQ xml schema ****************** --> <!-- Copyright (c) Oracle Corporation 2000 All Rights Reserved. --> <schema xmlns = "http://www.w3.org/1999/XMLSchema" targetNamespace = "http://ns.oracle.com/AQ/schemas/access" xmlns:aq = "http://ns.oracle.com/AQ/schemas/access" xmlns:xsd = "http://www.w3.org/1999/XMLSchema"> <import namespace = "http://ns.oracle.com/AQ/schemas/envelope" schemaLocation = "envelope.xsd" /> <!-- ****************** AQ xml client operations ****************** --> <element name="AQXmlSend"> <complexType content="mixed"> <sequence> <element ref="aq:producer_options" minOccurs="1" maxOccurs="1" /> <element ref="aq:message_set" minOccurs="1" maxOccurs="1"/> <element ref="aq:AQXmlCommit" minOccurs="0" maxOccurs="1"/> </sequence> </complexType> </element> <element name="AQXmlPublish"> <complexType content="mixed"> <sequence> <element ref="aq:producer_options" minOccurs="1" maxOccurs="1" /> <element ref="aq:message_set" minOccurs="1" maxOccurs="1"/> <element ref="aq:AQXmlCommit" minOccurs="0" maxOccurs="1"/> </sequence> </complexType> </element> <element name="AQXmlReceive"> <complexType content="mixed"> <sequence> <element ref="aq:consumer_options" minOccurs="1" maxOccurs="1" /> <element ref="aq:AQXmlCommit" minOccurs="0" maxOccurs="1"/> </sequence> </complexType> </element> <element name="AQXmlRegister"> <complexType content="mixed"> <sequence> <element ref="aq:register_options" minOccurs="1" maxOccurs="1" /> <element ref="aq:AQXmlCommit" minOccurs="0" maxOccurs="1"/> </sequence> </complexType> </element> <element name="AQXmlCommit"> <complexType content="empty"> </complexType> </element> <element name="AQXmlRollback"> <complexType content="empty"> </complexType> </element> <!-- ****************** AQ xml server notifications ****************** --> <element name="AQXmlNotification"> <complexType content="mixed"> <sequence> <element ref="aq:notification_options" maxOccurs="1"/> <element ref="aq:message_set" minOccurs="0" maxOccurs="1"/> </sequence> </complexType> </element> <!-- ****************** AQ xml server responses ****************** --> <element name="AQXmlSendResponse"> <complexType content="mixed"> <sequence> <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> <element ref="aq:send_result" minOccurs="0" maxOccurs="1"/> </sequence> </complexType> </element> <element name="AQXmlPublishResponse"> <complexType content="mixed"> <sequence> <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> <element ref="aq:publish_result" minOccurs="0" maxOccurs="1"/> </sequence> </complexType> </element> <element name="AQXmlReceiveResponse"> <complexType content="mixed"> <sequence> <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> <element ref="aq:receive_result" minOccurs="0" maxOccurs="1"/> </sequence> </complexType> </element> <element name="AQXmlRegisterResponse"> <complexType content="mixed"> <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> </complexType> </element> <element name="AQXmlCommitResponse"> <complexType content="mixed"> <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> </complexType> </element> <element name="AQXmlRollbackResponse"> <complexType content="mixed"> <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> </complexType> </element> <element name="destination"> <complexType base='string' derivedBy="extension"> <attribute name="lookup_type" type="aq:dest_lookup_type" use="default" value="DATABASE"/> </complexType> </element> <!-- **** destination lookup type ******* --> <!-- lookup_type can be specified to either lookup LDAP or use --> <simpleType name="dest_lookup_type" base="string"> <enumeration value="DATABASE"/> <enumeration value="LDAP"/> </simpleType> <!-- ****************** Producer Options ****************** --> <element name="producer_options"> <complexType content="mixed"> <element ref="aq:destination" minOccurs="1" maxOccurs="1"/> <element ref="aq:visibility" minOccurs="0" maxOccurs="1"/> <element ref="aq:transformation" minOccurs="0" maxOccurs="1"/> </complexType> </element> <!-- ****************** Consumer Options ****************** --> <element name="consumer_options"> <complexType content="mixed"> <element ref="aq:destination" minOccurs="1" maxOccurs="1"/> <element ref="aq:consumer_name" minOccurs="0" maxOccurs="1"/> <element ref="aq:wait_time" minOccurs="0" maxOccurs="1"/> <element ref="aq:selector" minOccurs="0" maxOccurs="1"/> <element ref="aq:batch_size" minOccurs="0" maxOccurs="1"/> <element ref="aq:visibility" minOccurs="0" maxOccurs="1"/> <element ref="aq:dequeue_mode" minOccurs="0" maxOccurs="1"/> <element ref="aq:navigation_mode" minOccurs="0" maxOccurs="1"/> <element ref="aq:transformation" minOccurs="0" maxOccurs="1"/> </complexType> </element> <!-- ****************** Register Options ****************** --> <element name="register_options"> <complexType content="mixed"> <element ref="aq:destination" minOccurs="1" maxOccurs="1"/> <element ref="aq:consumer_name" minOccurs="0" maxOccurs="1"/> <element ref="aq:notify_url" minOccurs="1" maxOccurs="1"/> </complexType> </element> <element name="recipient_list"> <complexType content="mixed"> <element ref="aq:recipient" minOccurs="1" maxOccurs="*"/> </complexType> </element> <!-- ****************** Message Set ************************* --> <element name="message_set"> <complexType content="mixed"> <element ref="aq:message_count" minOccurs="0" maxOccurs="1"/> <element ref="aq:message" minOccurs="0" maxOccurs="*"/> </complexType> </element> <!-- ****************** Message ************************* --> <element name="message"> <complexType content="mixed"> <element ref="aq:message_number" minOccurs="0" maxOccurs="1"/> <element ref="aq:message_header" minOccurs="1" maxOccurs="1"/> <element ref="aq:message_payload" minOccurs="0" maxOccurs="1"/> </complexType> </element> <!-- ****************** Message header ****************** --> <element name="message_header"> <complexType content="mixed"> <element ref="aq:message_id" minOccurs="0" maxOccurs="1"/> <element ref="aq:correlation" minOccurs="0" maxOccurs="1"/> <element ref="aq:expiration" minOccurs="0" maxOccurs="1"/> <element ref="aq:delay" minOccurs="0" maxOccurs="1"/> <element ref="aq:priority" minOccurs="0" maxOccurs="1"/> <element ref="aq:delivery_count" minOccurs="0" maxOccurs="1"/> <element ref="aq:sender_id" minOccurs="1" maxOccurs="1"/> <element ref="aq:recipient_list" minOccurs="0" maxOccurs="1"/> <element ref="aq:message_state" minOccurs="0" maxOccurs="1"/> <element ref="aq:exception_queue" minOccurs="0" maxOccurs="1"/> </complexType> </element> <!-- ****************** Oracle JMS properties ****************** --> <element name="oracle_jms_properties"> <complexType content="mixed"> <element ref="aq:type" minOccurs="0" maxOccurs="1"/> <element ref="aq:reply_to" minOccurs="0" maxOccurs="1"/> <element ref="aq:userid" minOccurs="0" maxOccurs="1"/> <element ref="aq:appid" minOccurs="0" maxOccurs="1"/> <element ref="aq:groupid" minOccurs="0" maxOccurs="1"/> <element ref="aq:group_sequence" minOccurs="0" maxOccurs="1"/> <element ref="aq:timestamp" minOccurs="0" maxOccurs="1"/> <element ref="aq:recv_timestamp" minOccurs="0" maxOccurs="1"/> </complexType> </element> <!-- ****************** Message payload ****************** --> <element name="message_payload"> <complexType> <choice> <element ref="aq:raw" minOccurs="0" maxOccurs="1"/> <element ref="aq:jms_text_message" minOccurs="0" maxOccurs="1"/> <element ref="aq:jms_map_message" minOccurs="0" maxOccurs="1"/> <element ref="aq:jms_bytes_message" minOccurs="0" maxOccurs="1"/> <element ref="aq:jms_object_message" minOccurs="0" maxOccurs="1"/> <any minOccurs="0" maxOccurs="*" processContents="skip"/> </choice> </complexType> </element> <!-- ****************** User-defined properties ****************** --> <element name="user_properties"> <complexType content="mixed"> <element ref="aq:property" minOccurs="0" maxOccurs="*"/> </complexType> </element> <!-- ****************** Property ****************** --> <element name="property"> <complexType content="mixed"> <sequence> <element ref="aq:name" minOccurs="1" maxOccurs="1"/> <choice> <element ref="aq:int_value" minOccurs="1" maxOccurs="1"/> <element ref="aq:string_value" minOccurs="1" maxOccurs="1"/> <element ref="aq:long_value" minOccurs="1" maxOccurs="1"/> <element ref="aq:double_value" minOccurs="1" maxOccurs="1"/> <element ref="aq:boolean_value" minOccurs="1" maxOccurs="1"/> <element ref="aq:float_value" minOccurs="1" maxOccurs="1"/> <element ref="aq:short_value" minOccurs="1" maxOccurs="1"/> <element ref="aq:byte_value" minOccurs="1" maxOccurs="1"/> </choice> </sequence> </complexType> </element> <!-- ****************** Status response ****************** --> <element name="status_response"> <complexType content="mixed"> <element ref="aq:acknowledge" minOccurs="0" maxOccurs="1"/> <element ref="aq:status_code" minOccurs="0" maxOccurs="1"/> <element ref="aq:error_code" minOccurs="0" maxOccurs="1"/> <element ref="aq:error_message" minOccurs="0" maxOccurs="1"/> </complexType> </element> <!-- ****************** Send result ****************** --> <element name="send_result"> <complexType content="mixed"> <element ref="aq:destination" minOccurs="1" maxOccurs="1"/> <element ref="aq:message_id" minOccurs="0" maxOccurs="*"/> </complexType> </element> <!-- ****************** Publish result ****************** --> <element name="publish_result"> <complexType content="mixed"> <element ref="aq:destination" minOccurs="1" maxOccurs="1"/> <element ref="aq:message_id" minOccurs="0" maxOccurs="*"/> </complexType> </element> <!-- ****************** Receive result ****************** --> <element name="receive_result"> <complexType content="mixed"> <element ref="aq:destination" minOccurs="1" maxOccurs="1"/> <element ref="aq:message_set" minOccurs="0" maxOccurs="*"/> </complexType> </element> <!-- ****************** Notification *************************** --> <element name="notification_options"> <complexType content="mixed"> <element ref="aq:destination" minOccurs="1" maxOccurs="1"/> <element ref="aq:consumer_name" minOccurs="1" maxOccurs="1"/> </complexType> </element> <element name="transformation" type="string"/> <element name="priority" type="integer"/> <element name="expiration" type="integer"/> <element name="consumer_name" type="string"/> <element name="wait_time" type="integer"/> <element name="batch_size" type="integer"/> <element name="notify_url" type="string"/> <element name="message_id" type="string"/> <element name="message_state" type="string"/> <element name="message_number" type="integer"/> <element name="message_count" type="integer"/> <element name="correlation" type="string"/> <element name="delay" type="integer"/> <element name="delivery_count" type="integer"/> <element name="exception_queue" type="string"/> <element name="agent_alias" type="string"/> <element name="type" type="string"/> <element name="userid" type="string"/> <element name="appid" type="string"/> <element name="groupid" type="string"/> <element name="group_sequence" type="integer"/> <element name="timestamp" type="date"/> <element name="recv_timestamp" type="date"/> <element name="recipient"> <complexType> <choice> <sequence> <element ref="aq:agent_name" minOccurs="1" maxOccurs="1"/> <element ref="aq:address" minOccurs="0" maxOccurs="1"/> <element ref="aq:protocol" minOccurs="0" maxOccurs="1"/> </sequence> <element ref="aq:agent_alias" minOccurs="1" maxOccurs="1"/> </choice> </complexType> </element> <element name="sender_id"> <complexType> <choice> <sequence> <element ref="aq:agent_name" minOccurs="1" maxOccurs="1"/> <element ref="aq:address" minOccurs="0" maxOccurs="1"/> <element ref="aq:protocol" minOccurs="0" maxOccurs="1"/> </sequence> <element ref="aq:agent_alias" minOccurs="1" maxOccurs="1"/> </choice> </complexType> </element> <element name="reply_to"> <complexType> <choice> <sequence> <element ref="aq:agent_name" minOccurs="1" maxOccurs="1"/> <element ref="aq:address" minOccurs="0" maxOccurs="1"/> <element ref="aq:protocol" minOccurs="0" maxOccurs="1"/> </sequence> <element ref="aq:agent_alias" minOccurs="1" maxOccurs="1"/> </choice> </complexType> </element> <element name="selector"> <complexType> <choice> <element ref="aq:correlation" minOccurs="0" maxOccurs="1"/> <element ref="aq:message_id" minOccurs="0" maxOccurs="1"/> <element ref="aq:condition" minOccurs="0" maxOccurs="1"/> </choice> </complexType> </element> <element name="condition" type="string"/> <element name="visibility"> <simpleType base="string"> <enumeration value="ON_COMMIT"/> <enumeration value="IMMEDIATE"/> </simpleType> </element> <element name="dequeue_mode"> <simpleType base="string"> <enumeration value="BROWSE"/> <enumeration value="LOCKED"/> <enumeration value="REMOVE"/> <enumeration value="REMOVE_NODATA"/> </simpleType> </element> <element name="navigation_mode"> <simpleType base="string"> <enumeration value="FIRST_MESSAGE"/> <enumeration value="NEXT_MESSAGE"/> <enumeration value="NEXT_TRANSACTION"/> </simpleType> </element> <element name="acknowledge"> <complexType content="empty"> </complexType> </element> <element name="status_code" type="string"/> <element name="error_code" type="string"/> <element name="error_message" type="string"/> <element name="name" type="string"/> <element name="int_value" type="integer"/> <element name="string_value" type="string"/> <element name="long_value" type="long"/> <element name="double_value" type="double"/> <element name="boolean_value" type="boolean"/> <element name="float_value" type="float"/> <element name="short_value" type="short"/> <element name="byte_value" type="byte"/> <element name="agent_name" type="string"/> <element name="address" type="string"/> <element name="protocol" type="integer"/> <!-- ****************** RAW message *********************** --> <element name="raw" type="string"/> <!-- ****************** JMS text message ****************** --> <element name="jms_text_message"> <complexType content="mixed"> <element ref="aq:oracle_jms_properties" minOccurs="0" maxOccurs="1"/> <element ref="aq:user_properties" minOccurs="0" maxOccurs="1"/> <element ref="aq:text_data" minOccurs="1" maxOccurs="1"/> </complexType> </element> <element name="text_data" type="string"/> <!-- ****************** JMS map message ****************** --> <element name="jms_map_message"> <complexType content="mixed"> <element ref="aq:oracle_jms_properties" minOccurs="0" maxOccurs="1"/> <element ref="aq:user_properties" minOccurs="0" maxOccurs="1"/> <element ref="aq:map_data" minOccurs="1" maxOccurs="1"/> </complexType> </element> <!-- ****************** Map data ****************** --> <element name="map_data"> <complexType content="mixed"> <element ref="aq:item" minOccurs="0" maxOccurs="*"/> </complexType> </element> <!-- ****************** Map Item ****************** --> <element name="item"> <complexType content="mixed"> <sequence> <element ref="aq:name" minOccurs="1" maxOccurs="1"/> <choice> <element ref="aq:int_value" minOccurs="1" maxOccurs="1"/> <element ref="aq:string_value" minOccurs="1" maxOccurs="1"/> <element ref="aq:long_value" minOccurs="1" maxOccurs="1"/> <element ref="aq:double_value" minOccurs="1" maxOccurs="1"/> <element ref="aq:boolean_value" minOccurs="1" maxOccurs="1"/> <element ref="aq:float_value" minOccurs="1" maxOccurs="1"/> <element ref="aq:short_value" minOccurs="1" maxOccurs="1"/> <element ref="aq:byte_value" minOccurs="1" maxOccurs="1"/> </choice> </sequence> </complexType> </element> <!-- ****************** JMS bytes message ****************** --> <element name="jms_bytes_message"> <complexType content="mixed"> <element ref="aq:oracle_jms_properties" minOccurs="0" maxOccurs="1"/> <element ref="aq:user_properties" minOccurs="0" maxOccurs="1"/> <element ref="aq:bytes_data" minOccurs="1" maxOccurs="1"/> </complexType> </element> <element name="bytes_data" type="string"/> <!-- ****************** JMS object message ****************** --> <element name="jms_object_message"> <complexType content="mixed"> <element ref="aq:oracle_jms_properties" minOccurs="0" maxOccurs="1"/> <element ref="aq:user_properties" minOccurs="0" maxOccurs="1"/> <element ref="aq:ser_object_data" minOccurs="1" maxOccurs="1"/> </complexType> </element> <element name="ser_object_data" type="string"/> <!-- ****************** AQ xml Email Authentication ****************** --> <element name="AQXmlEmailAuthentication"> <complexType content="mixed"> <sequence> <element ref="aq:user_name" minOccurs="1" maxOccurs="1" /> <element ref="aq:encrypted_key" minOccurs="1" maxOccurs="1"/> <element ref="aq:hashed_session_key" minOccurs="1" maxOccurs="1"/> <element ref="aq:encrypt_algorithm" minOccurs="1" maxOccurs="1"/> <element ref="aq:hashing_algorithm" minOccurs="1" maxOccurs="1"/> </sequence> </complexType> </element> <element name="user_name" type="string"/> <element name="encrypted_key" type="string"/> <element name="hashed_session_key" type="string"/> <element name="encrypt_algorithm" type="string"/> <element name="hashing_algorithm" type="string"/> </schema>
|
Copyright © 1996-2001, Oracle Corporation. All Rights Reserved. |
|