cancel
Showing results for 
Search instead for 
Did you mean: 

ODATA Receiver adapter channel - Message could not be forwarded to the JCA adapter

Former Member
0 Kudos

Hi,

I am trying to configure ODATA receiver adapter channel on PI 7.4 SP 11 environment (Java -Single Stack). Message processing on that channel is throwing following error.

Message could not be forwarded permantely to the JCA adapter. Reason:

Message could not be forwarded to the JCA adapter. Reason: Permanent error: Adapter call failed. Reason: com.sap.aii.af.lib.ra.cci.XIAdapterException:

JPR failed to transfer the request message to the messaging system. Reason: com.sap.aii.af.lib.ra.cci.XIAdapterException:


I followed the instructions from SCN Doc-PI.SFSF Integration.DOC  – SFSF OData Dynamic query “$filter" clause at runtime.


I am passing below structure as request data for ODATA receiver channel and have set property dynamicQuery to true.



<ns1:QueryStringOptions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://sap.com/xi/XI/OData">

   <top>0</top>

   <skip>0</skip>

   <filter>$filter=firstName eq 'yyyyyy'</filter>

</ns1:QueryStringOptions>


Can you please tell me what could be wrong here..

Thanks

-Pradeep


Accepted Solutions (0)

Answers (7)

Answers (7)

0 Kudos

Hi,

please I'm having the same issue!!! How did you solve it?

former_member192561
Participant
0 Kudos

Hi Experts,

I have a scenario using Odata receiver adpater and I get the following error in CC monitoring. I get Bad Request Error as below. I use a dummy file sender which is polled at every 60 secs and this eventually calls the Odata Receiver. I want to use a sync/async bridge to write the data to file when Odata adapater gives me the data.

However its failing in the first step of getting data from Odata adapter.

Message could not be forwarded permantely to the JCA adapter. Reason: {0}

OData call failed.

com.sap.aii.adapter.lib.component.odata.exception.OsciException: 400 : HTTP/1.1 : Bad Request

Message could not be forwarded to the JCA adapter. Reason: Permanent error: Adapter call failed. Reason: com.sap.aii.af.lib.ra.cci.XIAdapterException:

Odata Service URL:

https://<host>/sap/c4c/odata/cust/v1/zcustomer/$metadata

address : https://<host>/sap/c4c/odata/cust/v1/zcustomer/CustomerCommonCollection

I have configured the Resource Path usning Ecilipse modeller:

CustomerCommonCollection?$select=ZeitungText,Zeitung,VoordeelmailText,Voordeelmail,VestigingvanoorsprongText,Vestigingvanoorsprong,VestigingsmailText,Vestigingsmail,Uitschrijfdatum,UitnodigingenText,Uitnodigingen,TripolisID,SortingFormattedName,Roepnaam

Modules on adapter:

Regards,

Amber

Former Member
0 Kudos

Can you provide NWA logs please.

Remove 'customercommoncollection' in the address field.

former_member192561
Participant
0 Kudos

Hi Avinash,

should the "CustomerCommonCollection" be provided in address filed of Adapter then? How does the adapter know which entity I'm quering if I Remove the "CustomerCommonCollection" from the Adress field?

Former Member
0 Kudos

Hello,

SAP says, url of the OData service has to be entered in the address field. refer below.

Configuring OData Adapter Receiver Channel - Creating HTTP Destination - SAP Library

the resource path you mentioned is the key here. as entity and field mentioned in the resource path, corresponding data will be fetched by the adapter.

reg, avinash

former_member192561
Participant
0 Kudos

Hi Avinash,

I'm a step further now. I have the below error now after removing "CustomerCommonCollection" from the address field.

The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request. Please check the NWA logs for more details.',8:true}" ct="TV" bMarkedAsFocussed="true" bResetTabIndex="true"Error during message processing: <error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><code>00145E5B1CC71EE19AA7192A1CD80294</code><message xml:lang="en">The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request</message></error>. Please check the NWA logs for more details.

Former Member
0 Kudos

Hello,

Can build a soap to OData scenario instead of file sender.

Reply the results please.

I don't have any idea about the error which you are facing.

reg, avi

former_member192561
Participant
0 Kudos

HI Avinash,

I did try with the SOAP sender and unfortunately the same error message yet.

I get an Exit module bean for ODATA receiver adapter by default. Should I remove the EXIT module entry to use a syn-async bridge??

Former Member
0 Kudos

Hello,

Exit module is standard one, its not recommended to remove it.

at last try, I would suggest to play around with Address field by doing trial and error method.

Try different url text in 'Address field',

e.g. Keept http://host:port/xxxxxx keep host and port name unchanged  keeping trying url with first / and second / and third /

reg, avin

former_member192561
Participant
0 Kudos

Hi Avinash,

Can I still specify Exit module along with Sync and Async Bride ??

Should I use  following sequence to get the payload from Odata Receiver ?

RequestResponseBean

EXITBean ( from Odata )

ResponseOnewayBean

0 Kudos

Hi Amber,

I was trying to post the data into OData API of S4 using OData receiver adapter , facing the same error what you got, Did you get solution for this issue? Appreciate your help

Thanks,

Aman

Former Member
0 Kudos

I think, adapter should have handles 404 response gracefully instead of throwing exception. Do you know whether there are any new releases in near feature?

Thanks again for all your responses.

-Pradeep

Former Member
0 Kudos

>> Do you know whether there are any new releases in near feature?

AFAIK its no. But other known option is to raise a ticket to SAP


reg, avinash

Former Member
0 Kudos

Hi Avinash,

Our BASIS updated the ODATA version to latest service pack and dynamic filters seems to work. However, When ODATA service returns HTTP return code of 404, adapter is not able to handle it properly.

Using REST cleint when we try ODATA service, service returns following reponse.

  • ?xml version="1.0" encoding="utf-8"?>
  • <error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
  •   <code>SY/530</code>
  •   <message xml:lang="en">No Business Partners found for the specified search criteria.</message>
  •   <innererror>
  •    <transactionid>55904B1F7F02C0DBE1000000AC15AB85</transactionid>
  •    <timestamp/>
  •    <Error_Resolution>
  •    <SAP_Transaction/>
  •    <SAP_Note/>
  •    </Error_Resolution>
  •    <errordetails>
  •    <errordetail>
  •    <code>/IWBEP/CX_MGW_BUSI_EXCEPTION</code>
  •    <message>No Business Partners found for the specified search criteria.</message>
  •    <propertyref/>
  •    <severity>error</severity>
  •    </errordetail>
  •    </errordetails>
  •   </innererror>
  • </error>

For the same request ODATA adapter is not able handle the error response.

In the developer trace log  i see below error

httpResponse Code : 404 : Not Found : HTTP/1.1: ReasonPhrase :Not Found,No Business Partners found for the specified search criteria. 404 : Not Found : HTTP/1.1 : Not Found

java.util.NoSuchElementException
[EXCEPTION]
com.sap.aii.adapter.odata.ra.xi.util.OdataAdapterException: OData call failed.
at com.sap.aii.adapter.odata.ra.xi.api.ODataAPICaller.processRequest(ODataAPICaller.java:190)
at com.sap.aii.adapter.odata.ra.xi.api.ODataAPICaller.processRequest(ODataAP...


Do you know how to handle both success and error response. looks like odata adapter not able to handle the errors.


Thanks again..

-Pradeep

Former Member
0 Kudos

OData adapter acts just like client. It makes request to endpoint and receives response(both success and error response).

IF there is failure in the making request corresponding error log will be displayed in the channel monitoring.

reg, avinash

0 Kudos

Former Member, hello.

Could you please describe how did you handle the error structure for response? I have to send it back to sender system.

Olesya.

Former Member
0 Kudos

Thanks for responding to my post. I am using ODATA adapter and SFSF. Below shows configuration of ODATA receiver channel. We are using the latest Connectivity add on 1.0. SP02. Is there release newer than this?

Former Member
0 Kudos

Hi Pradeep,


>> We are using the latest Connectivity add on 1.0. SP02. Is there release newer than this? YES.


AFAIK - Additional settings is not supported in ODATA adapter. its supports only in sfsf odata adapter.



I would suggest :


Configure the your resource path (refer the blog :


use kepler instead of Juno, you can configure resource path for top, skip, filter, use it in the channel.


p.s : Sending top skip value in a payload doesn't supported in ODATA adapter.


Hope this helps.

Please update the finding.

reg, avinash

former_member183908
Active Contributor
0 Kudos

we have ODATA adapter available in PO 7.4 SP11 please try with ODATA and see if it works.

Thanks

Former Member
0 Kudos

May I know why for you refering sfsf odata adapter configuration for ODATA adapter configuration?

reg, avinash