Optimized local adapters APIs on Liberty for z/OS

WebSphere® optimized local adapters (WOLA) on Liberty are supported by a set of z/OS® native-language callable services application programming interfaces (APIs) and the Java™ EE Connector Architecture (JCA).

You can use the callable services from the following native programming languages:
  • Cobol
  • C/C++
  • PL/I
  • High-level assembly languages

The term local connection refers to a cross-memory link that is created for communication between an external address space on the z/OS system and the Liberty server on the same z/OS system. The client address space must be running on the same z/OS image. The adapter API manages these local connections in pools that are associated with each uniquely registered caller. The 12-character registration name can be used for only one set of connection pools per address space. The number of unique registrations in a single address space is limited only by the amount of available storage.

Register

Using the BBOA1REG API, you can register with a local Liberty server. The BBOA1REG API requests that a group of optimized connections to a local Liberty server be allocated and registered under the specified register name.

Table 1. BBOA1REG API syntax
API Syntax
BBOA1REG BBOA1REG (wolagroupnamepart1, wolagroupnamepart2, wolagroupnamepart3, registername, minconn, maxconn, registerflags, rc, rsn)
The BBOA1REG API accepts the following input parameters:
wolagroupnamepart1
An entry variable or entry constant that contains the first part of the name of the optimized local adapter group to be joined. It must be a null-terminated string of exactly 8 characters, and it must be passed by reference.
wolagroupnamepart2
An entry variable or entry constant that contains the second part of the name of the optimized local adapter group to be joined. It must be a blank-padded string of exactly 8 characters, and it must be passed by reference.
wolagroupnamepart3
An entry variable or entry constant that contains the third part of the name of the optimized local adapter group to be joined. It must be a blank-padded string of exactly 8 characters, and it must be passed by reference.
registername (input)
An entry variable or entry constant containing the name to be used to register a set of local connections. Later calls require this name to identify the pool of connections to use. This must be a blank padded string of exactly 12 characters and cannot be used by another client in the daemon group. If this client connects to multiple daemon groups, the registername can be used only once in this client.
minconn
An integer that contains the initial minimum number of connections to allocate for this registration. The adapter attempts to reserve this number of connections with the associated server during registration.
Important: At minimum, one connection is allocated to bind with the target server even if the minconn parameter is specified as 0, so specifying 0 is the same as specifying 1.
maxconn
An integer that contains the maximum number of connections to allocate for this registration. The adapter attempts to extend the local connection pool up to this number during a Connection Get API request when the minimum number of connections are all in use.
registerflags
A 32-bit flag word that contains registration flags.
  • reg_flag_W2Cprop - bit 31

    The reg_flag_W2Cprop flag controls outbound transaction security propagation from the Liberty server to CICS®.

  • reg_flag_C2Wprop - bit 29

    The reg_flat_C2Wprop flag propagates the identity on the calling task from CICS to the Liberty server. For transactions that are inbound from CICS, the flag controls how the identity is determined. When this bit is turned on, the CICS application task identity is used in the Liberty server authorization process if the useCicsTaskUserId attribute for the zosLocalAdapters configuration element is set to true in the server.xml file. When this bit is turned off, the CICS region identity is used.

  • reg_flag_trcmod - bit 0

    Set the reg_flag_trcmod flag if you want to modify the optimized local adapter trace settings for the requested registration. If you do not set this flag, no change to the trace setting is made, and the system defaults or predefined trace settings that apply to the registration name or job name are used.

  • reg_flag_trcmore - bit 1 and reg_flag_trcsome - bit 2

    If you set reg_flag_trcmod flag to 1, you must also specify the level of tracing for the registration by setting the reg_flag_trcmore flag for detailed tracing or the reg_flag_trcsome flag for coarse-level tracing. If reg_flag_trcmod is set to 1, setting both the reg_flag_trcmore flag and the reg_flag_trcsome flag to 0 forces no tracing for the registration regardless of what pre-definitions or defaults are set.

The BBOA1REG API accepts the following output parameters:
rc
An integer return code that indicates success or failure of this call.
rsn
An integer reason code that describes the reason for a failure on this call.
Usage notes:
  • Ensure that the Liberty server that you specified on this call is started and the support for local adapters is enabled.
  • The minimum connections requested is validated against the server maximum connections. A minimum connection (minconn) value of 3 means that three connections are reserved during the register call. If more than three connections are requested at a given time, the connection pool can increase to the maximum connection (maxconn) value. When the number of all connections to a server reaches the maximum that is permitted, all subsequent Connection Get API requests for that server are rejected, even if the maxconn value is not yet reached.
    Important: Use caution in setting the minimum connections value. Except in specific instances, do not set a large value because resources in the Liberty server are reserved for each connection.
  • Multiple calls to the Register API can be made under the same address space, thread, or Customer Information Control System (CICS) task; however, they cannot share register name. The register name must be a unique name.
  • Use the Unregister API call to remove this registration and release the connection pool that is associated with it.
  • When the address space that makes a register call terminates, the registration is automatically terminated and the connections are released.
Return and reason codes:
Table 2. BBOA1REG API return and reason codes
Return Code Reason Code Description Action
0 - Success  
4 4 The transactional register flag was set to 1 in an environment where the adapter does not support global transactions. This setting is ignored and processing continues.
8 - Error - see reason code  
  8 The registration name token already exists. Unregister this name before you call the Register API.
  12 The specified minimum connections parameter is larger than the maximum. Ensure that the minimum connections setting is less than, or equal to, the maximum setting.
  14 Out of shared memory while trying to create registration. Increase the shared memory allocation for the optimized local adapter or issue unregister calls to reduce resource consumption.
  21 An error occurred while attempting to contact with the local Liberty server. If you set the reg_flag_C2Wprop bit (bit 29) to on, ensure that the useCicsTaskUserId attribute for the zosLocalAdapters configuration element is set to true in the server.xml file.
  74 Input register name contains a null. Before you call the Register API, pad the register name with blank spaces so that the name is exactly 12 characters long.
 

236

WOLA name part 2 or 3 was empty or missing. Ensure that WOLA name part 2 and 3 are specified on the BBOA1REG call.
 

480

The client could not become authorized to invoke the register function. This condition is unexpected. Ensure that the target server is running and that the zosLocalAdapters service is configured in the server instance.
 

481

The client could not find the authorized function table for zosLocalAdapters services. Ensure that the zosLocalAdapters feature is configured on the target server instance.
12 10 The API could not locate the selected optimized local adapters group. Ensure that the Liberty server and target server are started, verify that the optimized local adapters support is active, and try again.
  14 The user ID is not authorized for the requested Liberty server. Ensure that the user ID is authorized to the CBIND SAF class for the requested Liberty server.
  16 Part 2 or part 3 of the optimized local adapters group name is not found. Ensure that the optimized local adapter group name parameters that are being passed are valid and that the server is active.
  23 An error occurred while naming the token. See the problem determination information on the WebSphere Application Server Support site.
  24 An error occurred while establishing the initial Liberty server local communication connection. Refer to the Liberty server region logs for details on the local communication connect call.
  28 The registration identified with this name is not valid. The specified register name is already registered, but the registration is missing. As a workaround, call the Unregister API and attempt to call the Register API again. If the problem continues, see the problem determination information on the WebSphere Application Server Support site.
  68 An attachment to shared memory failed. See the problem determination information on the WebSphere Application Server Support site.
  86 The Liberty server main BGVT cannot be located. The Liberty server was not started on the current z/OS operating system image. Ensure that the server is started before you start any optimized local adapters client processes.
  88 The Liberty server main client stub table cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  90 The main client stub table slot for the Liberty server optimized local adapters cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
 

232

An out of memory condition occurred during a register call. Ensure that memory is available to the client in subpool 0. Try the BBOA1REG call again.
 

234

The client could not bind to the Liberty server instance. Ensure that the Liberty server instance started and that the zosLocalAdapters service is configured in the server instance.
 

238

The client could not locate the target server's registration. This condition is unexpected. Ensure that the target server instance started and that the zosLocalAdapters feature is configured. If the server is stopped, start it and try the BBOA1REG call again.

Unregister

Unregister from the local optimized local adapter group and Liberty server using the BBOA1URG API.
Table 3. BBOA1URG API syntax. This API requests that a group of optimized connections to a local optimized local adapter group and Liberty server be released using the specified register name.
API Syntax
BBOA1URG BBOA1URG (registername, unregflags, rc, rsn)
The BBOA1URG API accepts the following input parameters:
registername
An entry variable or entry constant that contains the name to use to unregister a set of local connections. The value must be exactly 12 characters, blank padded, and the same name that is used on the Register API call.
unregisterflags
A 32-bit flag word that contains unregistration flags.
  • Reserved - bit 0-30
  • Force (0|1) - bit 31

    Specify 1 to force the unregister request. By default, an unregister request is complete if all connections are returned to the connection pool. If all the connections are not returned to the pool, a warning is returned to the caller. The unregister process is complete when the last connection is returned to the pool. Make a second unregister request with the force bit set to 1 to force the unregister process to complete and invalidate all remaining connection handles for that registration.

The BBOA1URG APIaccepts the following output parameters:
rc
An integer return code that indicates success or failure of this call.
rsn
An integer reason code that describes the reason for a failure on this call.
Usage notes:
  • Ensure that the Liberty server that you specified on this call is started and the support for local adapters is enabled.
  • If the Unregister API is not called and the address space that made a register call terminates, an unregister call is done automatically and the connections are released.
  • Any connection handles for this registration that are active when the unregister call occurs might continue to be valid until they are returned to the connection pool by using the Connection Release API. To force the connection handles to be cleaned up, a second unregister call must be made, specifying the force flag. This invalidates all outstanding connection handles.
Return and reason codes:
Table 4. BBOA1URG API return and reason codes
Return Code Reason Code Description Action
0 - Success  
4 - Warning - see reason code  
  66 The unregister call is delayed until all the connections are returned to the pool. Unregistration completes when the last connection is returned to the free pool.
8 - Error - see reason code  
  8 The registration token name does not exist. You must register this name before calling the Unregister API for it.
  64 The force option cannot be specified until a normal unregister is issued. Call the Unregister API without specifying the force option.
  82 An attempt to unregister this registration was already made. Wait for the previous unregister request to complete or reissue this unregister with the force option.
 

228

The unregister call could not complete because the registration has already been reused. No action is required.
 

230

The connection pool could not be cleaned up on an unregister force call. No action is required. To avoid the use of an unregister force call, ensure that your application returns all connection handles back to the pool before calling unregister.
 

480

The client could not become authorized to call the unregister function. This condition is unexpected. Ensure that the target server is running and that the zosLocalAdapters service is configured in the server instance.
12 86 The Liberty server main BGVT cannot be located. The Liberty server was not started on the current z/OS operating system image. Ensure that the server is started before you start any optimized local adapters client processes.
  88 The Liberty server main client stub table cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  90 The main client stub table slot for the Liberty server optimized local adapters cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.

Connection Get

This API requests that an available connection from the pool that was created with the selected registration name is returned.
Table 5. BBOA1CNG API syntax
API Syntax
BBOA1CNG BBOA1CNG (registername, connectionhandle, waittime, rc, rsn)
The BBOA1CNG API accepts the following parameters:
registername
An entry variable or entry constant that contains the name to be used to locate the connection pool from which to retrieve a connection. This must be a blank padded string of exactly 12 characters.
connectionhandle
A 12-byte area that stores the connection handle, which must be passed on later requests for actions on this connection.
waittime
An integer that contains the number of seconds to wait for the connection to complete before returning a connection unavailable reason code. A value of 0 implies there is no wait time and the API waits indefinitely. The waittime parameter applies only to the process of obtaining a WOLA connection from the connection pool. When the connection is obtained, it is used to receive a request from the server with an unlimited wait time.
The BBOA1CNG API accepts the following output parameters:
rc
An integer return code that indicates success or failure of this call.
rsn
An integer reason code that describes the reason for a failure on this call.
Usage notes:
  • Ensure that the Liberty server that you specified on this call is started and the support for local adapters is enabled.
  • Ensure that a successful Register API call was completed in the current address space with a matching name before you use the Connection Get API.
Return and reason codes:
Table 6. BBOA1CNG API return and reason codes
Return Code Reason Code Description Action
0 - Success  
4 - Warning - see reason code  
8 - Error - see reason code  
  8 The registration name token does not exist. Register this name before you call the name with the Connection Get API.
  10 The connection is unavailable. The wait time expired before the connection request could be obtained. The application behavior varies. Wait and try again, or issue the abend macro to terminate the task that called the Connection Get API. You can also increase the maximum connections setting on the Register API call.
  28 The registration was found, but it is inactive.  
 

224

An incomplete registration was found. This condition is unexpected. Use the BBOA1URG service to unregister, and use the BBOA1REG service to register again.
 

480

The client could not become authorized to call the get connection function. This condition is unexpected. Ensure that the target server is running and that the zosLocalAdapters service is configured in the server instance.
 

482

The client could not reconnect to the target server instance after the server was restarted. This condition is unexpected. Use the BBOA1URG service to remove the registration, and use the BBOA1REG service to create a new one.
 

483

The client could not reconnect to the target server instance after the server was restarted. This condition is unexpected. Use the BBOA1URG service to remove the registration, and use the BBOA1REG service to create a new one.
12 10 The API could not locate the selected optimized local adapters group. Ensure that the Liberty server and target server are started, verify that the optimized local adapters support is active, and try again.
 

14

The user ID is not authorized for the requested Liberty server. Ensure that the user ID is authorized to the CBIND SAF class for the requested Liberty server.
  86 The Liberty server main BGVT cannot be located. The Liberty server was not started on the current z/OS operating system image. Ensure that the server is started before you start any optimized local adapters client processes.
  88 The Liberty server main client stub table cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  90 The main client stub table slot for the Liberty server optimized local adapters cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  240 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  242 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  244 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  246 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  248 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  250 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  252 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  254 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  256 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  258 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  260 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  262 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.

Connection Release

The Connection Release API requests that a connection is returned to the pool that it was retrieved from and is made available for another requester.
Table 7. BBOA1CNR API syntax
API Syntax
BBOA1CNR BBOA1CNR (connectionhandle, rc, rsn)
The BBOA1CNR API accepts the following parameter:
connectionhandle
A 12-byte area into which the connection handle that indicates the previously obtained connection that is to be released back into the connection pool.
The BBOA1CNR API accepts the following output parameters:
rc
An integer return code that indicates success or failure of this call.
rsn
An integer reason code that describes the reason for a failure on this call.
Usage notes
  • Ensure that the Liberty server that you specified on this call is started and the support for local adapters is enabled.
  • Before you use the Connection Release API, ensure that a successful Register API call is completed in the current address space with a matching name, and a successful Connection Get API call is completed to obtain the connection that is now to be released.
Table 8. BBOA1CNR API return and reason codes
Return Code Reason Code Description Action
0 - Success  
4 - Unable to locate the optimized local adapter group and Liberty server. Any resources that are related to this connection were cleared. None
8 - Error-see reason code  
  36 The connection state is not valid. The connection handle that is used for this request is in the wrong state. Refer to the API documentation for the rules on connection states.
  38 The client connection handle is not valid. The client connection handle that is used for this request is not valid. Refer to the API documentation for information about client connection handles.
12 86 The Liberty server main BGVT cannot be located. The Liberty server was not started on the current z/OS operating system image. Ensure that the server is started before you start any optimized local adapters client processes.
  88 The Liberty server main client stub table cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  90 The main client stub table slot for the Liberty server optimized local adapters cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.

Send Request

These APIs send a request into the local Liberty server for processing.
Table 9. BBOA1SRQ API syntax
API Syntax
BBOA1SRQ BBOA1SRQ (connectionhandle, requesttype, requestservicename, requestservicenamel, requestdata, requestdatalen, async(0|1), responsedatalen, rc, rsn)
The BBOA1SRQ API accepts the following input parameters:
connectionhandle
A 12-byte connection handle that is to be used for this request.
requesttype
An integer that contains the request type that indicates the type of work request to process. The only supported value is 1 for local EJB work requests.
requestservicename
An EBCDIC character string up to 256 bytes in length that contains the name of the service to invoke. This parameter specifies the JNDI name of the local business interface.
requestservicenamel
An integer that contains the length of the service name to start or 0 (zero) if the service name is null terminated.
requestdata
A 31-bit pointer to the address of the start of the request data to send.
requestdatalen
A 32-bit unsigned value that contains the length of the data to send.
async(0|1)
Set async to 1 to indicate that the caller wants control returned immediately, even though the response length might not yet be known. If you set async to 0, the current thread waits for the Liberty server to return the response, and the API returns the response length in the responsedatalen output parameter.
The BBOA1SRQ API accepts the following output parameters:
responsedatalen
A 32-bit unsigned value that contains the length of the response. The caller can use this length to acquire storage before you call the Get Data API to copy the data in. When you set async to 1, indicating the caller wants control back immediately, the value is set to 0xFFFFFFFF if the response is not yet received.
rc
An integer return code that indicates success or failure of this call.
rsn
An integer reason code that describes the reason for a failure on this call.
Usage notes:
  • Ensure that the Liberty server that you specified on this call is started and the support for local adapters is enabled.
  • Ensure that a successful Register API call was completed in the current address space with a matching name before you use the Send Request API.
Return and reason codes:
Table 10. BBOA1SRQ API return and reason codes
Return Code Reason Code Description Action
0 - Success  
4 - Warning - see reason code  
8 - Error - see reason code  
  8 The register name token already exists. Ensure that the register name that is associated with the passed handle is valid.
  16 The request service name length is not valid. Correct the program and try again.
  18 The request length exceeds the system limits. The message size is larger than the Liberty server size can support. Verify that the size is valid. If the size is valid, ensure that the Liberty server size is large enough to accommodate the message size.
  32 The API call request type is not valid. The request type is not valid. Correct the program and try the call again.
  34 The target service is not found. Ensure that the application that contains the target enterprise bean is installed and started in the target server for the Liberty server.
  36 The connection state is not valid. The connection handle that is used for the request is in the wrong state. Refer to the API documentation for the rules on connection states.
  38 The client connection handle is not valid. The client connection handle that is used for the request is not valid. Refer to the API documentation for information about client connection handles.
  40 A local communication error occurred. Check the Liberty server log for any local communication error messages.
  44 An exception or unexpected condition occurred in the target enterprise bean. Refer to the Liberty server logs to review the exception data.
  46 An error occurred in the local communication send request call. Check the Liberty server logs to determine the error.
  98 The beginning of the supplied request buffer cannot be accessed. Ensure that the supplied request buffer address and length are correct.
  100 The end of the supplied request buffer cannot be accessed. Ensure that the supplied request buffer address and length are correct.
12 10 The API could not locate the selected optimized local adapters group. Ensure that the Liberty server and target server are started, verify that the optimized local adapters support is active, and try again.
  86 The Liberty server main BGVT cannot be located. The Liberty server was not started on the current z/OS operating system image. Ensure that the server is started before you start any optimized local adapters client processes.
  88 The Liberty server main client stub table cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  90 The main client stub table slot for the Liberty server optimized local adapters cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.

Send Response

This API sends a response to a request back to the local Liberty server.
Table 11. BBOA1SRP API syntax
API Syntax
BBOA1SRP BBOA1SRP (connectionhandle, responsedata, responsedatalen, rc, rsn)
The BBOA1SRP API accepts the following input parameters:
connectionhandle
A 12-byte connection handle that is to be used for this response.
responsedata
A 31-bit pointer to the address of the start of the response data to send.
requestdatalen
A 32-bit unsigned value that contains the length of the data to send.
The BBOA1SRP API accepts the following output parameters:
rc
An integer return code that indicates success or failure of this call.
rsn
An integer reason code that describes the reason for a failure on this call.
Usage notes:
  • Ensure that the Liberty server that you specified on this call is started and the support for local adapters is enabled.
  • Ensure that a successful Register API call was completed in the current address space with a matching name before you use the Send Response API.
  • Ensure that a successful Connection Get API call completed and the handle is provided as input on this call.
  • Ensure that a successful receive Request Any, Receive Request Specific, or Host API call was issued and returned with request data for the connection handle. The connection must be in a state where the Send Response API is valid.
Return and reason codes:
Table 12. BBOA1SRP API return and reason codes
Return Code Reason Code Description Action
0 - Success  
4 - Warning - see reason code  
8 - Error - see reason code  
  8 The register name token already exists. Ensure that the register name passed is valid.
  18 The request length exceeds the system limits. The message size is larger than the Liberty server size can support. Verify that the size is valid. If the size is valid, ensure that the Liberty server size is large enough to accommodate the message size.
  34 The target service is not found. Ensure that the application that contains the target enterprise bean is installed and started in the target server for the Liberty server.
  36 The connection state is not valid. The connection handle that is used for the request is in the wrong state. Refer to the API documentation for the rules on connection states.
  38 The client connection handle is not valid. The client connection handle that is used for the request is not valid. Refer to the API documentation for information about client connection handles.
  40 A local communication error occurred. Check the Liberty server log for any local communication error messages.
  46 An error occurred in the local communication send request call. Check the Liberty server logs to determine the error.
  102 The beginning of the supplied response buffer cannot be accessed. Ensure that the supplied response buffer address and length are correct.
  104 The end of the supplied response buffer cannot be accessed. Ensure that the supplied response buffer address and length are correct.
 

480

The client could not become authorized to call the send response function. This condition is unexpected. Ensure that the target server is running and that the zosLocalAdapters service is configured in the server instance.
12 10 The API could not locate the selected optimized local adapters group. Ensure that the Liberty server and target server are started, verify that the optimized local adapters support is active, and try again.
  86 The Liberty server main BGVT cannot be located. The Liberty server was not started on the current z/OS operating system image. Ensure that the server is started before you start any optimized local adapters client processes.
  88 The Liberty server main client stub table cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  90 The main client stub table slot for the Liberty server optimized local adapters cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.

Send Response Exception

This API sends a ResourceException exception that contains response data back to the JCA caller in the local Liberty server.

Table 13. BBOA1SRX API syntax
API Syntax
BBOA1SRX

BBOA1SRX (connectionhandle, excresponsedata, exresponsedatalen, rc, rsn)

The BBOA1SRX API accepts the following input parameters:
connectionhandle
A 12-byte connection handle that is to be used for this response.
excresponsedata
A 31-bit pointer to the address of the start of the exception response data to send.
excresponsedatalen
A 32-bit unsigned value that contains the length of the exception response data to send. Exception response data is an EBCDIC string that describes the error.
The BBOA1SRX API accepts the following output parameters:
rc
An integer return code that indicates success or failure of this call.
rsn
An integer reason code that describes the reason for a failure on this call.
Usage notes:
  • Ensure that the Liberty server that you specified on this call is started and the support for local adapters is enabled.
  • Ensure that a successful Register API call completed in the current address space with a matching name before you use the send response call.
  • Ensure that a successful Connection Get API call completed, and provide the handle as input on this API call.
  • Ensure that a successful Receive Request Any, Receive Request Specific, or Host Service API call was issued and returned with request data for the connection handle. The connection must be in a state where the Send Response and Send Response Exception APIs are valid.
Return and reason codes:
Table 14. BBOA1SRX API return and reason codes
Return Code Reason Code Description Action
0 - Success  
4 - Warning - see reason code  
8 - Error - see reason code  
  8 The register name token already exists. Ensure that the register name passed is valid.
  10 The connection handle is in a released or not valid state. Ensure that a valid connection handle was passed.
  16 One or more parameters are not valid. Verify that all the parameters are valid and try the call again.
  18 The request length exceeds the system limits. The message size is larger than the Liberty server size can support. Verify that the size is valid. If the size is valid, ensure that the Liberty server size is large enough to accommodate the message size.
  36 The connection state is not valid. The connection handle used for this request is in the wrong state. Refer to the API documentation for the rules on connection states.
  38 The client connection handle is not valid. The client connection handle used for this request is not valid. Refer to the API documentation for information about client connection handles.
  40 A local communication error occurred. Check the Liberty server log for any local communication error messages.
  46 An error occurred in the local communication send request call. Check the Liberty server logs to determine the error.
  102 The beginning of the supplied response buffer cannot be accessed. Ensure that the supplied response buffer address and length are correct.
  104 The end of the supplied response buffer cannot be accessed. Ensure that the supplied response buffer address and length are correct.
 

480

The client could not become authorized to call the send exception function. This condition is unexpected. Ensure that the target server is running and that the zosLocalAdapters service is configured in the server instance.
12 10 The API could not locate the selected optimized local adapters group. Ensure that the Liberty server and target server are started, verify that the optimized local adapters support is active, and try again.
  86 The Liberty server main BGVT cannot be located. The Liberty server was not started on the current z/OS operating system image. Ensure that the server is started before you start any optimized local adapters client processes.
  88 The Liberty server main client stub table cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  90 The main client stub table slot for the Liberty server optimized local adapters cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.

Receive Request Any

This API receives a request and related data from a local Liberty server on any connection in the pool for the passed register name. The API returns request data length and a connection handle as output parameters. Calling the Get Data API with the returned connection handle returns the received message data.

Table 15. BBOA1RCA API syntax
API Syntax
BBOA1RCA BBOA1RCA (registername, connectionhandle, requestservicename, requestservicenamel, requestdatalen, waittime, rc, rsn)
The BBOA1RCA API accepts the following input parameters:
registername
An entry variable or entry constant that contains the name to be used to locate the connection pool from which to retrieve a connection. The value must be a blank padded string of exactly 12 characters.
waittime
An integer that contains the number of seconds to wait for the connection to complete before it returns a connection unavailable reason code. A value of 0 indicates that there is no wait time and that the API waits indefinitely. The waittime parameter applies only to the process of obtaining a WOLA connection from the connection pool. When the connection is obtained, it is used to receive a request from the server with an unlimited wait time.
The BBOA1RCA API accepts the following input or output parameters:
requestservicename
An EBCDIC character string up to 256 bytes that contains the name of the service. This parameter is the name of the target service that is specified on the InteractionSpec interface by the Liberty server application. A value of * indicates a receive request for all service names that arrive under the current register name.
requestservicenamel
An integer that contains the length of the service name to start or 0 if the service name is null terminated.
The BBOA1RCA API accepts the following output parameters:
connectionhandle
A 12-byte connection handle that is returned and must be passed on later requests for actions on this connection.
requestdatalen
A 32-bit unsigned value is returned with the length of the data to receive.
rc
An integer return code that indicates success or failure of this call.
rsn
An integer reason code that describes the reason for a failure on this call.
Usage notes:
  • Ensure that the Liberty server that you specified on this call is started and the support for local adapters is enabled.
  • Ensure that a successful Register API call was completed in the current address space with a matching name before you use this API.
Return and reason codes:
Table 16. BBOA1RCA API return and reason codes
Return Code Reason Code Description Action
0 - Success  
4 - Warning - see reason code  
8 - Error - see reason code  
  8 The register name token already exists. Ensure that the register name passed is valid.
  10 The connection is unavailable. The wait time expired before the connection request could be obtained. The application behavior varies. Wait and try again, or issue the abend macro to terminate the task that called the Connection Get API. You can also increase the maximum connections setting on the Register API call.
  16 The request service name length is not valid. Correct the program and try the call again.
  19 A call to a local communication service received a non-zero return code.  
  21 A call to a local communication service received a non-zero return code.  
  38 The client connection handle is not valid. The client connection handle used for this request was determined to be not valid. Refer to the API documentation for information about client connection handles.
  40 A local communication error occurred. Check the Liberty server log for any local communication error messages.
  46 An error occurred in the local communication send request call. Check the Liberty server logs to determine the error.
  84 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  222 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
 

224

An incomplete registration was found. This condition is unexpected. Use the BBOA1URG service to unregister, and use the BBOA1REG service to register again.
 

226

An incomplete connection handle was found. This condition is unexpected. Use the BBOA1RCA service to try the request again.
  444 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  445 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
 

480

The client could not become authorized to call the receive request function. This condition is unexpected. Ensure that the target server is running and that the zosLocalAdapters service is configured in the server instance.
 

482

The client could not reconnect to the target server instance after the server was restarted. This condition is unexpected. Use the BBOA1URG service to remove the registration, and use the BBOA1REG service to create a new one.
 

483

The client could not reconnect to the target server instance after the server was restarted. This condition is unexpected. Use the BBOA1URG service to remove the registration, and use the BBOA1REG service to create a new one.
12 10 The API could not locate the selected optimized local adapters group. Ensure that the Liberty server and target server are started, verify that the optimized local adapters support is active, and try again.
 

14

The user ID is not authorized for the requested Liberty server. Ensure that the user ID is authorized to the CBIND SAF class for the requested Liberty server.
  24 After a successful registration call, an error occurred when getting a connection from the pool. Verify that the server is started. If the server is not started, restart the server and try the API request again.
  86 The Liberty server main BGVT cannot be located. The Liberty server was not started on the current z/OS operating system image. Ensure that the server is started before you start any optimized local adapters client processes.
  88 The Liberty server main client stub table cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  90 The main client stub table slot for the Liberty server optimized local adapters cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.

Receive Request Specific

This API receives a request and related data from a local Liberty server for the specified connection handle. The API returns request data length as an output parameter. Calling the Get Data API with the specified connection handle returns the received message data.
Table 17. BBOA1RCS APIs syntax
API Syntax
BBOA1RCS BBOA1RCS (connectionhandle, requestservicename, requestservicenamel, requestdatalen, async(0|1), rc, rsn)
The BBOA1RCS API accepts the following input parameters:
connectionhandle
A 12-byte connection handle that is to be used for the receive request.
async(0|1)
Set async to 1 to indicate that the caller wants control returned immediately, even though the response length might not yet be known. If you set async to 0, this call waits to receive a request from the Liberty server.
The BBOA1RCS API accepts the following input or output parameters:
requestservicename
An EBCDIC character string up to 256 bytes that contains the name of the service. This parameter is the name of the target service that is specified on the InteractionSpec interface by the Liberty server application. A value of * indicates that set up as a server for all service names that arrive under the current register name.
requestservicenamel
An integer that contains the length of the service name to start or 0 if the service name is null terminated.
The BBOA1RCS API accepts the following output parameters:
requestdatalen
A 32-bit unsigned value is returned that contains the length of the request data received. The caller can then use this length to acquire storage before you call the Get Data API to copy the data in. When async is set to 1, indicating the caller wants control back immediately, the value is set to 0xFFFFFFFF if the request data is not yet received. In this case, you must call the API again to retrieve an inbound request.
rc
An integer return code that indicates success or failure of this call.
rsn
An integer reason code that describes the reason for a failure on this call.
Usage notes:
  • Ensure that the Liberty server that you specified on this call is started and the support for local adapters is enabled.
  • Ensure that a successful Register API call was completed in the current address space with a matching name before you use this API.
Return and reason codes:
Table 18. BBOA1RCS API return and reason codes
Return Code Reason Code Description Action
0 - Success  
4 - Warning - see reason code  
8 - Error - see reason code  
  8 The register name token already exists. Ensure that the register name passed is valid.
  10 The connection handle is in a released state improper state. Ensure that a valid connection handle passed.
  16 The request service name length is not valid. Correct the program and try the call again.
  19 A call to a local communication service received a non-zero return code.  
  21 A call to a local communication service received a non-zero return code.  
  36 The connection state is not valid. The connection handle used for this request is in the wrong state. Refer to the API documentation for the rules on connection states.
  38 The client connection handle is not valid. The client connection handle used for this request is not valid. Refer to the API documentation for information about client connection handles.
  40 A local communication error occurred. Check the Liberty server log for any local communication error messages.
  46 An error occurred in the local communication send request call. Check the Liberty server logs to determine the error.
  76 An attempt to communicate with the server failed because the server is no longer running. Start the server and try the communication again.
  78 An internal error occurred that caused the connection to select a request that was not a part of the transaction being processed by this connection. Return the connection to the connection pool. If the problem continues, see the problem determination information on the WebSphere Application Server Support site.
  80 The transaction that is active on this connection timed out and the connection state cannot be reset so that another request is processed. Return the connection to the connection pool. If the problem continues, see the problem determination information on the WebSphere Application Server Support site.
  84 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  222 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
 

226

An incomplete connection handle was found. This condition is unexpected. Use the BBOA1CNR service to release the connection, and use the BBOA1CNG service to obtain a new connection.
  444 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  445 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
 

480

The client could not become authorized to call the receive request function. This condition is unexpected. Ensure that the target server is running and that the zosLocalAdapters service is configured in the server instance.
12 10 The API could not locate the selected optimized local adapters group. Ensure that the Liberty server and target server are started, verify that the optimized local adapters support is active, and try again.
  86 The Liberty server main BGVT cannot be located. The Liberty server was not started on the current z/OS operating system image. Ensure that the server is started before you start any optimized local adapters client processes.
  88 The Liberty server main client stub table cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  90 The main client stub table slot for the Liberty server optimized local adapters cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.

Receive Response Length

The receive response length API retrieves the length of the response data from a prior send request call.
Table 19. BBOA1RCL API syntax
API Syntax
BBOA1RCL BBOA1RCL (connectionhandle, async(0|1), responsedatalen, rc, rsn)
The BBOA1RCL API accepts the following input parameters:
connectionhandle
A 12-byte connection handle that is to be used for this request.
async(0|1)
Set async to 1 to indicate that the caller wants control returned immediately, even though the response length might not be known. If you set async to 0, this call waits for the Liberty server to return the response, and the API returns the response length in the responsedatalen parameter.
The BBOA1RCL API accepts the following output parameters:
requestdatalen
A 32-bit unsigned value with the length of the received data is returned. The caller can use this length to acquire storage before you call the Get Data API to copy the data in. If you set async to 1, the value is set to 0xFFFFFFFF if the response data is not yet received.
rc
An integer return code that indicates success or failure of this call.
rsn
An integer reason code that describes the reason for a failure on this call.
Usage notes:
  • Ensure that the Liberty server that you specified on this call is started and the support for local adapters is enabled.
  • Ensure that a successful Register API call was completed in the current address space with a matching name before you use this API.
  • Ensure that a successful Connection Get API call completed and the handle is provided as input on this call.
  • Ensure that a successful Send Request API call was completed before you make this call.
Return and reason codes:
Table 20. BBOA1RCL API return and reason codes
Return Code Reason Code Description Action
0 - Success  
4 - Warning - see reason code  
8 - Error - see reason code  
  8 The register name token already exists. Ensure that the register name passed is valid.
  19 A call to a local communication service received a non-zero return code.  
  21 A call to a local communication service received a non-zero return code.  
  36 The connection state is not valid. The connection handle used for this request was determined to be in the wrong state. Refer to the API documentation for the rules on connection states.
  38 The client connection handle is not valid. The client connection handle used for this request was determined to be not valid. Refer to the API documentation for information about client connection handles.
  40 A local communication error occurred. Check the Liberty server log for any local communication error messages.
  84 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  222 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
 

226

An incomplete connection handle was found. This condition is unexpected. Use the BBOA1CNR service to release the connection, and use the BBOA1CNG service to obtain a new connection.
  444 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  445 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
 

480

The client could not become authorized to call the receive length function. This condition is unexpected. Ensure that the target server is running and that the zosLocalAdapters service is configured in the server instance.
12 10 The API could not locate the selected optimized local adapters group. Ensure that the Liberty server and target server are started, verify that the optimized local adapters support is active, and try again.
  86 The Liberty server main BGVT cannot be located. The Liberty server was not started on the current z/OS operating system image. Ensure that the server is started before you start any optimized local adapters client processes.
  88 The Liberty server main client stub table cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  90 The main client stub table slot for the Liberty server optimized local adapters cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.

Get Message Data

This API copies the received message data. When this API call returns, the message is removed from the adapter message cache.
Table 21. BBOA1GET API syntax
API Syntax
BBOA1GET BBOA1GET (connectionhandle, msgdata, msgdatalen, rc, rsn, rv)
The BBOA1GET API accepts the following input parameters:
connectionhandle
A 12-byte connection handle that is to be used for this request.
msgdata
A 31-bit pointer to the address of the start of the data area to copy into. The storage that this parameter points to must be in a key that the caller can write in.
msgdatalen
A 32-bit unsigned value that contains the length of the data to copy.
The BBOA1GET API accepts the following output parameters:
rc
An integer return code that indicates success or failure of this call.
rsn
An integer reason code that describes the reason for a failure on this call.
rv
A 32-bit integer return value that contains the size of the context buffer for this request.
Usage notes:
  • Ensure that the Liberty server that you specified on this call is started and the support for local adapters is enabled.
  • Ensure that a successful Register API call was completed in the current address space with a matching name before you use the Send Request API.
  • Ensure that a successful Connection Get API call completed and the handle is provided as input on this call.
  • If the API caller input msgdatalen parameter is larger than the actual message response, the return code contains a 0 and the actual message length is provided to the return value.
  • Important: After the get message data call returns to the caller, the message data does not persist and the connection is returned to a state where it can be used for another send or receive request call. A subsequent call to get message data or receive response length is returned in error.
Return and reason codes:
Table 22. BBOA1GET API return and reason codes
Return Code Reason Code Description Action
0 - Success  
4 - Warning - see reason code  
8 - Error - see reason code  
  8 The register name token already exists. Ensure that the register name passed is valid.
  36 The connection state is not valid. The connection handle used for this request was determined to be in the wrong state. Refer to the API documentation for the rules on connection states.
  38 The client connection handle is not valid. The client connection handle used for this request was determined to be not valid. Refer to the API documentation for information about client connection handles.
  40 A local communication error occurred. Check the Liberty server log for any local communication error messages.
  48 An error occurred in the local communication read request. Check the Liberty server logs to determine the error.
  72 Response length input parameter is not large enough to contain the response message. Only a portion of the message is returned. The remainder is discarded. Refer to the return value for the size of the message response.
  98 The beginning of the supplied request buffer cannot be accessed. Ensure that the supplied request buffer address and length are correct.
  100 The end of the supplied request buffer cannot be accessed. Ensure that the supplied request buffer address and length are correct.
  102 The beginning of the supplied response buffer cannot be accessed. Ensure that the supplied response buffer address and length are correct.
  104 The end of the supplied response buffer cannot be accessed. Ensure that the supplied response buffer address and length are correct.
 

226

An incomplete connection handle was found. This condition is unexpected. Use the BBOA1CNR service to release the connection, and use the BBOA1CNG service to obtain a new connection.
 

480

The client could not become authorized to call the get data function. This condition is unexpected. Ensure that the target server is running and that the zosLocalAdapters service is configured in the server instance.
12 10 The API could not locate the selected optimized local adapters group. Ensure that the Liberty server and target server are started, verify that the optimized local adapters support is active, and try again.
  86 The Liberty server main BGVT cannot be located. The Liberty server was not started on the current z/OS operating system image. Ensure that the server is started before you start any optimized local adapters client processes.
  88 The Liberty server main client stub table cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  90 The main client stub table slot for the Liberty server optimized local adapters cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.

Invoke

This API uses other underlying primitive API functions to call a method in a local Liberty server. It is designed to be used in situations where the response output area maximum size is known in advance.
Table 23. BBOA1INV API syntax
API Syntax
BBOA1INV BBOA1INV (registername, requesttype, requestservicename, requestservicenamel, requestdata, requestdatalen, responsedata, responsedatalen, waittime, rc, rsn, rv)
The BBOA1INV API accepts the following input parameters:
registername
An entry variable or entry constant that contains the name to be used to locate the connection pool to retrieve a connection for this invocation. The value must be a blank padded string of exactly 12 characters.
requesttype
An integer that contains the request type, which indicates the type of work request to process. The only supported value is 1 for local EJB work requests.
requestservicename
An EBCDIC character string up to 256 bytes in length that contains the name of the service to invoke. This parameter specifies the JNDI name of the local business interface.
requestservicenamel
An integer that contains the length of the service name to start or 0 if the service name is null terminated.
requestdata
A 31-bit pointer to the address of the start of the request data to send.
requestdatalen
A 32-bit unsigned value that contains the length of the request data to send.
responsedata
A 31-bit pointer to the address of the start of the response data area to copy into. The storage this parameter points to must be in a key that the caller can write in.
responsedatalen
A 32-bit unsigned value that contains the length of the response data to send.
waittime
An integer that contains the number of seconds to wait for the connection to complete before it returns a connection unavailable reason code. A value of 0 (zero) indicates that there is no timeout and that this API waits indefinitely. The waittime parameter applies only to the process of obtaining a WOLA connection from the connection pool. When the connection is obtained, it is used to receive a request from the server with an unlimited wait time.
The BBOA1INV API accepts the following output parameters:
rc
An integer return code that indicates success or failure of this call.
rsn
An integer reason code that describes the reason for a failure on this call.
rv
A 32-bit integer return value that contains the size of the message data that was received and copied into the caller response area.
Usage notes:
  • Ensure that the Liberty server that you specified on this call is started and the support for local adapters is enabled.
  • Ensure that a successful Register API call was completed in the current address space with a matching name before you use the Send Request API.
  • If the API caller input responsedatalen parameter is larger than the actual message response, the return code contains a 0 (zero) and the actual message length is provided in the return value.
Return and reason codes:
Table 24. BBOA1INV API return and reason codes
Return Code Reason Code Description Action
0 - Success  
4 - Warning - see reason code  
8 - Error - see reason code  
  8 The register name token does not exist. Ensure that the register name passed is valid.
  10 The connection is unavailable. The wait time expired before the connection request is obtained. The application behavior varies. Wait and retry, or accept this failed Invoke API call. Another option is to increase the maximum connections setting on the Register API call.
  16 The request service name length is not valid. Correct the program and try the call again.
  18 The response length exceeded the system limits. The message size is larger than the Liberty server size can support. Verify that the size is valid. If the size is valid, ensure that the Liberty server size is large enough to accommodate the message size.
  19 A call to a local communication service received a non-zero return code.  
  21 A call to a local communication service received a non-zero return code.  
  26 The global transaction cannot begin.  
  28 The registration was found, but it is inactive.  
  32 The request type on the API call is not valid. The request type parameter is not valid. Correct the program and try the call again.
  34 The target service not found. Ensure the application that contains the target enterprise bean is installed and started in the target Liberty server.
  36 The connection state is not valid. The connection handle used for this request was determined to be in the wrong state. Refer to the API documentation for the rules on connection states.
  38 The client connection handle is not valid. The client connection handle used for this request was determined to be not valid. Refer to the API documentation for information about client connection handles.
  40 A local communication error occurred. Check the Liberty server log for any local communication error messages.
  44 An exception or unexpected condition occurred in the target enterprise bean. Refer to the Liberty server logs to review the exception data.
  46 An error occurred in the local communication send request. Refer to the Liberty server logs to determine the error.
  48 An error occurred in the local communication read request. Check the Liberty server logs to determine the error.
  72 Response length input parameter is not large enough to contain the response message. Only a portion of the message is returned. The remainder is discarded. Refer to the return value for the size of the message response.
  84 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  98 The beginning of the supplied request buffer could not be accessed. Ensure that the supplied request buffer address and length are correct.
  100 The end of the supplied request buffer could not be accessed. Ensure that the supplied request buffer address and length are correct.
  102 The beginning of the supplied response buffer could not be accessed. Ensure that the supplied response buffer address and length are correct.
  104 The end of the supplied response buffer could not be accessed. Ensure that the supplied response buffer address and length are correct.
  222 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
 

224

An incomplete registration was found. This condition is unexpected. Use the BBOA1URG service to unregister, and use the BBOA1REG service to register again.
 

226

An incomplete connection handle was found. This condition is unexpected. Use the BBOA1INV service to try the request again.
  444 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  445 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
 

480

The client could not become authorized to call the invoke function. This condition is unexpected. Ensure that the target server is running and that the zosLocalAdapters service is configured in the server instance.
 

482

The client could not reconnect to the target server instance after the server was restarted. This condition is unexpected. Use the BBOA1URG service to remove the registration, and use the BBOA1REG service to create a new one.
 

483

The client could not reconnect to the target server instance after the server was restarted. This condition is unexpected. Use the BBOA1URG service to remove the registration, and use the BBOA1REG service to create a new one.
12 10 The API could not locate the selected optimized local adapters group. Ensure that the Liberty server and target server are started, verify that the optimized local adapters support is active, and try again.
 

14

The user ID is not authorized for the requested Liberty server. Ensure that the user ID is authorized to the CBIND SAF class for the requested Liberty server.
  24 After a successful register call, an error occurred while getting a connection from the connection pool. Verify that the server is started. If it is not started, restart the server and try the API request again.
  86 The Liberty server main BGVT cannot be located. The Liberty server was not started on the current z/OS operating system image. Ensure that the server is started before you start any optimized local adapters client processes.
  88 The Liberty server main client stub table cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  90 The main client stub table slot for the Liberty server optimized local adapters cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  240 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  242 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  244 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  246 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  248 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  250 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  252 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  254 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  258 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  260 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.
  262 An internal error occurred. The cause is not immediately known. To learn more about the internal error, see the WebSphere Application Server for z/OS Support page.

Host Service

The Host Service API uses other underlying primitive API functions to set up a native language z/OS program as a server and target for optimized local adapter calls from a local Liberty server. Use the API when you know the request area maximum size before you call the API.
Table 25. BBOA1SRV API syntax
API Syntax
BBOA1SRV BBOA1SRV (registername, requestservicename, requestservicenamel, requestdata, requestdatalen, connectionhandle, waittime, rc, rsn, rv)
The BBOA1SRV API accepts the following input parameters:
registername
An entry variable or entry constant that contains the name to be used to locate the connection pool to retrieve a connection from for this call. The value must be a blank-padded string of exactly 12 characters.
requestdata
A 31-bit pointer to the address of the start of the request data received. The storage that this parameter points to must be in a key that the caller can write in.
requestdatalen
A 32-bit unsigned value that contains the length of the data area into which the message is received.
connectionhandle
A 12-byte connection handle that is returned to the caller and used for sending a response for this request.
waittime
An integer that contains the number of seconds to wait for the connection to complete before it returns a connection unavailable reason code. A value of 0 (zero) implies that there is no timeout, and the API waits indefinitely. The waittime parameter applies only to the process of obtaining a WOLA connection from the connection pool. When the connection is obtained, it is used to receive a request from the server with an unlimited wait time.
The BBOA1SRV API accepts the following input or output parameters:
requestservicename
An EBCDIC character string up to 256 bytes that contains the name of the service. This parameter is the name of the target service that is specified on the InteractionSpec interface by the Liberty server application. A value of * indicates set up as a server for all service names that arrive under the current register name.
requestservicenamel
An integer that contains the length of the service name to start or 0 if the service name is null terminated.
The BBOA1SRV API accepts the following output parameters:
rc
An integer return code that indicates success or failure of this call.
rsn
An integer reason code that describes the reason for a failure on this call.
rv
A 32-bit integer return value that contains the size of the message data that was received and copied into the caller response area.
Usage notes:
  • Ensure that the Liberty server that you specified on this call are started and the support for local adapters is enabled.
  • Ensure that a successful Register API call was completed in the current address space with a matching name before you use this API.
  • If the API caller input requestdatalen parameter is larger than the actual message response, the return code contains a 0 (zero) and the actual message length is provided in the return value.
  • The returned connection handle must be supplied on any response for this Host Service call using the Send Response API.
Return and reason codes:
Table 26. BBOA1SRV API return and reason codes
Return Code Reason Code Description Action
0 - Success  
4 - Warning - see reason code  
8 - Error - see reason code  
  8 The register name token already exists. Ensure that the register name passed is valid.
  10 The connection handle is in a released state. Ensure that a correct connection handle is passed.
  12 The connection handle is not in the connection that is in the registration name. Correct the program, and try the call again.
  16 The request service name length is not valid. Correct the program, and try the call again.
  18 The response length exceeded the system limits. The message size is larger than the Liberty server size can support. Verify that the size is valid. If the size is valid, ensure that the Liberty server size is large enough to accommodate the message size.
  40 A local communication error occurred. Check the Liberty server log for any local communication error messages.
  46 An error occurred in the local communication send request. Check the Liberty server logs to determine the error.
  48 An error occurred in the local communication read request. Check the Liberty server logs to determine the error.
  72 Response length input parameter is not large enough to contain the response message. Only a portion of the message is returned. The remainder is discarded. Refer to the return value for the size of the message response.
  98 The beginning of the supplied request buffer cannot be accessed. Ensure that the supplied request buffer address and length are correct.
  100 The end of the supplied request buffer cannot be accessed. Ensure that the supplied request buffer address and length are correct.
 

224

An incomplete registration was found. This condition is unexpected. Use the BBOA1URG service to unregister, and use the BBOA1REG service to register again.
 

226

An incomplete connection handle was found. This condition is unexpected. Use the BBOA1SRV service to try the request again.
 

480

The client could not become authorized to call the host function. This condition is unexpected. Ensure that the target server is running and that the zosLocalAdapters service is configured in the server instance.
 

482

The client could not reconnect to the target server instance after the server was restarted. This condition is unexpected. Use the BBOA1URG service to remove the registration, and use the BBOA1REG service to create a new one.
 

483

The client was not able to reconnect to the target server instance after the server was restarted. This condition is unexpected. Use the BBOA1URG service to remove the registration, and use the BBOA1REG service to create a new one.
12 10 The API could not locate the selected optimized local adapters group. Ensure that the Liberty server and target server are started, verify that the optimized local adapters support is active, and try again.
 

14

The user ID is not authorized for the requested Liberty server. Ensure that the user ID is authorized to the CBIND SAF class for the requested Liberty server.
  86 The Liberty server main BGVT cannot be located. The Liberty server was not started on the current z/OS operating system image. Ensure that the server is started before you start any optimized local adapters client processes.
  88 The Liberty server main client stub table cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.
  90 The main client stub table slot for the Liberty server optimized local adapters cannot be located. A Liberty server was started on the current z/OS operating system image, but the server is not running at the level where the optimized local adapters client stub table is supported. Ensure that your application is running with the level of the optimized local adapters stubs that are compatible with the Liberty server on this z/OS system.

Java EE Connector Architecture (JCA) adapters APIs

For calls from the Liberty server into a batch program or subsystem, the Liberty server application uses the standard JCA APIs. The following interfaces are customized for use with optimized local adapters:
  • ConnectionSpec
  • InteractionSpec
  • Record I/O

ConnectionSpec

Use the ConnectionSpec interface to pass connection-specific parameters when you obtain a connection from a connection factory. These parameters can override the parameters of the same name that are defined in the connection factory. For optimized local adapters, this interface is implemented as the com.ibm.websphere.ola.ConnectionSpecImpl class. The ConnectionSpecImpl class enables you to specify which optimized local adapters register name that you want to communicate with.

When you communicate with a CICS link server, the ConnectionSpecImpl class provides methods that you can use to override values that the link server uses. For example, you can specify the four-character transaction ID of the link server invocation transaction, BBO#. You can also specify whether to store request data in a CICS COMMAREA or CONTAINER object.

For information about methods in the ConnectionSpecImpl class, see the generated API documentation.

InteractionSpec

Use the InteractionSpec interface to specify request-specific parameters to the resource adapter instance that you are connected to. For optimized local adapters, this interface is implemented as the com.ibm.websphere.ola.InteractionSpecImpl class. You can use the InteractionSpecImpl class to set the service name for the application to communicate with. The service name is hosted by the register name that was specified when the connection was obtained.

For information about methods in the InteractionSpecImpl class, see the generated API documentation.

Record I/O

Use the Record interface to pass request and response data to the resource adapter instance that you are connected to. The optimized local adapters provide two implementations of the Record interface, IndexedRecord and MappedRecord. You can create both implementations by obtaining a reference to the RecordFactory from the JCA connection instance that the application uses.

Use an IndexedRecord object if you are passing data to a Batch or UNIX System Services program or if you are communicating with CICS using a COMMAREA or a single CONTAINER object. Add a byte array (byte[]) to the IndexRecord object to represent the data that the program sends on the request. The response is also received into an IndexedRecord object. You can obtain the response data by retrieving the first entry from the IndexedRecord object and casting it to a byte array.

Use a MappedRecord object if you are passing data to CICS in multiple CONTAINER objects. The MappedRecord object contains name-value pairs, similar to what Map objects store. In the name-value pairs, the name is the name of the container that the data is transferred to, and the value is the actual data, specified as a byte array (byte[]). When you use a MappedRecord object to send a request, the response is also sent back using a MappedRecord object. The response contains the name of each container that contained response data and the associated data.