Try OpenEdge Now
skip to main content
Web Services
Creating OpenEdge SOAP Web Services : Building Clients for OpenEdge SOAP Web services : Client programming for different session models : Programming clients for session-free Web services
 
Programming clients for session-free Web services
The programming model for session-free Web Services differs significantly from the session-managed model:
*After you instantiate (create) a session-free AppObject, you can call any method on the object and you never connect to an AppServer. Calls to all AppObject methods are executed in parallel (calls execute simultaneously) using the available AppServer connections in the Web service connection pool (a pool of AppServer connections maintained for each session-free Web service). Each call to the AppObject is independent of every other call and can come from any client, in any order.
*You can create SubAppObjects and ProcObjects using class factory methods. Although no connection is established for the AppObject, SubAppObjects and ProcObjects are maintained uniquely for each client, and ProcObjects reserve their own AppServer connections from the Web service connection pool. You must call each object's release method when you no longer need the object and to return each object's AppServer connections to the connection pool.
*You can call methods on a ProcObject as soon as you create it and after the client obtains the object ID for it. Calls to all ProcObject methods (internal procedures and user-defined functions) are sequential using the connection established for the ProcObject. You must call the release method on a ProcObject when you no longer need the object and to return the object's AppServer connection to the connection pool.
*You can call methods on a SubAppObject as soon as you create it and after the client obtains the object ID for it. Calls to all SubAppObject methods are executed in parallel. You must call the release method on a SubAppObject when you no longer need the object, to remove it from the list of client SubAppObjects maintained by the WSA and to return its AppServer connection to the connection pool.
*Once an object is created, you must always send object IDs with each method call on a session-free SubAppObject or ProcObject, but you never send object IDs on method calls to a session-free AppObject.
Note: SubAppObjects and ProcObjects have limited utility in the session-free model and generally should not be defined for session-free Web services. For more information, see How session models affect Web service objects.