Step 4: Create the BDL session initiator function and instantiate a new session
In your BDL function declared as session initiator, you have to:
-
Handle the creation of the session
-
Fill the state variable before returning from the function
-
Store the new session in a database based on the state variable (in order to keep the session across consecutive requests from the same client).
For
example:
FUNCTION GetInstance()
LET EndpointReferenceState.address = NULL
# Use default end point location
LET EndpointReferenceState.ref.OpaqueID = com.Util.CreateUUIDString()
# Generate an unique string (can come from a database table id)
LET EndpointReferenceState.ref.Expiration = CURRENT + INTERVAL HOUR TO HOUR (1)
# Create expiration date in one hour to discard request after that date
... Store OpaqueID into database or use directly a database table entry
... to hold the session
END FUNCTION