Oracle® Streams Advanced Queuing User's Guide and Reference 10g Release 2 (10.2) Part Number B14257-01 |
|
|
View PDF |
IDAP exposes the SOAP schema and the Oracle Streams AQ XML schema to the client. All documents sent are validated against these schemas. These schemas are provided for your reference when creating your own XML-based messages.
The SOAP schema describes the structure of a document. It has the following format:
<?xml version='1.0'?> <!-- XML Schema for SOAP v 1.1 Envelope --> <schema xmlns='http://www.w3.org/2001/XMLSchema' xmlns:tns='http://schemas.xmlsoap.org/soap/envelope/' targetNamespace='http://schemas.xmlsoap.org/soap/envelope/'> <!-- SOAP envelope, header and body --> <element name="Envelope" type="tns:Envelope"/> <complexType name='Envelope'> <sequence> <element ref='tns:Header' minOccurs='0'/> <element ref='tns:Body' minOccurs='1'/> <any minOccurs='0' maxOccurs='*'/> </sequence> <anyAttribute/> </complexType> <element name="Header" type="tns:Header"/> <complexType name='Header'> <sequence> <any minOccurs='0' maxOccurs='*'/> </sequence> <anyAttribute/> </complexType> <element name="Body" type="tns:Body"/> <complexType name='Body'> <sequence> <any minOccurs='0' maxOccurs='*'/> </sequence> <anyAttribute/> </complexType> <!-- Global Attributes. The following attributes are intended to be usable through qualified attribute names on any complex type referencing them. --> <attribute name="mustUnderstand" type="tns:mutype" use="optional" value="0"/> </attribute> <simpleType name="mutype"> <restriction base="string"> <enumeration value="0"/> <enumeration value="1"/> </restriction> </simpleType> <attribute name='actor' type='anyURI'/> <!-- 'encodingStyle' indicates any canonicalization conventions followed in the contents of the containing element. For example, the value 'http://schemas.xmlsoap.org/soap/encoding/' indicates the pattern described in SOAP specification. --> <simpleType name='encodingStyle'> <list itemType='anyURI'/> </simpleType> <attributeGroup name='encodingStyle'> <attribute name='encodingStyle' type='tns:encodingStyle'/> </attributeGroup> <!-- SOAP fault reporting structure --> <complexType name='Fault' final='extension'> <sequence> <element name='faultcode' type='QName'/> <element name='faultstring' type='string'/> <element name='faultactor' type='anyURI' minOccurs='0'/> <element name='detail' type='tns:detail' minOccurs='0'/> </sequence> </complexType> <complexType name='detail'> <sequence> <any minOccurs='0' maxOccurs='*'/> </sequence> <anyAttribute/> </complexType> </schema>
The IDAP schema describes the contents of the IDAP body for Internet access to Oracle Streams AQ features. It has the following format:
<?xml version="1.0"?> <!-- ****************** Oracle Streams AQ xml schema ****************** --> <schema xmlns = "http://www.w3.org/2001/XMLSchema" targetNamespace = "http://ns.oracle.com/AQ/schemas/access" xmlns:aq = "http://ns.oracle.com/AQ/schemas/access" xmlns:xsd = "http://www.w3.org/2001/XMLSchema"> <import namespace = "http://schemas.xmlsoap.org/soap/envelope/" schemaLocation = "soap_env.xsd" /> <!-- *************** Oracle Streams AQ xml client operations *************** --> <element name="AQXmlSend"> <complexType mixed="true"> <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 mixed="true"> <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 mixed="true"> <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 mixed="true"> <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> </complexType> </element> <element name="AQXmlRollback"> <complexType> </complexType> </element> <!-- ************** Oracle Streams AQ xml server responses ************** --> <element name="AQXmlSendResponse"> <complexType mixed="true"> <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 mixed="true"> <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 mixed="true"> <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 mixed="true"> <sequence> <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> </sequence> </complexType> </element> <element name="AQXmlCommitResponse"> <complexType mixed="true"> <sequence> <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> </sequence> </complexType> </element> <element name="AQXmlRollbackResponse"> <complexType mixed="true"> <sequence> <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> </sequence> </complexType> </element> <element name="destination"> <complexType> <simpleContent> <extension base='string'> <attribute name="lookup_type" type="aq:dest_lookup_type" default="DATABASE"/> </extension> </simpleContent> </complexType> </element> <!-- **** destination lookup type ******* --> <!-- lookup_type can be specified to either lookup LDAP or use --> <simpleType name="dest_lookup_type"> <restriction base="string"> <enumeration value="DATABASE"/> <enumeration value="LDAP"/> </restriction> </simpleType> <!-- ****************** Producer Options ****************** --> <element name="producer_options"> <complexType mixed="true"> <sequence> <element ref="aq:destination" minOccurs="1" maxOccurs="1"/> <element ref="aq:visibility" minOccurs="0" maxOccurs="1"/> <element ref="aq:transformation" minOccurs="0" maxOccurs="1"/> </sequence> </complexType> </element> <!-- ****************** Consumer Options ****************** --> <element name="consumer_options"> <complexType mixed="true"> <sequence> <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"/> </sequence> </complexType> </element> <!-- ****************** Register Options ****************** --> <element name="register_options"> <complexType mixed="true"> <sequence> <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"/> </sequence> </complexType> </element> <element name="recipient_list"> <complexType mixed="true"> <sequence> <element ref="aq:recipient" minOccurs="1" maxOccurs="*"/> </sequence> </complexType> </element> <!-- ****************** Message Set ************************* --> <element name="message_set"> <complexType mixed="true"> <sequence> <element ref="aq:message_count" minOccurs="0" maxOccurs="1"/> <element ref="aq:message" minOccurs="0" maxOccurs="*"/> </sequence> </complexType> </element> <!-- ****************** Message ************************* --> <element name="message"> <complexType mixed="true"> <sequence> <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"/> </sequence> </complexType> </element> <!-- ****************** Message header ****************** --> <element name="message_header"> <complexType mixed="true"> <sequence> <element ref="aq:message_id" minOccurs="0" maxOccurs="1"/> <element ref="aq:correlation" minOccurs="0" maxOccurs="1"/> <element ref="aq:delay" minOccurs="0" maxOccurs="1"/> <element ref="aq:expiration" 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"/> </sequence> </complexType> </element> <!-- ****************** Oracle JMS properties ****************** --> <element name="oracle_jms_properties"> <complexType mixed="true"> <sequence> <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"/> </sequence> </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 mixed="true"> <sequence> <element ref="aq:property" minOccurs="0" maxOccurs="*"/> </sequence> </complexType> </element> <!-- ****************** Property ****************** --> <element name="property"> <complexType mixed="true"> <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 mixed="true"> <sequence> <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"/> </sequence> </complexType> </element> <!-- ****************** Send result ****************** --> <element name="send_result"> <complexType mixed="true"> <sequence> <element ref="aq:destination" minOccurs="1" maxOccurs="1"/> <element ref="aq:message_id" minOccurs="0" maxOccurs="*"/> </sequence> </complexType> </element> <!-- ****************** Publish result ****************** --> <element name="publish_result"> <complexType mixed="true"> <sequence> <element ref="aq:destination" minOccurs="1" maxOccurs="1"/> <element ref="aq:message_id" minOccurs="0" maxOccurs="*"/> </sequence> </complexType> </element> <!-- ****************** Receive result ****************** --> <element name="receive_result"> <complexType mixed="true"> <sequence> <element ref="aq:destination" minOccurs="1" maxOccurs="1"/> <element ref="aq:message_set" minOccurs="0" maxOccurs="*"/> </sequence> </complexType> </element> <!-- ****************** Notification *************************** --> <element name="notification_options"> <complexType mixed="true"> <sequence> <element ref="aq:destination" minOccurs="1" maxOccurs="1"/> <element ref="aq:consumer_name" minOccurs="1" maxOccurs="1"/> </sequence> </complexType> </element> <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="0" 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="0" 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> <restriction base="string"> <enumeration value="ON_COMMIT"/> <enumeration value="IMMEDIATE"/> </restriction> </simpleType> </element> <simpleType name="del_mode_type"> <restriction base="string"> <enumeration value="PERSISTENT"/> <enumeration value="NONPERSISTENT"/> </restriction> </simpleType> <element name="dequeue_mode"> <simpleType> <restriction base="string"> <enumeration value="BROWSE"/> <enumeration value="LOCKED"/> <enumeration value="REMOVE"/> <enumeration value="REMOVE_NODATA"/> </restriction> </simpleType> </element> <element name="navigation_mode"> <simpleType> <restriction base="string"> <enumeration value="FIRST_MESSAGE"/> <enumeration value="NEXT_MESSAGE"/> <enumeration value="NEXT_TRANSACTION"/> </restriction> </simpleType> </element> <element name="transformation" type="string"/> <element name="acknowledge"> <complexType> </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 TextMessage ****************** --> <element name="jms_text_message"> <complexType mixed="true"> <sequence> <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"/> </sequence> </complexType> </element> <element name="text_data" type="string"/> <!-- ****************** JMS map message ****************** --> <element name="jms_map_message"> <complexType mixed="true"> <sequence> <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"/> </sequence> </complexType> </element> <!-- ****************** Map data ****************** --> <element name="map_data"> <complexType mixed="true"> <sequence> <element ref="aq:item" minOccurs="0" maxOccurs="*"/> </sequence> </complexType> </element> <!-- ****************** Map Item ****************** --> <element name="item"> <complexType mixed="true"> <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 mixed="true"> <sequence> <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"/> </sequence> </complexType> </element> <element name="bytes_data" type="string"/> <!-- ****************** JMS ObjectMessage ****************** --> <element name="jms_object_message"> <complexType mixed="true"> <sequence> <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"/> </sequence> </complexType> </element> <element name="ser_object_data" type="string"/> </schema>