Debugging Data Change Notification

Describes the data change notification process flow, and options available for diagnosing problems at each step of the process.

Process flow

This diagram shows a logical view of data change notification (DCN) between the enterprise information system (EIS) and Sybase Unwired Platform components.

DCNs notify Unwired Server when data used by an application changes on an EIS server. DCNs are used as a strategy to update very specific data automatically. See Reference: Administration APIs and System Administration for development and administration information. See also Reference: Custom Development for Unwired Server for the DCN format and other details.

DCN process flow

SUP Debug DCN.

DCN Error Reporting

Errors while processing data change notification (DCN) requests are reported with HTTP error codes. A single DCN request can contain multiple DCN messages and each message can have payload for a specific mobile business object (MBO).

If one of the DCN messages in a DCN request fail, then all the other succcessfully executed DCN messages are rolled back and a failure is reported as a DCN result with individual status messages for each DCN message. DCN messages that occur after the failed message are not processed, and failure is reported for them as well.

Success is reported only if all the DCN messages succeed.

Error codes applicable to DCN
Error code Error reason Example of error cause
400 DCN usage error A required parameter is missing from the DCN request.
401 Authentication error The user name or password is incorrect.
403 Authorization error The user does not have the SUPDCNUser assigned.
500 Internal server error The DCN filter could not be loaded.
DCN usage errors, HTTP error 400
Error Error message
JSON parsing error DCN JSON request <jsonDCNRequest> could not be parsed. Make sure it conforms to DCN JSON standard.
Required parameters not specified in DCN request like operation name, package name, username, password, dcn_request <parameter> not supplied in the DCN request.
Wrong MBO name in DCN request VirtualTableName is null. MBO name <mboName> might be incorrect or missing capitalization in the DCN request.
Sybase Unwired Platform internal errors, HTTP error code 500
Error code Error reason
Wrong attributes in DCN request Unable to set attribute names to update the cache. Check the cols section in the DCN request.
DS error in modifying cache As returned by the DS.
DCN filter classloading issues Package <packageName> or Server wide loader for filter class <filterClassName> not found. Check if DCN request contains the fully qualified name of the filter class and/or it is deployed on the SUP server.
DCN filter processing errors Error in postprocessing/preprocessing by filter class <classname>.
Error in setting domain Error in setting the current domain
Package properties not found in the SUP repository Package properties not found for package <packageName> in domain <domainName>.
Error in getting DS object to process DCN dsAPIServiceNotFound.
Error dispatching cache event by DS As returned by the DS.

Troubleshooting options

This section describes the options available for diagnosing DCN processing flow problems.

EIS
  • Verify the EIS data source (third party application, database, Web service) is running.
  • Verify the DCN code is operating correctly.

Similar to cache, updates from DCN activity are propagated to devices based on a number of other settings. Review the change detection interval property associated with the synchronization group, the notification threshold of RBS subscription, or the push-related settings for the device (MBS).

Unwired Server – data Services (DS):
  • In Sybase Control Center, enable data services (DS) subsystem logging by setting its log level. The output is written in the server log.
  • Review subsystem messages for information about getting data and sending transactions.
  • For cache activities, you can enable monitoring on the package and then use Sybase Control Center to review cache statistics captured for the period monitoring is enabled.
Unwired Server – administrative Services (MMS):
  • If you like to troubleshoot at the system-level (which will record all domain and package activities), you can enable MMS logging by setting the log level in Sybase Control Center. The output is written in the server log.
  • Select the desired application package, and enable monitoring. The captured data appears in Sybase Control Center. Use package-level logging to review data in the domain log.
  • On Unwired Server, review the errorlog.txt for any cache database system errors: <UnwiredPlatform_InstallDir\UnwiredPlatform\Servers\UnwiredServer\logs\errorlog.txt.
  • Enable monitoring to capture DCN request history and performance data.
  • Check the DCN request log in the Unwired Server HTTP Request Log (<UnwiredPlatform_InstallDir\UnwiredPlatform\Servers\UnwiredServer\logs\<hostname>-http.log). The log shows a history of DCN requests, and performance data (including counts of total requests and processing time).
Related reference
Sybase Unwired Platform End-to-End Process Flow
Debugging Message-Based Synchronization
Debugging Replication-Based Synchronization
Debugging the Cache
Debugging BlackBerry Device Development
Debugging iOS Device Development
Debugging Windows and Windows Mobile Device Development
Debugging DOE-C End-to-End Process Flow
Debugging JCO End-to-End Process Flow