cancel
Showing results for 
Search instead for 
Did you mean: 

Event interface is not sending message

monika_eggers
Active Participant
0 Kudos

Is there something special required to make an event interface send out its message?

I have a NW 7.40 system. All other WS/XI messages are sent from it to PI just fine.

Only the interface NewLoanBoardingProcessingNewLBrdngEventOut (in namespace http://sap.com/xi/FS-AO/Global) is not sending its message. When I put a breakpoint in the INFORM method of its proxy class CO_FSAO_NLB01_PS_EO I see that it goes through / stops there! How is it even possible that it calls the method, but no message is sent out?! I also debugged further to see if an exception is happening, but didn't come across anything.

I have tried point-to-point configuration: I went into SOAMANAGER in the NW 7.40 system that is supposed to send the message and configured a logical port for the consumer proxy. On the Event Provider Settings tab I set the checkmark for Enable Event (there is only one operation, the Inform one).

This was not successful - no messages to be seen in SRT_MONI or in SRT_UTIL -> Error logs.

I then tried disabling the logical port, hoping that a message would be sent to the PI instead. But no message shows up in sxi_monitor on the NW 7.40 system, either.

I searched the forum and found a few threads that are vaguely related to the same topic.

points to Event-Driven Message Processing - Enabling Application-to-Application Processes - SAP Library, which mentions transaction SXMSJOBSCHEDULER to start a job. I ran this and set it to run once a minute. Still no event is being sent out. By the way, how can I stop this job again or set it to a lower frequency?

The same page mentions filters and jobs. However, it is a page about configuration in the PI system. Should I actually do this in my (sending) business system? Also, some of the posts here (e.g. ) indicate that this should only be done if the goal is *not* to send out the messages immediately, but only in batches after a certain time. Right now I would prefer them to be sent right away (or at all). Is this even related to event interfaces and not something else with events?

This thread had a similar problem and mentions something was wrong "with the bgRFC", but doesn't clarify what. Any ideas what that might have been?

This blog post describes setting up things in sxmb_adm and with jobs in sm34 ... but mostly settings on the PI, to set up a dependency between two messages. Not sure if this could be at all related to getting my event interface to sent something.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Monika,

For an event driven interface to send out message via proxy, the message should be contained in some kind of data container (table, structure etc.) which should match with that of the proxy structure.

I think it is due to incompatibility of the message with respect to the proxy structure due to which it is not being triggered out.

Please let me know if you need any further help.

Best Regards,

Souvik

monika_eggers
Active Participant
0 Kudos

I don't think that this can be the case, as it is a SAP-provided interface/proxy, called by SAP coding.

Former Member
0 Kudos

Hi,

Are you using a JDBC connection? You can check that as well.

Best Regards,

Souvik

former_member190624
Active Contributor
0 Kudos

Hi Monika,

I understood that ECC is not sending out messages to PI system through ABAP proxy ? If yes, did you checked in outbound queues (SMQ2) ?did you find any messages in SXI_MONITOR ( or sxmb_moni) for this interface ?

Thanks

Hari.

monika_eggers
Active Participant
0 Kudos

Correct. (Except it's not ECC, but a different ABAP system - but that doesn't really matter.)

Nothing shows up in SXI_MONITOR or SMQ2.

But I've just noticed something - I see dumps in st22! This is the error:

UNCAUGHT_EXCEPTION CX_SOAP_SEQ_SCD_ERROR CL_SOAP_QUEUE_BGRFC

In the details I see it's in the method: SUBMIT_TO_QUEUE line 48.

Edit:

Debugging showed it is trying to read this:

SELECT SINGLE * FROM srt_rt_config CLIENT SPECIFIED INTO cs_config WHERE mandt = iv_client AND cfg_key = iv_cfg_key.

with client 000 and config key INBOUND_DEST.

In another system where things are working I see that this returns WS_BGRFC_INBOUND000.

Adding this entry on client 000 to table SRT_RT_CONFIG / changing the value in the debugger did not help, it just dumps a little later, after trying to select

SELECT SINGLE * FROM bgrfc_main_i_dst INTO l_main_i_dst WHERE destination = dest->if_bgrfc_destination_inbound~dest_name.

I could now go and add this table entry, but I don't think this is going to be successful ... something is wrong with the bgRFC configuration ... but I don't know how to make it right.

Edit 2:

Google says I need to use transaction SBGRFCCONF. So I used this transaction in client 000, went to the tab Define Inbound Destination and defined a destination WS_BGRFC_INBOUND000 with prefix BGRFC. But no entry is made in table SRT_RT_CONFIG, so I still get the same dump as before. (But the other table, bgrfc_main_i_dst now has the entry!)

Edit 3:

Creating a Supervisor Destination - Components of SAP Communication Technology - SAP Library says I need to create and register a supervisor destination, so I did. Still no entry in srt_rt_config in 000.

Then I tried random transactions starting with SRT and found SRT_ADMIN, which offers an automated set-up. After running this in client 000 I now have my entry in table SRT_RT_CONFIG!

Now it dumps a bit later, with this error: CX_QRFC_INVALID_QUEUE_NAME in CL_BGRFC_UNIT_KERNEL->CHECK_QUEUE_NAME_INBOUND

So apparently some more bgRFC and/or SRT settings are needed. I read bgRFC Configuration - Components of SAP Communication Technology - SAP Library and Technical Setup and Reset of the Web Service Runtime - ABAP Connectivity - SCN Wiki but I'm not sure what is missing. It looks to me like I have done the mandatory steps.

Running the check option in SRT_ADMIN in 000 results in:

000 Task watcher @02@  Task watcher is not active

000 Inbound destination @01@  Inbound destination WS_BGRFC_INBOUND000  is operational

000 Service destination @01@  Service destination WS_SRV_SAP_WSRT000 is operational

000 Service user @01@  Service user SAP_WSRT is operational

Is this task watcher mandatory?

Edit: Configuring the Web Service Runtime - Configuration of SAP NetWeaver - SAP Library mentions SAP_SOAP_RUNTIME_MANAGEMENT to be started in sm36, but I can't figure out how to do it, the path they describe doesn't lead to it.

(Hopefully) final edit: It looks like it's working after I went into SBGRFCCONF, tab inbound destination, and registered additional prefixes:

BGRFC

PERSC_

PERSP_

SRTQC_

SRTQP_

SRTQS_

(In the debugger I had seen that it was trying to create a queue starting with SRTQC_, but I had only registered prefix BGRFC ... I then copied the above list from another system.)

Now I see messages going out in SRT_MONI \o/ . (The logical port in SOAMANAGER is active, i.e. point-to-point communication, so nothing can be seen in SXI_MONITOR, which is expected.)

So I think everything is alright now ... I still need to check if the receiver system gets the message.

monika_eggers
Active Participant
0 Kudos

No JDBC connector involved anywhere.

monika_eggers
Active Participant
0 Kudos

Okay, with point-to-point configuration (logical port in SOAMANAGER) it definitely works fine now.

When I deactivate the logical port I hoped it would send the message to PI (visible in SXI_MONITOR), but this doesn't happen, they are visible on SRT_MONI with status red.

So are event interfaces not able to send messages to PI / do they only support point-to-point configuration, or what is wrong with that?

Former Member
0 Kudos

Hello Monika,

I once configured those bgRFC settings coming from PI side. If I remember correctly, WS adapter cannot be monitored in SXMB_MONI, it uses exclusively the SRT_MONI on ABAP side. However, it should be possible to send these messages to PI via the WS adapter. I am unable to tell you how to do that, though, since I have only configured WS receiver adapters in the past. But it might be worth to check out PI documentation about the WS sender adapter.

From my personal experience (in 7.11 still) all this bgRFC configuration was too clumsy, not very intuitive and faulty. We looked for a different solution then and used WS adapter only for SAP-SAP configuration to EP or CE. This may have change with 7.30, though.

Regards,

Jörg

Former Member
0 Kudos

Hi Monika

supposing the issue is still open ...

I set up event interface via PI recently. In this context create logical port in SOAMANAGER but select "PI runtime" as mode.

this should create abap proxy request which is visible in transaction sxi_monitor, pipeline SENDER.

give it try.

if it is not working, could you share more error details (error message)?

best regards

Jochen

monika_eggers
Active Participant
0 Kudos

Hi Jochen,

I looked through all the tabs of the logical port in SOAMANAGER, but did not find mode PI runtime. Which tab do you have this on?

The system is a NW 7.40 (ABAP) system.

Former Member
0 Kudos

Hi Monika

unfortunately I don not have complete access to this transaction myself. The port was created by the client. I attached a screenshot of the result, listed ports of specific enterprise service. PI port is active.

During creation there should be the need of select one of five configuration types, choose Process Integration Runtime

Please find a detailed description in SAP Help, Link http://help.sap.com/saphelp_nw74/helpdata/en/9e/c7a3591dc74a679bbc9716354e42af/content.htm

client system is a NW 7.31 ABAP system

hope this helps.

best regards

Jochen

engswee
Active Contributor
0 Kudos

Just to share.

This is how it looks like for SOAMANAGER on ECC6 EHP5.

monika_eggers
Active Participant
0 Kudos

That help site mentions "The consumer system must be configured as a Process Integration Engine so the logical port that you create can use the Process Integration runtime." So to me this sounds as if this can only really be used in SOAMANAGER of a PI system, not of a different ABAP system?

Former Member
0 Kudos

Hi Monika,

I think this part refers to the necessary configuration of the local integration engine available in this ABAP system, transaction sxmb_adm, sldapicust etc.

But for sure it doesn't need to be a PI system.

In our use case it is a ABAP system (IS-) and a SAP PO (java only) sysstem.

logical port is created in IS-H ABAP backend using transaction soamanager.

Have you tried already to adjust your created logical port or created a new once and defined it as active?

best regards

Jochen

Former Member
0 Kudos

Hi Monika,

Did you solve the issue?

I´m having same issue. When I execute report "RNHCF_EVENTS_PROCESSOR" to process EVENTs stored in table NHCF_EVENT, I can see messages in SXI_MONITOR (ECC system) with status "Event Distributed Successfully" but there is not  any messages in SXI_MONITOR (PI system).

I configured SRT_TOOLS according SAP NOTE "1043195 - Configuration of the Web service runtime ".

SAP PI version 7.4.

Maybe could be a SAP PI version issue?

Thanks in advanced.

Regards.

Manuel

monika_eggers
Active Participant
0 Kudos

I don't think it's a PI version issue. Can you see the messages in SRT_UTIL / SRT_MONI?

Former Member
0 Kudos

Hi Monika,

As far as I feel, sending WS message from SRT_MONI to PI in SXMB_MONI is not going to be possible since it passes through SMQ2 (Inbound Queue) first. In PI, SMQ2 always takes messages from tRFC (SM58). Also, for the messages to pass through SM58, the messages need to be in XML format atleast. For this you can check in PI sender communication channel if a WS message to XML converter is being used for this interface. May be you can check it and compare it with other interfaces where WS enters into PI. If you do not get there, then you can check in Repository where for mapping WS can be converted in XML. May be then it will be possible.

Thanks and Regards,

Souvik