Skip to main content

Database Manipulation: General Considerations

Warning: legacy API

This page is about the legacy SOAP-based jxAPI that is no longer updated or recommended for use in new projects. The documentation in this section may be outdated or inaccurate, and is provided for reference purposes only.

Journyx recommends using the REST-based API for new projects in most cases. However, at the current time, there are certain object types that are not available through the REST API.

The Journyx database contains many different record types, but the basic operations on each are the same: addition, deletion, modification, and retrieval. To handle all of these record types, the session object has a number of methods that are almost identical in operation, differing only in what kind of data they handle.

Passing and returning records: Whenever a record is passed to, or returned from, one of these methods using a SOAP endpoint, it is in the form of a complex type object defined in the WSDL service description. The contents of each record type are described in more detail below. (The formal XML Schema for these objects can be found in the WSDL document.) In most SOAP libraries (including Axis and MS-SOAP) records will be translated to native objects, so it will not be necessary to work directly with the XML Schema. The schema for these types defines them all to be subtypes of a generic Record type; in some languages (Java with Axis, for example) this means that all of the record classes will be subclasses of a common ancestor.

Using the XML-RPC and JSON-RPC endpoints, records are passed using the protocol's native representation for untyped structures. The type of the record is implied by context; missing or extra fields may be ignored or cause a fault, depending on the method.

String sizes: In some places in this document, strings are referred to as "small", "medium", or "large". A "small" string is limited to 30 characters in length, a "medium" string is limited to 60 characters, and a "large" string is limited to 252 characters. If you try to pass in a string that exceeds the field's size limit, the server will throw an exception (which in turn generates a SOAP Fault message.) You must keep in mind that these are the "hard" limits that the database imposes on a given's field length. Extra characters may be used to quote or "escape" special characters, including single quotes. Issues like these may make a "30 character string" really become a 35 character string when it is time to insert into the database, so err on the side of caution.

ID Fields: Every record has an id field, which is a short alphanumeric string that uniquely identifies that record. The ID field must be unique among all records of the same type. In most record types, the ID has no real significance other than its usage as a way to refer to a particular record; if no ID is supplied when a record is created, the server will generate a new one.

Please note: it is important to realize that IDs are case-sensitive. That is, xyzzy, xYzzY, and XyZZy are three different and unique IDs. This is also true for user logins.

See Core Database Functions for a list of methods available for all supported database tables.