Implementing a HTTP Service That Returns Information Based on ZIP Codes

The HTTP service returns information about a city, given a ZIP code. It also provides the distance between two cities as defined by their ZIP codes.

Prerequisites

Note: To run the sample you can either use TIBCO ActiveMatrix BusinessWorks™ 6.x client or ActiveMatrix BusinessWorks™ 5.x as a client.

Procedure

Configure the Server

  1. In the samples directory, select binding > soap > http > ZipCodeServiceProvider and double-click tibco.bw.sample.binding.soap.http.ZipCodeServiceProvider. For more information, see Accessing Samples.
  2. In Project Explorer expand the tibco.bw.sample.binding.soap.http.ZipCodeServiceProvider project.
  3. Set the default ApplicationProfile to match the OS you are running on. For more information, see Setting the Default Application Profile.
  4. Fully expand the Processes directory and double-click ZipCodeService.bwp.
  5. Click Run > Debug Configurations.
  6. At the left hand tree of Debug Configuration wizard, expand BusinessWorks Application and select BWApplication.
  7. Click the Applications tab and then click the Deselect All button if you have multiple applications. Select the check box next to tibco.bw.sample.binding.soap.http.ZipCodeServiceProvider.application.
  8. Click Debug.
    This runs the sample in Debug mode.

Configure the ActiveMatrix BusinessWorks 5.x Client

  1. In TIBCO Designer, import the client project, bw5\tibco.bw.sample.binding.soap.http.ZipCodeServiceProvider.client.
  2. Update the HTTP shared resource configuration and verify the Host and Port values and OUTPUT_FILE global variable.
    If you updated HTTPConnector.httpConnResource in the project, you must regenerate the concrete WSDL and import it into the 5.x client project.
  3. In TIBCO Designer, click Tools > Tester > Start.
  4. In TIBCO Business Studio™ for BusinessWorks™, click the Terminate icon to stop the process.

Result

For the getCityInfo service, information corresponding to the zip code defined in the ZIP field is returned. The default value is 61801, which returns information about Urbana, IL.

For the getCityDistance service, information corresponding to the distance between two ZIP codes is returned. The default values are 61801 for Urbana IL and 61820 for Champaign IL.

Understanding the Configuration

The project contains the ZipCodeService process that provides city information about a ZIP code. HTTP is used for the transport. The project represents a simple HTTP based service using SOAP. The getCityDistance and getCityInfo operations are implemented in the ZipCodeService process.