cancel
Showing results for 
Search instead for 
Did you mean: 

Error while executing a gateway ODATA serivce for push notifications.

Former Member
0 Kudos

Hi,

i get following error in the browser:

<error><code>CX_XSLT_RUNTIME_ERROR/EE1D984A671BED4AAD4D1BD10D509C75</code><message xml:lang="en">No valid source context supplied</message><innererror><transactionid>784C3DE2C55EF1E585DC001F29E5DD9A</transactionid><errordetails/></innererror></error>.

Please help. what could be the reason for this error?

To create this service, i followed the steps mentioned in the blog: http://scn.sap.com/community/netweaver-gateway/blog/2012/12/03/gateway-pushing-notifications-made-ea... . The only difference i made was, instead of doing it on same server, i used two servers for which system alias was passed to the consumption service .

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

I see in the attachement ICF Node for OData is inactive. Please activate the OData node and try.

Regards

Gururaj

Former Member
0 Kudos

Hi Gururaj,

when i try activating ICF node it says, service is already active(as shown in the screenshot).

actually, it is activated but somehow not getting updated under status column(grayed out).

it happened with the other services(By RFCs) also but those are working. so it shouldn't be the problem i guess.

Regards,

Rajender

Former Member
0 Kudos

Hi,

I would propose to look into txns

/iwfnd/error_log

/iwfnd/apps_log

For more info on the error

Also try clearing the cache using /iwfnd/cache_cleanup first.

Regards

Gururaj

Former Member
0 Kudos

Hi Gururaj,

I tried error, app. log but didn't find any clue from there also.

Moreover, there is a standard ext. service name- 'RMTSAMPLEFLIGHT' on my Gateway hub system ,having system alias of backend system,this service is also throwing same error.

can you suggest what can be the behind this?

Former Member
0 Kudos

Hi Rajender,

I cannot get the issue from the message itself. But probably due to a bad request it is not able to do the parsing.

To help you better, You could post some more information here.

1> The request URL you are calling

2> The detailed error log from the transactions

/iwfnd/error_log

/iwfnd/apps_log

as may be there is something we can notice.

3> put a breakpoint in the constructor of the class CX_XSLT_RUNTIME_ERROR (External BP).

4> Steps you carried out.

Regards

Guruaj

Former Member
0 Kudos

Hi Gururaj,

i have followed same steps that are mentioned in this blog:-

http://scn.sap.com/community/netweaver-gateway/blog/2012/12/03/gateway-pushing-notifications-made-ea... .except 1 step, where i used another server (backend server) for creating model and data classes.

URl i am calling :http://<Host name:port>/sap/opu/odata/sap/ZPUSHDEMO_USER/?$format=xml

In /iwfnd/apps_log , i found:

No valid source context supplied

In the context of Data Services an unknown HTTP error occurred.

In the context of Data Services an unknown internal server error occurred.

In /iwfnd/error_log:

.ERROR_CONTEXT   

..ERROR_INFO    XML Transformation error of the external model ID 'Z_PUSHDEMO_USER_0001_BE' name 'ZPUSHDEMO_USER'.

../IWFND/CX_MED_MDL_ACCESS   

...GSDO_TYPE   

...VERSION    0000

...NAMESPACE   

...MODEL_TYPE   

...ENTITY_ID   

...MODEL_IDENTIFIER    Z_PUSHDEMO_USER_0001_BE

...FIELD   

...ENTITY_NAME   

...SERVICE_GROUP   

...SERVICE_GROUP_VERSION    0000

...MODEL_NAME   

...ENTITY_TYPE   

...ABAP_TYPE   

...NAME_LENGTH    0

...SERVICE_GROUP_IDENTIFIER   

...SERVICE_GROUP_NAME   

...SERVICE_GROUP_NS   

...EXTERNAL_MODEL_NAME    ZPUSHDEMO_USER

...EXTERNAL_MODEL_TYPE   

...DATA_PROVIDER_TYPE   

...MED_ERROR_UNLIMITED   

..CX_XSLT_RUNTIME_ERROR   

...S1   

...S2    unexpected end-of-file

...I1    3000

...I2    2

...I3    1

..SERVICE_INFO   

...NAMESPACE    /SAP/

...VERSION    0001

...SERVICE_NAME    ***Hide_due_to_secure_log_level***

...REQUEST_DIRECTION    Consumer to Gateway

...AGENT    Metadata access

...SYSTEM_ALIAS    EHA_100

...DESTINATION    EHACLNT800

..SYSTEM_INFO   

...REQUEST_URI    /sap/opu/odata/sap/***Hide_due_to_secure_log_level***

...REMOTE_ADDRESS    172.25.9.120

...APPLICATION_SERVER    devgw_GWD_30

Regards,

Rajender

Former Member
0 Kudos

Hi Rajender,

Just to verify if the call reaches the SAP backend system, can you please post the error details from the transaction /IWBEP/ERROR_LOG in your backend system? Also, make sure that you clean the cache using the transactions /IWFND/CACHE_CLEANUP(in hub) and /IWBEP/CACHE_CLEANUP(in backend), run the URL and then take the error details.

Also, please do try connecting to another backend system in your landscape and check the RMTSAMPLEFLIGHT service. We'll have to make sure if the error originates from the backend system or the Gateway hub.

Thanks,

Anirvan.

Former Member
0 Kudos

Hi All,

Thanks for your all valuable feeds.

The problem has been resolved and the cause of this problem was - Backend system was not upgraded with SP3, while Gateway (hub) system was having SP5.
So, upgrading backend with SP solved the issue.

However, i am still not getting the notification in my device(mobile, connected through SUP). Is there any way to check , if hub server is pushing notif. to the SUP or SUP getting any notification.?  this notification has been triggered through the program  '/IWBEP/R_MGW_PUSH_TEST'.

Regards,

Rajender Yadav

Former Member
0 Kudos

Hi Rajender,

It's good to know that it works now. Regarding the above query, there are a few ways of troubleshooting the Notification flow in Gateway. Before that, please make sure that the configuration steps 1 & 2 mentioned in the blog here are already in place.

Now, in the backend system, you can go to the transaction SBGRFCMON(monitoring bgRFC queues) and check if there are any queues pointing to the Gateway hub which are in error state. If yes, then you can manually debug these queues and try finding out the issue. If there are no queues, there can be only two possibilities. Either the queues didn't get created due to incomplete configurations OR there have passed successfully.

If the queues have passed successfully, you can go to the transaction SBGRFCMON in the Gateway Hub and check if there are any queues in error state under the destination IWFND_ODATA_PUSH. If the queues are in error state, try to debug manually and identify the issue.

Let me know about your findings.

Regards,

Anirvan.

PS: Since you are using the report /IWBEP/R_MGW_PUSH_TEST which pushes notification for the RMTSAMPLEFLIGHT service, make sure that you have subscribed for the FlightCollection in the service.

Former Member
0 Kudos

Hi Anirvan,

yes, the service have been subscribed.

and when i checked T-code SBGRFCMON in backend system, i found that the queue is locked and when i tried to unlock by pressing 'Delete Queue Lock', it didn't give me any error but it remain locked.

also, in Gateway system , i couldn't see anything in the queues. Shows-'No data available  for selection under' under both inbound and outbound.

Kindly suggest, what could be the reason ?

Regards,

Rajender Yadav

Former Member
0 Kudos

Hi Rajender,

Once you execute the report, can you see any units for this queue on the right side of the screen? In the above screenshot, I can see "processible units: 0". If there are any units, you have to right click on the first unit, Unit Analysis->Debug Unit. This way, you will be able to debug a unit.

Just to verify if you have done the configurations correctly, I have summarized the configurations below:

1. Define the bgRFC Supervisor Destination from transaction SBGRFCCONF.

2. Go to transaction SM59 and create a RFC destination of type '3' pointing to the Gateway system. E.g. DEVCLNT100_BGRFC.

3. Go to transaction SBGRFCCONF and create an outbound destination with the same name as above.(DEVCLNT100_BGRFC). For this, you should go to the tab Scheduler: Destination in SBGRFCCONF.

4. Go to the below path in transaction SPRO and register the above destination against your Gateway system.

SAP NetWeaver->Gateway Service Enablement->Backend OData Channel->Connection Settings to SAP NetWeaver Gateway->SAP NetWeaver Gateway Settings

Once the above steps are done, please run the report and verify again.

Regards,

Anirvan.

Former Member
0 Kudos

Hi Anirvan,

yes, when i execute the report, no. of processible units increments in the queue.

But the problem is, this queue is locked and when i try to delete queue lock, nothing happens. it shows queue is locked. and when try to debug unit it gives info. message : Unit XXXX is not first in the queue; it cannot be executed after the locks are lifted. however, it is the only unit in the queue.

Thanks & Regards,

Rajender Yadav

Former Member
0 Kudos

Hi Rajender,

It looks like some internal issue from bgRFC framework. What you can do is: right click on the destination BEP_BGRFC_DEST->Mass Operations->Delete Queues in Filter. This will delete all the queues for this destination. Once you do this, please come back to SBGRFCMON in a different session and validate that all the queues are deleted.

Run the report /IWBEP/R_MGW_PUSH_TEST again and it will create a new queue. Please try to debug this and check if you get the same issue again.

Thanks,

Anirvan.

Former Member
0 Kudos

Hi Anirvan,

Happy New year 2013.

when i execute the report, i can see a unit get populated in the queue. and when i select 'Run unit with runtime analysis' it gives error-"Incorrect parameters (e.g. user)" but if i debug the same unit, i nowhere get any error , it get executed and minus from the queue.

In error logs also,/IWBEP/ERROR_LOG in backend and /IWFND/ERROR_LOG in hub system , i can't see any error.

However when i checked transaction 'SBGRFCMON' in hub i couldn't see any destinations either(like, you mentioned in your previous replies to check for any queues under the destination IWFND_ODATA_PUSH. )

I still can't find whether the triggered notification from backend is reaching gateway(hub) or getting passed from there to frontend (mobile device, via SUP).

Regards,

Rajender

Former Member
0 Kudos

Hi Anirvan,

Thank you so much for you continuous support. its working now .

The problem was in the queue. I created a new RFC destination with exactly same values and it worked. Don't know what was the problem in the previous one.

Now i am able to get a notification at my device but still it was required to debug the unit in the queue. when i execute it directly by 'Run unit with runtime analysis' it gives error-"Incorrect parameters (e.g. user)" but if just select debug the same unit then F8, it get executed and reaches to the device.

Why it is getting stuck in the queue.why doesn't it just get executed automatically.

Regards,

Rajender

Former Member
0 Kudos

Hi Rajender,

First of all, it's great that it works finally.

The bgRFC queues should get executed by themselves. If they are not getting executed, there might be some configuration issues in the bgRFC setup. Please have a look into ST22 and check if you have any bgRFC authorization related runtime errors for the bgRFC supervisor user. If there are any authorizations missing, please check if the prerequisites mentioned in this link helps.

Once this works, please mark this thread as ANSWERED.

Thanks,

Anirvan.

Former Member
0 Kudos

Hi Anirvan,

I checked in ST22 and found error of 'ASSERTION FAILED' then placed breakpoint there.

now again if i debug the unit, everything executes properly and unit disappears from the queue and reaches to the device.

But if i select 'Run unit with runtime analysis' , it reaches to a point where it calls a function 'ARFC_DEST_SHIP' . this doesn't get executed, gives sy-subrc = 21205 and later gives error 'Name or password is incorrect (repeat logon)'. then i tested RFC dest. which i mentioned under tab 'Define Inbound Dest.' while doing bgRFC configuration . It runs , also able to take remote logon of the Gateway server using this RFC destination.

Now , i am not getting any clue where to search for the solution.

Thanks & Regards,

Rajender Yadav

Former Member
0 Kudos

Hi Rajender,

Can you please confirm if the queues are getting stuck in the Gateway Hub or in the backend system? It still looks to me like a user authorization issue. In SBGRFCCONF, please go to the tab 'Define Supervisor Dest.' and double click on the destination name. This will take you to the details of this destination. Go to the 'Logon & Security' tab and note down the SAP user in the 'User' field. Now, go to SU01 and display details of this user. Go to the tab 'Roles' and check if this user has the role SAP_BC_BGRFC_SUPERVISOR assigned to itself. If not, then please get this assigned as it is one of the prerequisites. If this doesn't resolve the issue, have a look at the SAP note: 1616303 and check if it helps.

Thanks,

Anirvan.

Former Member
0 Kudos

Hi Anirvan,

Queues are getting stuck in the Backend system. and i checked , user has the role SAP_BC_BGRFC_SUPERVISOR assigned to itself.

SAP note: 1616303 also, didn't help. everything looks fine when referred  to this note.

However, when looked at Note 1755745, i found the inside of it is similar to my error.but i do not understand what it says.

Thanks,

Rajender Yadav

Former Member
0 Kudos

Hi Rajender,

  I hope that this works for you now. It looks like a bgRFC related issue and not something specific for Gateway. Please check all the logs in ST22, SU53 and try to find if there are any authorizations missing. Also, please get in touch with the system admin to get the required roles/authority.

Thanks,

Anirvan.

Former Member
0 Kudos

Hi Anirvan,

I am trying to implement push notification in gateway, i have my backend as ECC box and i am trying to expose data as RFC calls, the doubt is how to make use of RFC in case of Push notifications?

Kindly help us in this regard.

Thank you

SyambabuAllu
Contributor
0 Kudos

Hi Anirvan,

When i am trying to execute the Subscriptioncollection through GW_CLIENT with payload given below screenshot and getting error says like below.

OperationsURLs
Service Documenthttp://<hostname>:<port>/sap/opu/odata/sap/ZPUSHDEMOSRV/?$format=xml
Metadata

http://<hostname>:<port>/sap/opu/odata/sap/ZPUSHDEMOSRV/$metadata

Queryhttp://<hostname>:<port>/sap/opu/odata/sap/ZPUSHDEMOSRV/UserCollection
Readhttp://<hostname>:<port>/sap/opu/odata/sap/ZPUSHDEMOSRV/UserCollection('A.M')

Except POST method all above four operations working fine too...

Can you help me on the above issue..what i have missed in my configuration.

Thanks,

Syam

Former Member
0 Kudos

Hi Syam,

The error is due to missing roles. If you are trying to subscribe as user then you need to have certain roles which can be generated from templates like iwfnd and iwbep user templates and also subscription role needs to be assigned in both gateway and backend.

Let me know what is the role type assigned?

SyambabuAllu
Contributor
0 Kudos

Hi Rakesh,

Can you tell me what are the roles i have to assigned this system is embedded deployment.

Thanks,

Syam

arunchembra1
Participant
0 Kudos

Hi Syam,

Go to Transaction SU53 and find which role you have to assign.

Thanks,

Arun