# Receiving Messages From Clients

Client Request nodes provide a way for a client to make a request to a business process.

The tasks you must complete to design a Client Request node include:

- Create a Client Request Node in Your Business Process
- Design Your Client Request Node
- Naming the Methods on Client Request Nodes

### Create a Client Request Node in Your Business Process

1. On the Application tab, click the business process (JPD file) you want to design.

Your business process is displayed in the Design View.

2. If the Palette is not visible in WebLogic Workshop, choose View —> Windows —> Palette from the WebLogic Workshop menu.
3. Drag and drop Client Request from the Palette onto the business process in the Design View, placing it on the business process at the point at which you want to design the client interaction.

Note: As you drag your selection onto the Design View, targets appear on your business process. Each target represents a location in the flow where you can place the node. As you drag the node near a location, the target is activated and the cursor changes to an arrow . When this happens, you can release the mouse button and the node snaps to the business process at the location indicated by the active target. If the location you chose is not a valid one, an will appear next to your node. If you place your cursor over this icon,WebLogic Workshop will display a message about the violation.

The Client Request node is displayed in your business process in the Design View.

Note the following properties for the Client Request node:

- indicates that the design of this node is incomplete. To complete the design, see Design Your Client Request Node.
- By default the name for the node is Client Request. You can change the name in the following ways:

- Double-click the node name in the Design View and enter a new name to replace Client Request.
- Right-click the node name in the Design View and select Rename from the drop-down menu. Then enter a new name to replace Client Request.
- Double-click the Client Request node in your business process to display the node builder. Click the name beneath the node builder icon and enter a new name to replace Client Request.

### Design Your Client Request Node

After you add any node to your business process, you can design its properties and behavior by invoking the node builder and completing the tasks appropriate for that node. The following sections describe how to complete the design of interactions with clients in your Client Request nodes:

- To Specify General Settings
- To Specify Receive Data

To Specify General Settings

1. Double-click the Client Request node in your business process.

The node builder is displayed. It contains two tabs: General Settings and Receive Data.

2. In the General Settings tab, enter a name in the Method Name field to specify the name of the method on this Client Receive node.

The name you assign to the method is the name of the method that is exposed via the Web Services Description Language (WSDL) when you make your business process available as a Web service. To learn more about how the methods in your project are exposed to clients, see Components of Your Application.

3. In the General Settings tab, click Add to select the type and format of the data your Client Request node expects to receive from clients (that is, the data type for the method parameter). The node builder displays the following types of data:

- XML Types

Lists the XML Schemas that are available in your business process project and the untyped XMLObject and XMLObjectList data types. To learn how to import a Schema into your project, see Importing Files into the Schemas Project.

- Non-XML Types

Lists the Message Format Language (MFL) files available in your business process project and the untyped RawData data type. WebLogic Integration uses a metadata language called Message Format Language (MFL), based on XML, to describe the structure of non-XML data. Every MFL file available in your project is listed in Non-XML Types. Note that an XML Schema representation of each MFL file is built by WebLogic Workshop and is also available in the XML Types listing.

- Java Types

Lists Java primitive data types.

For more detailed descriptions of the data types, see Working with Data Types.

4. Click OK.

After you select a data type, the field is populated with the parameter types you added in the preceding steps.

Note: If you selected a typed XML or typed non-XML data type in the previous steps, you can select the Validate box to have the incoming message validated against your specified schema before the message is received by the node. For more information about schemas, see Validating Schemas and Importing Files into the Schemas Project.

To Specify Receive Data

1. Click the Receive Data tab.

This tab allows you to define one or more variables to hold the data your business process receives from clients.

2. If the data types of your method parameters and the data type of the variables you are going to use match, you can map your variables to the corresponding methods directly.

1. If not already selected, select the Variable Assignment option.

The Client Sends field is populated with the parameter(s) you specified on the General Settings tab.

2. If you want to assign a variable that you already created in your project to the method parameters, select it from the drop-down menu.
3. If you want to create a new variable and assign it to the method parameter, select Create new variable..., then follow the instructions in To Create a New Variable in the Node Builder.
4. If the data types of your method parameters and your variables match, click the X in the top right-hand corner to close the node builder.

3. If the data types of your method parameters and your variables are different, you can use the Transformation tool included in WebLogic Workshop to map between heterogeneous data types. The data transformations you create using the tool are stored in Data Transformation Format (DTF) files. When DTF files containing your data transformations are built, they are built as controls. The controls expose transformation methods, which business processes invoke to map disparate data types.

1. To create a transformation map, select the Transformation option.

The node builder transformation screen is displayed with the data types expected by your method displayed in the Client Sends pane.

2. In Step 1 of the Transformation option window, click Select Variable to select one or more variables to be used.

Note: To remove a variable from the node builder pane, select the variable in the list and then click Remove. This action removes the variable from the node builder, not from your business process. The variable is still included in your business process; it is visible in the Variables pane in the Data Palette.

When designing a business process, you use a Transformation to create maps between disparate data types. Your project must contain an instance of a Transformation control (defined by a DTF file) for you to create the map.

3. If an appropriate instance of a Transformation control is not available in your project, you can create a new one by clicking Create Transformation to invoke the Transformation Mapping tool window. This automatically applies changes to the builder and opens a transformation editor in a new window.

The mapping tool displays a representation of the source schema and target schema in Source and Target panes. You can create a map between the data type of the method parameter and the data type of the variable, or variables, to which you assign the data. To learn how to create and test a map using the mapping tool, see Guide to Data Transformation.

Note: To return to node builder, in the Application pane, double-click the JPD file.

4. If the appropriate instance of a Transformation control is available in your project, click Advanced.... The Advanced Option window opens. In this window, select the Control and Method. If the method arguments and return type matches those as selected in the Transformation pane, click OK.
5. Close the Transformation tool by clicking the X in the top right-hand corner.

4. To close the node builder, click the X in the top right-hand corner.

In the Design View, the icon indicates that you completed the configuration and design of this node.

Note: To learn about changing the configuration you design in the Transformation pane of a node builder, see About Editing Node Configurations.

1. To save your work, select File —> Save.

### Naming the Methods on Client Request Nodes

The names that you assign to methods on your Client Request nodes correspond to the names of the methods that are exposed via the Web Services Description Language (WSDL) when you make your business process available as a Web service. The name must be a valid Java class name.

Related Topics

Sending Messages to Clients

Buffering Client Messages

XQuery Statements

Handling Exceptions

Client Operations and Control Communication Methods

Adding Message Paths

Adding Timeout Paths