After the framework for the Web Service client has been created (see How to Write a Basic .NET Web Service and How to Write a Basic Java Web Service for examples), there are some basic steps required to write the guts of the Web Service:
- Before using any Web Service method, including initialize, setup a WS-Security UserToken with userid='session', password='nosession'.
- Before calling any authentication-required methods, change the WS-Security UserToken to have userid='session', password=<sessionid returned from ContextWS.initialize.
- Before using any Web Service, call initialize on it to prepare the session.
- Before using any functional Web Service methods, login to authenticate the client program.

The client machine's time must be within 5 minutes of the server's time for web services to function.
Authentication can be done in one of three ways:
- User Based: This method only works when the Blackboard Learn server is using default (RDBMS) authentication. It will fail for any other auth methods. Use the ContextWS.login(...) method for user based authentication.
- Tool Based: This method requires interaction from the Blackboard Learn System Administrator as well as an initial call to registerTool (performed during the installation of the client program) to prepare the tool on the Blackboard Learn server for the System Administrator to set a password on. Refer to Tool Registration for more information. Use the ContextWS.loginTool(...) method for tool based authentication.
- Ticket Based: This method is only used by a Proxy Tool server. Refer to the proxy tool documentation for information on obtaining the ticket. Once obtained, there is only a small time window to use it in a call to the loginTicket method to authenticate yourself. Once authenticated the session will act as if it was user-authenticated for the user whose ticket was created for you.