# @jc:tuxedo Tag

Specifies which services and buffer formats are used with the control. The tag can be specified in the operation definition with the exception of the mapping-strictness and the debug-level tags.

## Syntax

    @jc:tuxedo

    	service-type="service | oneway | queue"
    	service-name="service_name"
    	buffer-type="carray | fml | fml32 | string | xml |view |
    			view32 | x_c_type | x_common | x_octet |none"
    	field-tables="field_table_name"
    	mapping-strictness="strict | normal| loose"
    	transaction="Supports | NotSupported"
    	send-queue-space="send_queue_space_name"
    	send-queue-name="send_queue_name"
    	receive-queue-space="receive_queue_space_name"
    	receive-queue-name="receive_queue_name"
    	reply-queue-name="reply_queue_name"
    	failure-queue-name="failure_queue_name"
    	view-classes="view_class_name"
    	send-view-class="TypedView_class_name"
    	accessor-name-conventions="bean-conventions |
    		tux-conventions"

## Attributes

### service-type

Specifies the type of Tuxedo service this control uses.

Default: service

Possible values are:

- service specifies a typical synchronous request/response (tpcall). The control sends a request to a remote Tuxedo service and waits for a reply.
- oneway specifies a request without a response expected (tpacall).
- queue specifies a queued model of interaction (tpenqueue). In this case other attributes specifying the queue space and the queue name such as send-queue-space, send-queue-name, receive-queue-space, receive-queue-name, reply-queue-name, and failure-queue-name should be defined.

### service-name

Specifies the WTC imported service name. This attribute can only be specified at the method level (not at the control level).

### buffer-type

Specifies the type of buffer the Tuxedo Control supports in the Tuxedo service.

Default: fml32

Possible values are:

- carray used when the data is an unspecified array of characters (byte array), any of which can be null. Tuxedo equivalent: CARRAY.
- fml used when the data contains named fields of simple types each with a maximum length of 65 K bytes. In this case, the field-tables attribute should also be defined.
- fml32 used when the data contains named fields including nested FML32 fields each having a maximum length of 4 GB. In this case, the field-tables attribute should also be defined.
- string used when the data contains a simple string as its only contents.
- xml used when data is an XML document. Data input to methods that specify a buffer-type of xml must be in the form of a Java String or an XML Bean (an instance of a class that implements XmlObject). Tuxedo equivalent: XML for Tuxedo Release 7.1 and higher.

Note: For input XML using data dependent routing, remove all comments generated by the WebLogic Workshop test browser in the XML buffer. Depending on the location of the comments in the buffer, Tuxedo may have problems parsing the buffer.

- view used to define C or COBOL structures for a Tuxedo application and to define an equivalent Java TypedView buffer for a WebLogic application. A view description file in which the fields and types that appear in the data structure are defined, must be available to client and server processes that use a data structure described in a VIEW typed buffer. Encoding and decoding are performed automatically if the buffer is passed between machines of different types.
- view32 is equivalent to VIEW but uses 32 bits for length and count fields, which allows for larger and more fields.
- x_common is a synonym for the VIEW buffer type. An x_common buffer is represented by a Java class extending the TypedXCommon class. It is identical in semantics to a VIEW buffer.
- x_c_type is a synonym for the VIEW buffer type. An x_c_type buffer is represented by a Java class extending the TypedXCType class. It is identical in semantics to a VIEW buffer.
- x_octet is simply a byte array and is a synonym for the CARRAY buffer type in Tuxedo.
- none is used when no input buffer is to be used in the request to the Tuxedo service. If the method signature contains input parameters, an error is generated.

### field-tables

Specifies the class names that describe the buffer for the Tuxedo service if you have specified buffer-type="fml | fml32". These class names are space delimited and must be fully qualified.

The name of the field table should match the classes generated with the mkfldclass or mkfldclass32 utilities.

For buffer types fml and fml32, WTC needs the names and types of the fields the buffer can contain. These are described in field table classes created with mkfldclass and mkfldclass32 utilities.

For more information about mkfldclass and mkfldclass32 utilities, see WebLogic Server Javadoc.

### mapping-strictness

Specifies the type of coercion strictness you want for the buffer mapping.

Default: normal

Possible values are:

- normal is the most expected type of coercion. If the field is a numeric field type and the Java Number class can provide the appropriate coercion, then it is used. Exceptions are raised only if the coercion required is out of the ordinary, such as trying to convert the string "one" to a numeric field. Missing fields and some type coercion problems are logged as issues.
- strict only allows matching types with little or no coercion provided. Most disallowed combinations cause a ControlException. Few issues are logged as most problems result in an exception.
- loose attempts any feasible coercion. For example, a string containing "true" or "The" when mapped to a Boolean field will both result in a value of true as the control will only look at the first character of the string. This setting can yield uncertain results. Some data may not make it through the control and as a result may be lost in mapping. Few errors raise an exception and most problems are logged as issues.

### transaction

Provides a declarative mechanism for controlling the transaction context under which the control executes. If an exception occurs inside the web service and is not caught, any transaction in progress is aborted.

Default: Supports

Possible values are:

- Supports the web service uses the transaction state of the caller of the web service. The control neither starts a transaction automatically nor checks for a transaction before executing.
- NotSupported the control sets the TPNOTRAN flag when making a request to Tuxedo. This causes the Tuxedo service to operate outside the context of the transaction started by the web service.

### send-queue-space

Specifies the name of the queue space in which the sending queue name is located. For more information on queues, refer to the Tuxedo Documentation.

### send-queue-name

Specifies the name of the queue to send messages to for service-type="queue". For more information on queues, refer to the Tuxedo Documentation.

### receive-queue-space

Specifies the name of the queue space in which the receiving queue name is located. For more information on queues, refer to the Tuxedo Documentation.

### receive-queue-name

Specifies the name of the queue to receive queued messages for service-type="queue". For more information on queues, refer to the Tuxedo Documentation.

### reply-queue-name

Specifies the name of the reply queue to associate with the message for service-type="queue". For more information on queues, refer to the Tuxedo Documentation.

### failure-queue-name

Specifies the name of the failure queue to associate with the message for service-type="queue". For more information on queues, refer to the Tuxedo Documentation.

### view-classes

Specifies the names of the view classes that may be returned by Tuxedo services. Specify one or more view classes when the service you are calling may return TypedView, TypedView32, TypedXCommon, or TypedXCType buffers. The class names should match the classes generated by the viewj or viewj32 utilities and should be space delimited and fully qualified.

The control uses this attribute to pass view class types to WTC. WTC needs to know the view class type so it can create a TypedView instance to contain the data it receives from Tuxedo. Alternatively, this information can be provided to WTC in the Resource section of the WTC configuration.

For more information about viewj and viewj32 utilities, see WebLogic Server Javadoc.

### send-view-class

Specifies the name of the view class that is passed to the Tuxedo service when you specify buffer-type="view | view32 | x_common | x_c_type". This view class is used to create the TypedView buffer.

### accessor-name-conventions

To convert an accessor name to a field name, specify the convention to follow for naming.

Default: bean-conventions

Possible values are:

- bean-conventions is the default naming convention. The control only recognizes accessor names that begin with set, get, or is followed by an uppercase letter. It will strip the set, get, or is prefix from the accessor name and convert the first character of the resulting field name to lowercase.
- tux-conventions allows the control to accept any name beginning with set, get, or is as a valid accessor. The control strips the set, get, or is prefix and uses the resulting name unchanged.