Business Function APIs for Calling a Business Service

These APIs are available for a business function to call a business service method:

  • jdeCallBusinessService

  • jdeCallBusinessServiceNoResponse

  • jdeFreeBSSVPayloadReturn

  • jdeGetBusinessServiceErrorText

Two APIs are available for calling a business service method from a business function:

  • jdeCallBusinessService

    This API makes a synchronous call to the business services server passing in an XML document that represents the value object for the called business service method. The call waits until the business service method finishes before processing.

  • jdeCallBusinessServiceNoResponse

    This API makes an asynchronous call to the business services server passing in an XML document that represents the value object for the called business service method. The API returns immediately after sending the message without waiting for a response.

For both of these APIs, the caller must allocate the bssvPayloadInput structure. In addition, the caller must free the bssvPayloadReturn structure with the provided API.

This example code provides a typical C business function call to a business service method:

* jdeCallBusinessService (lpBhvrCom, 
*               lpVoid, 
*               _J("oracle.e1.sbf.JXXXXX") 
*               _J("bssv_method_name_to_call")
*               TRUE, 
*               bssvPayload, 
*               &bssvPayloadReturn);
* 
* /* caller must free the space allocated for the return payload when 
*    finished with it */
* jdeFreeBSSVPayloadReturn (&bssvPayloadReturn); 
*

Both APIs take the same set of parameters, which is shown in this example code:

* lpBhvrCom - BSFN structure pointer.
* lpVoidInfo - holds error info returned from BSFN.
* bssvName - fully qualified name of business service to be called
* bssvMethod - method within business service to be called
* autocommitTransaction - type of transaction the business service should use 
*                         on the business services server. 
*                         True if auto commit - False for manual commit.
* bssvPayloadInput - string representation of an XML document that represents
*                    the value object for the business service. Populated 
*                    with input values to pass to the business service.
* bssvPayloadReturn - string representation of XML document representing the 
*                     value object returned from the business service call 
*                     populated with both return values and original input 
*                     values. The caller must free the space allocated for 
*                     the return payload by calling the 
*                     jdeFreeBSSVPayloadReturn API.

Both APIs have the same return values, which are shown in this example code:

* CallBSSVNoError                     100L 
* CallBSSVServiceDoesNotExist         101L 
* CallBSSVMethodDoesNotExist          102L 
* CallBSSVInvalidMethodSignature      103L 
* CallBSSVNoDefaultConstructor        104L 
* CallBSSVErrorUnMarshal              105L 
* CallBSSVErrorMarshal                106L 
* CallBSSVConnectionException         107L 
* CallBSSVInvalidPacketNum            108L 
* CallBSSVInvaldUserName              109L 
* CallBSSVInvalidEnv                  110L 
* CallBSSVInvalidRole                 111L 
* CallBSSVInvalidToken                112L 
* CallBSSVAuthenticationFailure       113L 
* CallBSSVNoErrorWithMessages         114L 
* CallBSSVInvalidParamError           201L 
* CallBSSVSystemConfigurationError    202L 
* CallBSSVSystemNetworkFailedError    203L 
* CallBSSVSystemInternalServerError   204L
See also:
  • JD Edwards EnterpriseOne Tools API Reference Guide on the My Oracle Support Web site.