Changes In jxAPI Version 8.8
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.
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.