Skip to main content

Changes In jxAPI Version 8.8

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.

Added Endpoints

Three new endpoints have been added to the jxAPI to improve compatibility with current applications:

  • An updated SOAP interface provides compatibility with the wrapped document/literal style of SOAP used by newer clients such as Axis 2 and .NET 3. The WSDL for this endpoint is at http://server:port/jxapi_wsi.wsdl; the older RPC/encoded SOAP endpoint has not changed. See C# .NET 3 for more information on using this endpoint with .NET.

  • The XML-RPC interface which was unofficially present in some previous jxAPI versions is now documented and tested, and now supports system.multicall for batch processing.

  • A JSON-RPC interface has been added. It supports all features of the JSON-RPC 2.0 specification except for named parameters.

In addition, the existing endpoints have now been consistently divided into "typed" and "untyped" styles. Untyped endpoints (XML-RPC, JSON-RPC, and the original, legacy SOAP RPC one from the earliest jxAPI versions) may allow certain methods to accept and return multiple types for more flexibility, and may lack certain methods which exist in typed endpoints due to a lack of this capability. For example, the setAttribute method is accompanied in typed endpoints by setAttributeInteger and setAttributeNumber for full functionality, while in an untyped endpoint the base setAttribute can accept any value type.

Core Database Functions

The primary tables supported by the jxAPI now support a set of core database functions which have consistent signatures for all supported tables. The standard method set includes adding, modifying, and removing records; retrieving default records; searching for single or multiple records; and (if the table supports it) group management.

Automatic Name/ID Lookup

For certain record types, a parallel set of core methods have been added which perform name-to-ID and ID-to-name conversion when storing or retrieving records. Applications which use displayed names can now work with them directly instead of requiring extra API calls to convert them to and from internal IDs.

warning

The following methods have broken links and/or missing documentation.

Name conversion is currently available for certain fields in users, projects, time and expense records; see the addFullTypeWithNames for a complete list, and modifyTypeWithNames, getTypeWithNames, and getTypesWithNames for more information.

Hidden Records

Administrators can now search the user, project, code, subcode, and subsubcode tables for hidden records, as well as hide and unhide individual records. See getHiddenTypes, getHiddenTypesWithNames, hideType, and unhideType for more information.

Inactive Users

The getUsersByActiveStatus method searches the user table with additional filtering, allowing selection of active users, inactive users, hidden users, and filtering by activity date.