cancel
Showing results for 
Search instead for 
Did you mean: 

Asynchro receiver ABAP-Proxy with unexpected response

Former Member
0 Kudos

Hi Guys,

I have an asynchro senario HTTP --> PI7.1 --> ABAP-Proxy (SAP backend ECC6.0) to update a SAP table. Once the senario runs the data in the backend table will be correcttly updated, however the SAP backend sends back a response to PI and causes a error there: NO_MAPPINGPROGRAM_FOUND. As the proxy should be asynchro the response is not expected.

Who has idea, how to prevent the response from SAP backend back to PI? Thanks in advance!

Regards,

Kuan

Accepted Solutions (1)

Accepted Solutions (1)

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

i,

1-check the configuration of your inbound enterprice service(Service Interface) surely you configured it as sync. If its OK

2-check the configuration of your outbound enterprice service(Service Interface) surely you configured it as sync.

one of them are surely bad configured.

dont forget once you check if it to refresh the configuration of Interface Mapping. maybe it has old configuration and must be refreshed

if all of it is OK check the QoS in your receiver Channel, check if has EOIO or EO.

Former Member
0 Kudos

Hi, thanks for your support.

I checked, the both Interfaces are async, but the QoS in sxi_monitor is "BE". I can not find the setup to QoS on the Communication Channel.

Regards,

Kuan

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

hi,

go to SPROXY transaction and check the name of the method you are executing --> EXECUTE-ASYNCHRONOUS if does not have this name so, at the moment you configure it the inbound enterprice service was sync, the proxy was generated and later the Enterprice service was cheged to Async, but the proxy was not refreshed. so lets do this.

copy the code of the proxy, delete it, and create the proxy again an make sure the the method is ASYNCHRONOUS. if so paste the proxy code and activate it.

Former Member
0 Kudos

If you have changed your scenario from synchronous to asynchronous by doing a change in Message Interfaces then you have re-generate the proxy again and if re-generation dosen't solve the issue then re-create the inbound proxy.

Former Member
0 Kudos

Hi Rodrigo,

using SPROXY I can find my inbound Proxy is Asynchron (Tab Configuration), however couldn't find EXECUTE-ASYNCHRONOUS methode, only EXECUTE. Durring debugging I found that the methode CALL_PIPELINE_SYNC was called and a flag lv_proc_mode had a value 'S' (sync ?), but not value 'A' (async ?).

I can not explain why, becaus the Proxy was generated. I will, as you recommended, delete the Proxy and re-generate it. Hope it works.

Thanks and regards,

Kuan

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

Hi, if there is not error configuration of enterprices services in SAP PI so delete and create the proxy again. it should work. as i said before, maybe the proxy was generated when the ES was wrong configured as sync and later once the proxy was activated changed to async.

Former Member
0 Kudos

Hi Guys,

a bad news: delete and re-generate the Inbound ABAP-Proxy doesn't help. I noticed the message monitor with sxi_monitor, they have type "Synchronous" and QoS "BE". I did following steps:

1. reactive the async inbound Service Interface, message mapping and operation mapping in ESR of PI7.1.

2. delete the inbound ABAP-Proxy and the corresponding interface in ECC6.0 backend.

3. refresh the PI cache and even restart the whole PI system.

4. new generate the ABAP Proxy using SPROXY in the backend system.

re-testing the senario and have the same error!

What is missing in my system ? Why an async ABAP-Proxy can not be gerated ?

Thanks for your idea !

Regards,

Kuan

Former Member
0 Kudos

Did you check if your Service Interface/Message Interfaces in Repository if they are "Inbound Asynchronous" and everything is active?

Former Member
0 Kudos

Hi Sarvesh,

yes, I checked again, my service interface has

- Status: Active

- Category: Inbound

- Interface Pattern: Stateless

- Mode: Asynchronous

and a single external message type without fault message.

Regards,

Kuan

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

hi, lets try this.

in Integration Directory review all the configuration.

Sender CC

Receiver CC

Sender Agreement

Receiver Agreement

Receiver Determination

Interface Determination

Maybe one step is bad configured, pay much attension to the SI defined for each.also check if the sender CC was configured with QoS BE.

Former Member
0 Kudos

Hi Rodrigo,

checked all ID objects, incl. CC and interface determination. Couldn't find where to setup the QoS to BE. I guess it comes from SAP's setup.

My inbound CC is setup to XI-Adapter with URL address.

Regards,

Kuan

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

Hi, are you ussing Fault Mesasge Type ??? if yes, please check in Interface mapping that you have just una tab (Resquest) . if you configured Fault message type for your Proxy the interface Mapping request you to configure a fault message mapping.

please go to IM and press F7. if no error, check you only have a Request tab. to configure the message mapping.

Former Member
0 Kudos

Hi Rodrigo,

I am not using any Fault message. Press F7 to all my ERS objects show me no error.

Regards,

Kuan

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

could you do a tool-->test configuration in Integration directory?

let us know the result

Former Member
0 Kudos

Hi Rodrigo,

the test configuration in ID runs successfully with status "message processing complete".

The last step Receiver Agreement gives the following Trace:

<Trace level="1" type="B">CL_XMS_PLSRV_OUTBINDING-ENTER_PLSRV</Trace> <Trace level="2" type="T">O U T B O U N D - B I N D I N G </Trace> <Trace level="2" type="T"> Cache Content is up to date </Trace> <Trace level="2" type="T">determine OUTBOUND BINDING for: </Trace> <Trace level="2" type="T">-BS_CRM_U7 </Trace> <Trace level="2" type="T">-BS_BC1_100 </Trace> <Trace level="2" type="T">http://belimo.com:u7/02.SI_R3_Stati_asyn_in </Trace> <Trace level="2" type="T">Channel found: - BS_BC1_100 - CC_R3_100_XI_Receiver </Trace> <Trace level="2" type="T">no header mapping defined </Trace> <Trace level="1" type="E">CL_XMS_PLSRV_OUTBINDING-ENTER_PLSRV</Trace>

Regards,

Kuan

Former Member
0 Kudos

Hi Guys,

the good news: my problem has been identified, the error reason is the QoS=BE, as you mentioned earlier. However I couldn't find where to setup the QoS in my scenario.

A new advice showed me the HTTP URL configuration which I forgot to check, as it was maintained in the extern application. This HTTP-Post sends the message to our PI in my HTTP-to-ABAP Proxy and specified the parameter &QoS=BE, which is the reason of synchronous communication.

I changed the configuration of my HTTP-Sender URL address with the new value &QoS=EO. The scenario runs now asynchronous without any error.

More details see http://help.sap.com/saphelp_nwpi71/helpdata/en/43/64db4daf9f30b4e10000000a11466f/frameset.htm

Thanks your support and you all are rewarded.

Regards,

Kuan

Answers (2)

Answers (2)

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

hi,

1-check the configuration of your inbound enterprice service(Service Interface) surely you configured it as sync. If its OK

2-check the configuration of your outbound enterprice service(Service Interface) surely you configured it as sync.

one of them are surely bad configured.

dont forget once you check if it to refresh the configuration of Interface Mapping. maybe it has old configuration and must be refreshed

Former Member
0 Kudos

Check the QoS, I guess you will be using BE if yes then you need to change it to EO or EOIO.