📄 rfc3340.txt
字号:
(c.f., Step 5.3 of Section 4.4.4.1).
6.1 Use of the APEX Core DTD
The specification of an APEX service may use definitions found in the
APEX core DTD (Section 9.1). For example, the reply operation
(Section 6.1.2) is defined to provide a common format for responses.
6.1.1 Transaction-Identifiers
In using APEX's transaction-identifiers, note the following:
o In the endpoint-relay and relay-relay modes, transaction-
identifiers are meaningful only during the lifetime of a BEEP
channel.
For example, when an application issues the attach operation, the
associated transaction-identifier has meaning only within the
context of the BEEP channel used for the attach operation. When
the BEEP connection is released, the channel no longer exists and
the application is no longer attached to the relaying mesh.
o In contrast, when an application communicates with an APEX
service, transaction-identifiers are often embedded in the data
that is sent. This means that transaction-identifiers are
potentially long-lived.
For example, an application may attach as an endpoint, send data
(containing an embedded transaction-identifier) to a service, and,
some time later, detach from the relaying mesh. Later on, a
second application may attach as the same endpoint, and send data
of its own (also containing embedded transaction-identifiers).
Subsequently, the second application may receive data from the
service responding to the first application's request and
containing the transaction-identifier used by the first
application.
To minimize the likelihood of ambiguities with long-lived
transaction-identifiers, the values of transaction-identifiers
generated by applications should appear to be unpredictable.
Rose, et. al. Standards Track [Page 27]
RFC 3340 The Application Exchange Core July 2002
6.1.2 The Reply Element
Many APEX services make use of a reply operation. Although each
service defines the circumstances in which a "reply" element is sent,
the syntax of the "reply" element is defined in Section 9.1.
The "reply" element has a "code" attribute, a "transID" attribute, an
optional "xml:lang" attribute, and may contain arbitrary textual
content:
o the "code" element specifies a three-digit reply code (c.f.,
Section 10);
o the "transID" attribute specifies the transaction-identifier
corresponding to this reply;
o the "xml:lang" attribute, if present, specifies the language that
the element's content is written in; and,
o the textual content is a diagnostic (possibly multiline) which is
meaningful to implementers, perhaps administrators, and possibly
even users.
6.2 The Report Service
Section 8.5 contains the APEX service registration for the report
service:
o Within an administrative domain, the service is addressed using
the well-known endpoint of "apex=report".
o Section 9.2 defines the syntax of the operations exchanged with
the service.
o A consumer of the service does not initiate communications with
the service.
o The service initiates communications by sending data containing
the "statusResponse" operation.
If a relay processes a "statusRequest" option (Section 5.1), then it
sends data to the originator containing a "statusResponse" element
(Section 9.2).
The "statusResponse" element has a "transID" attribute and contains
one or more "destination" elements:
Rose, et. al. Standards Track [Page 28]
RFC 3340 The Application Exchange Core July 2002
o the "transID" attribute specifies the value contained in the
"statusRequest" option; and,
o each "destination" element has an "identity" attribute and
contains a "reply" element:
* the "identity" attribute specifies the recipient endpoint that
is being reported on; and,
* the "reply" element (Section 6.1.2) specifies the delivery
status of that recipient.
7. Registration Templates
7.1 APEX Option Registration Template
When an APEX option is registered, the following information is
supplied:
Option Identification: specify the NMTOKEN or the URI that
authoritatively identifies this option.
Present in: specify the APEX elements in which the option may appear.
Contains: specify the XML content that is contained within the
"option" element.
Processing Rules: specify the processing rules associated with the
option.
Contact Information: specify the postal and electronic contact
information for the author of the profile.
7.2 APEX Service Registration Template
When an APEX service is registered, the following information is
supplied:
Well-Known Endpoint: specify the local-part of an endpoint identity,
starting with "apex=".
Syntax of Messages Exchanged: specify the elements exchanged with the
service.
Sequence of Messages Exchanged: specify the order in which data is
exchanged with the service.
Rose, et. al. Standards Track [Page 29]
RFC 3340 The Application Exchange Core July 2002
Access Control Tokens: specify the token(s) used to control access to
the service (c.f., [10]).
Contact Information: specify the postal and electronic contact
information for the author of the profile.
Note that the endpoints "apex=all" and "apex=core" may not be
assigned.
7.3 APEX Endpoint Application Registration Template
When an APEX endpoint application is registered, the following
information is supplied:
Endpoint Application: specify the subaddress used for an endpoint
application, starting with "appl=".
Application Definition: specify the syntax and semantics of the
endpoint application identified by this registration.
Contact Information: specify the postal and electronic contact
information for the author of the profile.
8. Initial Registrations
8.1 Registration: The APEX Profile
Profile Identification: http://iana.org/beep/APEX
Messages exchanged during Channel Creation: "attach", "bind"
Messages starting one-to-one exchanges: "attach", "bind",
"terminate", or "data"
Messages in positive replies: "ok"
Messages in negative replies: "error"
Messages in one-to-many exchanges: none
Message Syntax: c.f., Section 9.1
Message Semantics: c.f., Section 4.4
Contact Information: c.f., the "Authors' Addresses" section of this
memo
Rose, et. al. Standards Track [Page 30]
RFC 3340 The Application Exchange Core July 2002
8.2 Registration: The System (Well-Known) TCP port number for apex-mesh
Protocol Number: TCP
Message Formats, Types, Opcodes, and Sequences: c.f., Section 9.1
Functions: c.f., Section 4.4
Use of Broadcast/Multicast: none
Proposed Name: APEX relay-relay service
Short name: apex-mesh
Contact Information: c.f., the "Authors' Addresses" section of this
memo
8.3 Registration: The System (Well-Known) TCP port number for apex-edge
Protocol Number: TCP
Message Formats, Types, Opcodes, and Sequences: c.f., Section 9.1
Functions: c.f., Section 4.4
Use of Broadcast/Multicast: none
Proposed Name: APEX endpoint-relay service
Short name: apex-edge
Contact Information: c.f., the "Authors' Addresses" section of this
memo
8.4 Registration: The statusRequest Option
Option Identification: statusRequest
Present in: APEX's "data" and "recipient" elements
Contains: nothing
Processing Rules: c.f., Section 5.1
Contact Information: c.f., the "Authors' Addresses" section of this
memo
Rose, et. al. Standards Track [Page 31]
RFC 3340 The Application Exchange Core July 2002
8.5 Registration: The Report Service
Well-Known Endpoint: apex=report
Syntax of Messages Exchanged: c.f., Section 9.2
Sequence of Messages Exchanged: c.f., Section 6.2
Access Control Tokens: none
Contact Information: c.f., the "Authors' Addresses" section of this
memo
9. DTDs
9.1 The APEX Core DTD
<!--
DTD for the APEX core, as of 2001-07-09
Refer to this DTD as:
<!ENTITY % APEXCORE PUBLIC "-//IETF//DTD APEX CORE//EN" "">
%APEXCORE;
-->
<!ENTITY % BEEP PUBLIC "-//IETF//DTD BEEP//EN" "">
%BEEP;
<!--
DTD data types:
entity syntax/reference example
====== ================ =======
APEX endpoint
ENDPOINT entity, fred@example.com
c.f., Section 2.2
domain, either a FQDN or a literal
DOMAIN c.f., [RFC-2821] example.com or [10.0.0.1]
seconds
SECONDS 0..2147483647 600
timestamp
TIMESTAMP c.f., [12] 2000-05-15T13:02:00-08:00
unique-identifier
Rose, et. al. Standards Track [Page 32]
RFC 3340 The Application Exchange Core July 2002
UNIQID 1..2147483647 42
unique-identifier OR zero
UNIZID 0..2147483647 0
-->
<!ENTITY % ENDPOINT "CDATA">
<!ENTITY % DOMAIN "CDATA">
<!ENTITY % SECONDS "CDATA">
<!ENTITY % TIMESTAMP "CDATA">
<!ENTITY % UNIQID "CDATA">
<!ENTITY % UNIZID "CDATA">
<!--
APEX messages, exchanged as application/beep+xml
role MSG RPY ERR
====== === === ===
I attach ok error
I or L bind ok error
I or L terminate ok error
I or L data ok error
-->
<!ELEMENT attach (option*)>
<!ATTLIST attach
endpoint %ENDPOINT; #REQUIRED
transID %UNIQID; #REQUIRED>
<!ELEMENT bind (option*)>
<!ATTLI
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -