cancel
Showing results for 
Search instead for 
Did you mean: 

Leave Request / HR Approvals not working on Android

former_member184221
Contributor
0 Kudos

We have implemented Leave Request / HR Approvals successfully on iOS platforms iPhone and iPad

However when we loaded the apps on Android we can see the initial synchronisation authenticating against SUP but not connecting correctly with the NW Gateway / SAP ECC

Message on screen is "connecting" for 20 seconds followed by an error message "Communication Error - Cannot retrieve data, try again".

Any idea's ?

We are not using a Relay Server, but connecting directly to a SUP 2.1.2 proxy setup. And as I say this setup works fine with the iOS version of the SAP apps.

Netweaver Gateway and SAP ECC systems setup as per documents "Administrator's Guide SAP Leave Request 2.4.0.pdf" and "Administrator's Guide SAP HR Approvals 2.3.0.pdf"

Any thoughts ?

Possible answers

  • Android requires SUP 2.1.3 rather than 2.1.2 ?
  • Android requires a Relay Server ?
  • Android requires extra setup of NW Gateway or SAP ECC ?

Looking at past posts and wiki's:

I have tested with Android devices 2.3.3 and up

http://wiki.sdn.sap.com/wiki/display/mobile/SAP+Mobile+Store+Apps

I loaded the app from here

https://play.google.com/store/apps/details?id=com.sap.mobile.hcm.leaverequest

This application has access to the following:

Network communication

  • full Internet access
  • Allows the app to create network sockets.

Your personal information

  • read sensitive log data
  • Allows the app to read from the system's various log files.
  • This allows it to discover general information about what you are doing with the tablet, potentially including personal or private information.
  • Allows the app to read from the system's various log files. This allows it to discover general information about what you are doing with the phone, potentially including personal or private information.

Phone calls

  • read phone state and identity
  • Allows the app to access the phone features of the device. An app with this permission can determine the phone number and serial number of this phone, whether a call is active, the number that call is connected to and the like.

Storage

  • modify/delete USB storage contents modify/delete SD card contents
  • Allows the app to write to the USB storage. Allows the app to write to the SD card

Accepted Solutions (1)

Accepted Solutions (1)

rohith_deraje
Advisor
Advisor
0 Kudos

Hi David,

A missing "\"  or additioonal space in the in the proxy URL can cause request failure.

Since already you have succeeded with  iPhone/iPad app, I assume that your proxy URL at SCC is correct.

Can you please enable the logs for further analysis?

Enable the domain logs on scc:

Steps:

1. Domain>>DomainName>>Log>>Settings>>New >> Enter a name

2.Select "Application Connection" and chose your User

3. Select "payload" and chose "request response"

4. Select "Enable after creation"

Save the settings.

Change the log level at Server>>Logs>>Unwired Server>>Settings>>Proxy>>Debug.

Fire a new request from your application.

Under Domain>>DomainName>>Log>>General>>Proxy, click on retrive to display the latest logs:

Regards

Rohith

former_member184221
Contributor
0 Kudos

Will do, on holiday this week, but will check the logs you suggest next week

Former Member
0 Kudos

Hi David,

Did you ever find a solution to this issue? We are having the same problem.

Thanks,

Bernard

former_member184221
Contributor
0 Kudos

My colleague Neil Malik found the problem in the SUP setup. We were using a different SAP Client id of 110 and this was hardcoded in the URL. iOS did not mind this, Android objected.

Solution was to remove the client id from the URL

Sorted

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi All,

I also have a similar problem for SAP HR Approvals Apps. tried to debug the and found the following error in the log file :

2013-05-20 09:54:16.456 Application ID=com.sap.meps.hcmapproval, Application Connection ID=453f08154c0bd0b4067b28bf9e5b9e8d86b__com.sap.meps.hcmapproval, User=hrtest, Correlation ID=991359, Http Endpoint=http://centos.xxx.com:8010, Log Level=OFF, Request Type=GET, Request URL=http://centos.xxx.com:8010/sap/opu/sdata/GBHCM/APPROVALS/ItemCountCollection?$filter=CalendarPeriod%...', Response Code=403, Source=ODP Server, MISC Info=ODP Request Response Domain Logs, Thread ID=440, Node ID=supdtr/10.4.63.114, Error=No connection returned from the Connectionpool.Endpoint is not whitelisted with SUP. Hence terminating the request, Request Header Fields=[{"X-SAP-applicationId":"com.sap.meps.hcmapproval"},{"request":"GET"},{"url":"http://centos.xxx.com:8010/sap/opu/sdata/GBHCM/APPROVALS/ItemCountCollection?$filter=CalendarPeriod%...'"},{"Accept-Encoding":"gzip"},{"X-SAP-applicationId":"com.sap.meps.hcmapproval"},{"Accept-Language":"en"},{"X-SAP-deviceType":"iphone"},{"X-SAP-deviceId":"45354c0bd0b7b280c6bf9e5b0d9e8d86b"}], Response Header Fields=, Response Body=, Post Data=

when i check the log file on my iPhone device i get the following error :

Former Member
0 Kudos

I'm thinking we could use this as a troubleshooting entry in our docs. Title: Client Communication Error: Cannot Retrieve Data.

What do you think? Looks like the solution is in the URL encoding: so maybe include recommendations like "do not hardcode client IDs" "watch for missing spaces or extra chars". Any thoughts?

former_member184221
Contributor
0 Kudos

I agree, what is odd, very odd is why it effect Android and not iOS. As this is a setting that effect SUP to Gateway connection not the Mobile to SUP connection !