Known Issues for Unwired Platform Runtime 2.2 SP02

Learn about known issues and apply workarounds for Unwired Platform runtime components.

Key to issue types:
Issue #Description
SMPONP-3629
DCN JSON parsing error

Explanation: When trying to push an upsert to the CDB, where a string has a special value (such as % or &) a parsing error is thrown. According to World Wide Web Consortium (W3C) and Internet Engineering Task Force (IETF) specifications, url and form data must be encoded before being sent to the server. Only alphanumerics [0-9, a-z, A-Z], the special characters contained in the parentheses ($ - . ! * ' () , ), and reserved characters used for specific reserved purposes may be used unencoded within a URL. Please refer to http://www.w3.org/TR/1999/REC-html401-19991224/interact/forms.html#h-17.13.4.1 and http://www.ietf.org/rfc/rfc2045.txt for details.

Workaround: The Unwired Server takes uft-8 as a URL encoded charset. So, if the client sends a request using either the GET or POST method, the request content must be encoded by utf-8 according to the URL encoding rules. For example, the URL http://serverhost:8000/dcn/DCNServlet?cmd=dcn&username=supAdmin&password=s3pAdmin&domain=default&package=sup101:1.0&dcn_request={"pkg":"dummy","messages":[{"id":"4","mbo":"Customer","op":":upsert","cols":{"id":"10004","fname":"B%B"}}]} has reserved and special characters {} [] : " %. These chars should be encoded.

If you use java to make the DCN request, use URLEncoder.encode(parameter,"UTF-8") to encode your URL query parameter or post form data before you make the request. For example, if you construct the URL listed in the previous example, you would use the following code:
String url="http://serverhost:8000/dcn/DCNServlet?cmd=dcn&username=supAdmin&password=s3pAdmin&domain=default";
   url+="&package="+URLEncoder.encode("sup101:1.0","UTF-8");
   url+="&dcn_request="+URLEncoder.encode("sup101:1.0","{\"pkg\":\"dummy\",\"messages\":[{\"id\":\"4\",\"mbo\":\"Customer\",\"op":\":upsert\",\"cols\":{\"id\":\"10004\",\"fname\":\"B%B\"}}]}");
RTC-113
Login fails when the value of the "tm_max_no" parameter in the SAP® EIS is less than the number of users concurrently logged in.

The value of the tm_max_no parameter in the SAP EIS limits the maximum number of active logins. If the number of concurrent users logged in is larger than this value, Unwired Server shows a R3_LOGIN_FAILED error.

Workaround: Increase the value of the tm_max_no parameter in the SAP EIS to a suitable value.

CR-714677
Client application subscription request fails.

If a client application uses the manual registration method, and its application connection is registered using the Unwired Server Management API SUPApplication.registerApplicationConnections(), the client application subscription request fails. The error message is:

Application connection {0} is not for appId {1}.

Workaround: None. Contact SAP Support for further help.

CR-714679
Sybase Control Center stops responding and shows Connecting with the SCC Managed Object Server message after login.

Workaround: Instead of using the standard URL (https:// < hostname > :8283/scc), if you are accessing Sybase Control Center from the same host use https://localhost:8283/scc or https:// < host name.domain > :8283/scc. Another option is to try accessing from a remote machine.

CR-717585
When assigning a personalization key using binary datatype to an operation argument or load argument with BigBinary type, if the data in the personalization key exceeds 35K, the server throws exceptions during synchronization:
[LNSupController+Finalize.m:61] Send data ExceptionSUPPersistenceException: SUPPersistenceException from synchronize: -- SUPSynchronizeException: loginFail,Sync failed: -1497 (ERROR) %1:4 %2:4000

Workaround:When a binary personalization is assigned to an operation argument or a load argument, its size cannot exceed 35K. Additionally, do not map a personalization key to big object types such as BigString or BigBinary. The length of all personalization key values combined is a maximum of 64,000 bytes. Binary values are base64 encoded, so their length must be multiplied by 1.5 to account for encoding overhead.