4.4.4.2 simpview.java Client Code

The listing “simpview.java Code Example” illustrates how Jolt works with a service whose buffer type is VIEW. The client code is identical to the code used for accessing an FML service.

Note: The code in the following listing does not catch any exceptions. Because all Jolt exceptions are derived from java.lang.RunTimeException, the Java Virtual Machine (JVM) catches these exceptions if the application does not. (A well-written application will catch these exceptions and take appropriate actions.)

Before running the example in the following listing, you need to add the VIEW service to the SIMPAPP package using the Metadata Repository Editor and write the simpview.c Oracle Tuxedo application. This service takes the data from the client VIEW buffer, creates a new buffer and passes it back to the client as a new VIEW buffer. The following example assumes that a session object has already been instantiated.

Listing simpview.java Code Example
/* Copyright 1997 Oracle Systems, Inc. All Rights Reserved */
/*
 * This code fragment illustrates how Jolt works with a service whose buffer
 * type is VIEW.
 */
import bea.jolt.*;
class ...
{
      ...
      public void simpview ()
      {
             JoltRemoteService ViewSvc;
             String outString;  
             int outInt;
             float outFloat;
      // Create a Jolt Service for the Oracle Tuxedo service "SIMPVIEW"
      ViewSvc = new JoltRemoteService("SIMPVIEW",session);
      // Set the input parameters required for SIMPVIEW
      ViewSvc.setString("inString", "John");
      ViewSvc.setInt("inInt", 10);
      ViewSvc.setFloat("inFloat", (float)10.0);
      // Call the service. No transaction required, so pass
      // a "null" parameter
      ViewSvc.call(null);
     // Process the results
     outString = ViewSvc.getStringDef("outString", null);
     outInt = ViewSvc.getIntDef("outInt", -1);
     outFloat = ViewSvc.getFloatDef("outFloat", (float)-1.0);
     // And display them...
     System.out.print("outString=" + outString + ",");
     System.out.print("outInt=" + outInt + ",");
     System.out.println("outFloat=" + outFloat);
   }
}