Web Service Request and Responses
This documentation is designed to inform advanced users on the "behind the scenes" communication between the Open Dental Web Version and the web service. In this document, the web version will be referenced as the "client" and the web service will be referenced as the "server". This is not the same as our Middle Tier for the OpenDentalServer.
Requests sent from the client are always handled using data transfer objects or dto. A typical request will look like:
Note: There will be some form of credentials that will get passed along with every message. The DTO request example will change in the future to reflect those changes.
MethodName: The method to call. This must always be in "Class.Method" format.
Params: A list of DtoObjects. This node will typically contain a DtoObject for each parameter of the calling method. It is possible that the Params list will be empty if the calling method does not require parameters.
All requests are executed by the server and then a response message is sent back.
The different types of responses will directly correlate to the type of DTO request that is being made. Meaning, a DtoGetInt object will return an int and a DtoGetTable will return a DataTable. However, there will always be a possibility that a DtoException will get returned. The code needs to be able to handle both types of responses. Some examples of how those responses would look are:
Data table response:
Data Tables: The node "Name" is the name of the table. "Cols" will contain child nodes called Col which hold the name of each column. Eventually we will enhance the DTO to hold the types of the columns as well. "Cells" will hold the information that will populate the rows and columns, or in our case, the y's and x's. There can be any number of rows (y's) but there has to be an x for every column or Col.
Note: Notice that empty columns are represented as <x/>.
DtoExceptions: For now, any exceptions that occur on the server will respond with a DtoException that just has the error message text nested in the msg node.
Open Dental Software 1-503-363-5432