# How Do I: Create a Web Service with Transactional Support in the Tuxedo Service

Tuxedo services are often transactional; therefore, the Tuxedo Control provides a declarative means of propagating the transaction from the web service to the Tuxedo system.

To create a web service that uses a transactional Tuxedo service:

1. Select the web service in which you want to use a Tuxedo service.
2. Double-click the JCX file in the Application Pane.
3. Click on the Property Editor tab and select the transaction attribute tag.
4. Specify the transaction attribute that applies to the Tuxedo service. The possible attribute values are:

Transaction Attribute | Description
--- | ---
Supports | The transaction state of the caller of the control is propagated to Tuxedo via WTC and the Tuxedo service participates in a distributed transaction with the web service implementation. The Tuxedo Control does not start a transaction automatically or check for a transaction before executing.
NotSupported | The Tuxedo Control effectively suspends any existing transaction context before invoking the Tuxedo service. This means that any action that occurs within the Tuxedo service is not part of the transaction of the caller of the control. Specifying NotSupported also sets TPNOTRAN flag when making a request to Tuxedo.

Note: If an exception occurs inside the web service and is not caught, any transaction in progress is aborted.

1. From the menu, select File -> Save to save your work.