com.APNS.DecodeError
Decodes content of BYTE data returned from the APNS server in case of error.
Important: On March 31 2021 Apple has discontinued the APNs
legacy binary protocol. Therefore, the
com.APNS
class is now desupported. The
documentation pages related to the APNS binary protocol are still provided for information. Contact
your support center, if you need to implement APNS with the new HTTP/2-based provider API.Syntax
com.APNS.DecodeError(
data BYTE)
RETURNS (uuid STRING, error INTEGER)
- data is the
BYTE
variable containing the error data. ThisBYTE
variable must be locatedIN MEMORY
. - uuid is a Base64 encoded string containing the push notification identifier.
- error is the APNS error code returned by the server.
Usage
This method decodes the content of the BYTE
variable passed as a parameter and
received as response for a push notification message in the event of an error from the APNs server.
Note: This
BYTE
variable must be located IN MEMORY
.The uuid is a binary value that identifies the push notification message. It is returned as a Base64-encoded string.
The error returned value defines the APNs error code. For example, error will be set to 10 if the APNs server was shutdown. See the AppleĀ® Push Notification Service error reference for more details.
In the case of a decoding error, the method will raise the exception -15566, with details in the
SQLCA.SQLERRM
register.
Example
DEFINE error_data BYTE,
uuid STRING,
error INTEGER
LOCATE error_data IN MEMORY
-- Send push notification message TCP request
...
CALL req.doDataRequest(data)
LET resp = req.getResponse()
TRY
CALL resp.getDataResponse(error_data)
CALL com.APNS.DecodeError(error_data)
RETURNING uuid, ecode
...
For a complete example, see APNs push provider.