ShowTable of Contents
The XML data retrieved from a back-end server may not be in the format needed by your WEF application. Sometimes the structure of the data needs to be changed; sometimes the values of the data need to be changed. This sample shows how to add post-execute support using a Method builder to change the values of the XML data.
To run this sample in Web Experience Factory Designer, you will need to download the attached project ZIP file
, and import it into a WEF project. Once imported, the project should look like this:
Figure 1. Project Explorer
The project has both a provider model and a consumer model. This is a best practice for WEF projects that access data from a back-end server. The provider model contains all of the builders associated with accessing the back-end data, including a Service Definition builder that exposes the service to the consumer model. The consumer model contains all of the builders associated with the user interface, including a Service Consumer builder that is associated with the service from the provider model. The builders we're interested in for this sample are in the provider model.
REST Service Call builder
In order to use data from a back-end server in a WEF application, you first need to know how to access the data. In this sample we will access a publicly accessible REST service -- an RSS feed from the Web Experience Factory Forum. The REST Service Call builder in the sample model contains the URL to the forum, and specifies a "threadId" parameter. The value for this parameter has has been left blank, which indicates that it is an input for this builder.
Figure 2. Inputs for the REST Service Call builder
So that it can generate the correct schema for the specified REST service, the REST Service Call builder needs information about how to access sample data. In this case, we will just specify the same REST service URL as before, and supply a known value for the "threadId" parameter.
Figure 3. Schema inputs for the REST Service Call builder
Running the consumer model (with no Method builder) will produce results that look like this:
Figure 4. REST Service Call builder results before revising
To illustrate how the REST Service Call builder results can be revised using a Method builder, we will change the value of the <author> element to indicate if the author is an IBM employee. The first step is to add a Method builder to the provider model, and enter some Java code which will conditionally change the value in the <author> element. You can open the Method builder in this sample to see what that Java code looks like. To have the WEF application call this method, it must be specified in the Post-Execute Support input of the Service Operation builder. This will cause the method to be called after the Service Operation builder's action has been executed.
Figure 5. Additional Processing inputs for the Service Operation builder
Running the consumer model now will produce results that look like this:
Figure 6. REST Service Call builder results after revising
The shaded area shows the changes made by the method. For each result item, the author value specifies whether the author is an IBM employee.