Listing G‑1 shows how the ATMI binding element (
<binding.atmi>) is defined. This is a pseudoschema that depicts how the grammar is used and what parameters are legal.
Notes:
|
The parameters "transactionalintent legacyintent" are not literal values. transactionalintent can be substituted with " suspendsTransaction" or " propagatesTransaction" or omitted. " legacyintent" can be substituted with "legacy" or omitted.
|
Parameters with a ? may be specified 0 or 1 times, and parameters with * may be specified 0 or more times.
When using the <binding.atmi>element, the total length of
/reference/@name (or/service/@name) and method name must be equal to or less than the maximum length of a Tuxedo service name (this varies depending on the Tuxedo release). To overcome this limitation, see
</binding.atmi/map>.
The <binding.atmi> element supports the following attributes
•
|
When this attribute contains the legacy value, it is used to perform interoperability with existing Tuxedo services. When not specified, communications are assumed to have SCA to SCA semantics where the actual Tuxedo service name is constructed from /service/@name or /reference/@name and actual method name (see Listing G‑1), unless a /binding.atmi/map element is defined. When this attribute encounters a legacy value, and no /binding.atmi/map element is defined for the method being called, it has the following run-time behavior:
|
•
|
In a <reference> element: the value specified in the /reference/@name is used to perform the Tuxedo call, with semantics used according to the interface method.
|
•
|
In a <service> element: the Tuxedo service specified in the /binding.atmi/map element is advertised, and mapped to the method specified in the /binding.atmi/map/@target attribute.
|
•
|
suspendsTransaction - transaction context is propagated to the called service. For a <service> element when a transaction is present, it is automatically suspended before invoking the application code. It resumes afterwards, regardless of the outcome of the invocation. For a <reference> element, it is equivalent to making a tpcall() with the TPNOTRAN flag.
|
•
|
propagatesTransaction - only applicable to <reference> elements. It is ignored for <service> elements. This value starts a new transaction if one does not already exist, otherwise it participates in the existing transaction.
|
Used in <reference> elements when
/binding.atmi/workstationParameters is not set, and for client-only processes. It indicates the Tuxedo application that the process should join. One process can join multiple applications, or switch applications without having to restart.
If not set, the TUXCONFIG environment variable is used. If not set, but one is required, the process exits and returns an error.
For <reference> elements,
</binding.atmi/map>provides the Tuxedo service name that should be used when performing the invocation to the corresponding
/binding.atmi/map/@target value, this value being the name of the method being called.
For <service> elements,
</binding.atmi/map> provides the Tuxedo service name that should be advertised for the corresponding
/binding.atmi/map/@target value.
The /binding.atmi/map/@target value
must match the method name of the corresponding service interface.
If a /binding.atmi/map element is present, it takes precedence over any other form of service/method to Tuxedo service name mapping. See
</binding.atmi/@requires> attribute.
•
|
Oneway - the call will not expect a response.
|
The outputBufferType element is used by the binding extension to determine or check the type of the reply.
The errorBufferType element is used to determine the type of buffer specified in the data portion of the Exception thrown received by a client or thrown by a server.
Table G‑1 lists supported values and corresponding Tuxedo buffer types. An incorrect value or syntax is detected at run time and causes the call to fail. If not specified, the default value used is STRING.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Format is: X_COMMON/<subtype>
|
|
|
Format is VIEW32/<subtype>
|
|
|
|
|
|
FML/<subtype>, <subtype> is optional
The <subtype> value allows to specify the SDO type to use for that message (request or response) when it is described in an XML schema
Note:
|
FML32 <subtype> is not available for JATMI binding.
|
|
|
|
FML32/<subtype>, <subtype> is optional
The <subtype> value allows to specify the SDO type to use for that message (request or response) when it is described in an XML schema
Note:
|
FML32 <subtype> is not available for JATMI binding.
|
|
|
|
|
Same as fieldTablesLocation, but for FML32 buffers.
If the /binding.atmi/bufferType value is FML and this element is not specified or invalid (that is, the tables indicated cannot be found or are not field tables), an error is displayed at initialization time for client processes, or boot time for server processes.
Same as fieldTables, but for FML32 buffers.
Same as viewTablesLocation, but for VIEW32 buffers.