Skip to Content
Product Information
Author's profile photo Pradeep Panda

Getting Started with SAP Event Mesh

Disclaimer :

SAP Cloud Platform Enterprise Messaging has been given a name and is now known as SAP Event Mesh. Do follow this blog by Martin Bachmann to get complete details. Following this concept, this blog has been changed to include SAP Event Mesh. However, the images will still have the SAP Enterprise Messaging names.

This blog is not meant for the Enterprise Messaging in Neo which is being used in CPI. In case you want to follow this, please go through the blog written by Appala. 

 

Please note that, now only default version of SAP Event Mesh is available. Hence, may I request you to follow  this tutorial to create an instance of SAP Event Mesh. And it is available only in the productive landscape. It is not available on Trial landscape as of now.

 

Following blog was created for dev plan of SAP Event Mesh which is obsolete now.

 

Regardless of your line of business or geographic location, all businesses today have one overriding thing in common: to be a success you must be a digital business.

The rewards of digital business are considerable, but the initial transition can be challenging.  New innovations are required to connect hundreds and thousands of devices, applications, and systems in an enterprise world.

Any Enterprise system mostly deals with lot of heterogeneous systems, each one catering to a specific requirement of the overall ecosystem. In such a complex environment with diverse technologies, integration between components becomes very complicated because of business data of diverse formats. Moreover, the complexity increases many fold because of the possibility of high load, need of secure & reliable communication, making sure the systems are loosely coupled. And also in today’s world, one of the obvious demand of digital business is to be able to build a flexible, innovative cloud based solution so that, the system can capitalize on new connections between devices, applications and systems.

So, in short, to digitize and integrate your business in an enterprise world, you require a messaging infrastructure which

  • Supports high volume, high-speed communication between applications and systems.
  • Decouples communication using standard asynchronous messaging patterns.
  • Provides reliable data transmission for mission critical scenarios to ensure guaranteed message delivery.
  • Handles peak loads.
  • Supports open protocols for effective decoupling of devices and applications.
  • Facilitates event-driven architectures to consume system events in the Cloud.

SAP Event Mesh has been designed and developed as a tool to provide such features under the Integration capability umbrella of cloud foundry based SAP Business Technology Platform. Added to that, SAP Event Mesh provides the feature in serverless way and is fully managed by the provider. Thus taking most of the burdens from the developer.

 

This blog tries to provide an introduction of SAP Event Mesh. This of course shall be followed with blogs which will speak in detail about each aspect of SAP Event Mesh.

New serverless offering on SAP Business Technology Platform

  • Messaging as a service: SAP Event Mesh (generally available)
  • Functions as a service: SAP Cloud Platform Functions (beta)
  • Backend as a service: SAP Cloud Platform Backend service (beta)

These services run in a serverless environment, meaning it is SAP as cloud provider (and not you) who is responsible for managing and dynamically scaling the resources required for your applications. Resource utilization is closely monitored and caters for micro-billing meaning you pay only for the resources your applications use. Pay-per-use details are published with global availability of each service and do not apply to beta releases.

SAP Event Mesh service allows you to send and receive messages reliably using open standards and protocols. You can decouple application logic, develop micro services and support event-driven architecture.

Salient capabilities of SAP Event Mesh include

  • Connect applications and services seamlessly
  • Communicate reliably at large scale
  • Send and receive high number of messages in real-time
  • Enable event-driven applications

Salient benefits of SAP Event Mesh include

  • Easy consumption Client Libraries
  • Out-of-box event enablement for S/4 HANA and other applications in future
  • Easy Management of Queues and Topics through Dashboard
  • High throughput, low latency
  • High availability clusters and elastic scalability
  • Decoupled application logic, develop micro services

Getting Started

SAP Event Mesh falls under SAP Business Technology Platform Integrations capabilities. To be able to access the SAP Event Mesh as a pre-requisite, a user should already have a space in a Cloud Foundry sub-account.

Once the pre-requisite is satisfied, basic steps to create an SAP Event Mesh application includes

  • Create an SAP Event Mesh service instance
  • Configure SAP Event Mesh service instance
    • Queue
    • Queue Subscription
    • Application Configuration
  • Build an Application using SAP Event Mesh service instance

Create an SAP Event Mesh service instance

  1. Navigate to Spaces in CF and choose

                     Services > Service Marketplace >SAP Event Mesh Service

  1. Select a Service Plan (Lite or dev) and chose Next

  1. Parameters 

Specify parameters as below

emname : SAP Event Mesh instance name

management: true implies REST APIs for management

Enter instance name and choose Finish.

An instance of SAP Event Mesh service can also be created from Cloud Foundry Command Line Interface.

So now you have an instance of SAP Event Mesh service available for you to be able to work on it.

This blog has provided a brief introduction on SAP Event Mesh service and it’s capabilities. As mentioned above, we shall come up with several other blogs which shall provide in detail on HOW TO WORK WITH SAP Event Mesh.

References:

Assigned tags

      62 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Krish Band
      Krish Band

      Nice and crisp introduction Pradeep.

      Looking forward for the series on Enterprise Messaging.

      Author's profile photo Sai Harish B
      Sai Harish B

      nice blog

      Author's profile photo Charles Golfman
      Charles Golfman

      Very good document Pradreep.

      It is mentioned that Enterprise Messaging can be used in conjunction with the out-of-box event enablement for S/4 HANA. Is there any documentation in this regard describing how to set up S4HANA for forwarding events to Enterprise Messaging and which is the scope of bussines entities?

      Many thanks,

      Regards,

      C.

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Charles,

      Here you go.

      SAP Cloud Platform Enterprise Messaging – Making S/4HANA Event Notification Easy

      Please follow the comments section of the blog also in case you are looking for S/4HANA on-premise.

       

      regards

      Pradeep

       

      Author's profile photo Charles Golfman
      Charles Golfman

      That's fantastic Pradeep.

      So many thanks for your help.

      C.

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Charles,

      Pleasure is all ours 🙂

      Always feels good when own product is used.

      Should you need any further information/help, do not hesitate to contact us.

      H A P P Y     M E S S A G I N G.

       

      regards

      Pradeep

       

      Author's profile photo Charles Golfman
      Charles Golfman

      Hi Pradeep,

      Many thanks for your support.

      I have been playing in my CF Trial account with the REST API and everything looks very promising 🙂

      I have a few doubts and I would be very grateful if you could assist me for clarification.

      - Monitoring capabilities are minimum, basically reduced to seeing the number of messages in the queue and the overall size. Is this because I am using a trial account or because they are the only monitoring and tracing capabilities provided?

      - When retrieving a message from a queue with QoS = 1 an ACK call is needed to confirm the reception of the message and delete the message from the queue. How long does the message remain in the queue unavailable for other retrieval requests (maybe with an status "Retrieved but not confirmed") if the message has been retrieved but no ACK is received?

      - For configuring a publish and subscribe scenario based on topics with N receivers I have done the following:

      1. Create N queues for the N receivers.
      2. Create N queue subscriptions for the queues created above and assign them to the same topic name.

      After this, If I pus a message to the topic,  the message is automatically pushed  to the N queues.

      Is this the correct way to configure publish and subscribe scenarios based on topics?

      - Is there any way to restrict the access to a queue by for example Service Key?

      Many thanks for your support.

      C.

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      – Monitoring capabilities are minimum, basically reduced to seeing the number of messages in the queue and the overall size. Is this because I am using a trial account or because they are the only monitoring and tracing capabilities provided?

      [Now that the basic building blocks of the EM is ready, we are working on extensive monitoring backlog items in the upcoming takts and you will start getting new monitoring features soon]

      – When retrieving a message from a queue with QoS = 1 an ACK call is needed to confirm the reception of the message and delete the message from the queue. How long does the message remain in the queue unavailable for other retrieval requests (maybe with an status “Retrieved but not confirmed”) if the message has been retrieved but no ACK is received?

      [If a message is in unacknowledged state, it will not be delivered to any other consumer. If the consumer of the message takes too long to ack the message, there is a possibility that the message becomes available for consumption again. QoS 1 does not guarantee exactly once delivery. It’s possible a message is delivered more than once if not acknowledged soon enough.]

      – For configuring a publish and subscribe scenario based on topics with N receivers I have done the following:

      1. Create N queues for the N receivers.
      2. Create N queue subscriptions for the queues created above and assign them to the same topic name.

      Is this the correct way to configure publish and subscribe scenarios based on topics?

      [This is the correct way if the consumer does not want to lose any message published to the topic (because queues retain every message while the consumer is offline). If the published messages are of less importance, or if you are not interested in old messages (e.g. temperature, stock price etc.), you may directly consume from topic. While you are offline, you’ll lose all the messages. But as soon as you come back online, you’ll start receiving the messages.]

      – Is there any way to restrict the access to a queue by for example Service Key?

      With the new EM delivery (message bus) planned for Q1 release, this will be possible. You’ll be able to define ACL for a client, e.g. which queue/topic the client can publish to / consume from.

      If you still have any query, please let us know.

      regards

      Pradeep

      Author's profile photo Hemachandan A S
      Hemachandan A S

      Pradeep Panda – Can you able to delete complete messages of a queue? Do we have any option to remove unconsumable/dead message? Because when the message’s XOS set wrongly to 1 instead of 0 while consuming but where it was created with XOS – 0 and in this case neither the message ID is captured in the header to acknowledge nor the message is set to consumed via XOS but queue is returning empty but count is still showing as one in the queue's administration.

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Hema,

      Can you able to delete complete messages of a queue?

      Ans - No. But in future release of EM, we might have this feature embedded in it.

      Do we have any option to remove unconsumable/dead message? 

      Ans - Right now the only way to clear queue is by consuming it

      regards

      Pradeep

      Author's profile photo Hemachandan A S
      Hemachandan A S

      Thanks Pradeep Panda but how to remove dead/unconsumable message when its not reachable due to wrong XOS passed like i mentioned.

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Hema,

      At present scope, we do not have an option to delete the dead/unconsumable messages. However, we are in the process of developing the feature to be able to clear the queue completely which when comes LIVE, will also clear such dead/unconsumable/unacked messages.

      regards

      Pradeep

      Author's profile photo B. Deterd
      B. Deterd

      Need this. Takes a long time to have this feature live. Any news?

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Deterd,

      We are going based on the prioritized Backlog items.

      Anyway, i will update you talking to the development team.

      regards

      Pradeep

      Author's profile photo Charles Golfman
      Charles Golfman

      Hi Pradeep,

      Apologies for my late reply.

      Many thanks for your great answers.

      Looking forward to those new features.

      Regards,

      C.

       

      Author's profile photo Manu Bhutani
      Manu Bhutani

      Hi Pradeep,

      I have not worked on Enterrise messaging (EM) but I remember I have read on sap website that EM falls under Neo environment but not Foundry. Can you please suggest?

      Regards

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Manu,

      Please follow below two links to get more information on EM.

      SAP Cloud Platform Enterprise Messaging

      and

      Getting Started

       

      regards

      Pradeep

      Author's profile photo Charles Golfman
      Charles Golfman

      Hi Pradeep,

      Hope you are doing well.

      I am trying to use the REST API to push a message to a queue but getting an authentication error (Invalid login attempt, request does not meet our security standards, please try again) in the below HTML:

      <!DOCTYPE html>
      <html dir="ltr" lang="en" >
          <head>
              <title>trial - SAP Cloud Platform</title>
              <link href='/resources/oss/images/square-logo.png' rel='shortcut icon' />
              <meta charset='utf-8' />
              <meta name='author' content="SAP SE" />
              <meta name='copyright' content="Copyright © 2019 SAP SE. All rights reserved." />
              <meta name='robots' content='all' />
              <meta name='Description' content=""/>
              <meta name='keywords' content=""/>
              <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
              <link href="/resources/oss/stylesheets/application.css" rel="stylesheet"/>
              <link href="/resources/oss/stylesheets/sap.css" rel="stylesheet"/>
              <style>.header-image {null}</style>
              <script>
          function samlRedirect() {
              var link = null;
              if (link != null && getQueryStringValue("origin") !== "uaa")
                  location.href = link;
          }
          function getQueryStringValue (key) {
            return decodeURIComponent(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + encodeURIComponent(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1"));
          }
          samlRedirect();
      </script>
          </head>
          <body class="sapUiBody"   style="height: 100%; overflow: hidden;" >
              <header class="sapUiSraBrandingBar sapThemeBrand-asBackgroundColor"></header>
              <div class="content">
                  <div class="header">
                      <div></div>
                      <div class="header-image"></div>
                  </div>
                  <div class="island">
                      <h2 style="color:#666666 !important;">Welcome to trial!</h2>
                      <div class="island-content">
                          <div>
                              <div  class="alert alert-error">
                                  <p id="Error">Invalid login attempt, request does not meet our security standards, please try again.</p>
                              </div>
                              <form id="PwdForm" action="/login.do" method="post" novalidate="novalidate">
                                  <input type="hidden" name="X-Uaa-Csrf" value="jc1g6LoIGQFfyMZcb21Gye"/>
                                  <div >
                                      <input name="username"
                             type="text"
                             placeholder="Email"
                             class="form-control" autofocus="autofocus"/>
                                      <input name="password"
                             type="password"
                             placeholder="Password"
                             class="form-control" autocomplete="off"/>
                                      <input type="submit" value="Log On" class="island-button"/>
                                  </div>
                              </form>
                          </div>
                          <div>
                
              </div>
                      </div>
                  </div>
                  <div class="footer-spacer"></div>
              </div>
              <div class="sapUiSraFooter">
                  <div class="sapUiSraLoginLogo">
                      <img width="64" src="/resources/oss/images/sap.png"/>
                  </div>
                  <div class="sapUiSraLoginCopyright"
               title="Version: 4.24.0, Commit: 16d9900, Timestamp: 2018-11-06T01:20:26+0000, UAA: https://authentication.eu10.hana.ondemand.com">
               Copyright © 2019 SAP SE. All rights reserved.
               
          </div>
              </div>
          </body>
      </html>

      I am able to successfully get the token and place it a an authentication Bearer in the header but getting the error above.

      I had already tried this a few months back and it was working.

      Any idea about what can be wrong?

      Many thanks!

      C.

       

       

       

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Charles,

      Can you let us know, where did you get this html ? Are you using some application that you have developed or using postman?

      To be able to debug properly, can you please share the call logs, token url and test api url.

      Hope you have followed steps provided in the below link to generate token.

      how to generate token and pass to REST API

      regards

      Pradeep

      Author's profile photo Sumit Jha
      Sumit Jha

      Hi Pradeep Panda,

      Hope you are doing well.

      I have created one Webhook Subscription for a queue and it receives messages as expected. I am not sending any acknowledgement (message-id) in response header when my webhook endpoint receive any messages but still messages got de-queued.

      Do EM service consider 200 response code as a successful acknowledgement from webhook?

      Also, how long does EM service wait before re-pushing the message over webhook in case of no acknowledgment received?

      Regards,

      Sumit Jha

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Sumit,

      From the webhook a 2xx response is considered as positive acknowledgement.

      If the webhook does not respond in 30 seconds, the message is considered unacked.

       

      In case of qos 0, messages are dequeued even if the webhook does not respond with 2xx (or even if the webhook is down).

       

      On failure (non-2xx response from webhook) EMS resends the message every 15 minutes initially, and then gradually slows down the retry frequency and keeps on redelivering for 30 days unless and until your webhook positively acks the message.

      regards

      Pradeep

      Author's profile photo Sumit Jha
      Sumit Jha

      Thanks Pradeep for the valuable information you have provided.

      Can you help me out in implementing Request-Reply pattern with rest based API of SAP EM?

      How to implement Request-Reply pattern using rest API of SAP EM?

      How to maintain correlationId and replyTo queue name with every messages?

      How to create Dead Letter Queue?

      I am able to achieve this way of communication between our micro-services using RabbitMQ service available on CF’s Service Marketplace. But would like to use HTTP and REST based messaging service for the communication between our micro-services.

      Regards,

      Sumit

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Sumit,

      Inline in [bold] are my responses.

      Can you help me out in implementing Request-Reply pattern with rest based API of SAP EM?

      How to implement Request-Reply pattern using rest API of SAP EM?

      [This pattern is not supported yet in EM REST API. However it is very much there in our future backlogs list.]

      How to maintain correlationId and replyTo queue name with every messages?

      [Message ID and correlation ID will be transported for the EM service plan “default” in very near future.]

      How to create Dead Letter Queue?

      [This again has not been implemented as of now. How important is it for you ? Again its there in our future backlog items.]

       

      regards

      Pradeep

      Author's profile photo Archit Thawaria
      Archit Thawaria

      Hi Pradeep Panda

      Its look like implementation of amqp protocol over websocket is available only for nodejs and java. I am having one native application/service for which I want to connect to Enterprise Messaging using Golang.

      Will it be possible to use amqp protocol for Enterprise Messaging in Golang?

      If not then Rest protocol can be used to connect Enterprise Messaging in Golang.

      I am interested to implement synchronous request reply pattern in which client will send message in the queue and wait for the result and server will consume message from the queue and send response to client. Multiple client request can come at the same time so we need to make sure that response should reach to particular client.

      To achieve this we can create one request queue in which client will send the message and consumer will consume message from it. Other then this an anonymous response queue for every request and send this queue as a replyto queue in the message and consumer can send response on the replyto queue.

      To implement this do you support :

      1. Anonymous queue (auto deleted when consumer unsubscribes)
      2. Reply-to feature in the message
      3. Durable queue
      4. Persistent message
      5. Acknowledgement from consumer to delete a message in the queue
      6. Time out handling for a message in the queue
      7. In the documentation I found that maximum message size is 1 mb and max Number of queue is 500.Can we configure these settings to larger values?

       

      Thanks,

      Archit

       

       

       

       

       

       

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Archit,

      Not responding to your queries here as we already have same communication happening through mail..

      regards

      Pradeep

      Author's profile photo Alfonso Armenta
      Alfonso Armenta

      Hello Pradeep Panda,

      I'd be interested in reading some of the answers to those questions,currently prototyping a solution where multiple producers would post requests to a messaging system and multiple consumers would process the requests, using the topology provided by the messaging system to prioritise and scale processing.

      We would need to route back the responses to the initial producers. There are a number of options but anonymous queues for the responses would truly be the way to go for us.

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Armenta,

      Below is the response to Archit's mail.

       

      1. From the samples, it looks like libraries to connect to amqp protocol over web socket are available only for Nodejs and java. Are there any samples/libraries for native languages e.g. C++ and GoLang?

       

      [No. At present EMS Client libraries are in Java and JS only]

       

      1. Is there any restrictions on the functionality based on the protocol i.e. REST vs AQMP or MQTT?

      [ No protocol specific feature.

      However currently only S/4HANA uses MQTT.

      And use REST or AMQP depending on whether you are looking for stateless or connection oriented features.]

       

       

      1. Availability of Request reply pattern?

      Is the request reply pattern or an alternative available in on enterprise messaging queue?

      We have looking for synchronous request reply pattern in which producer will add message/request in the queue and wait for the result. The consumer will receive/process the message from the queue and send response back to the same producer.

      This pattern was available in RabbitMQ

       

      [Yes. At present we do support Request-reply pattern using AMQP. And it will soon be available on REST also.]

       

      1. Do you support below in Enterprise messaging :
      • Anonymous queue (auto deleted when consumer dies/unsubscribes)  [No]
      • Reply-to feature in the message [achieved through point 3]
      • Durable queue  [By default queues are Durable in EMS]
      • Persistent message  [Yes]
      • Acknowledgement from consumer to delete a message in the queue  [We support qos 0 and qos 1]
      • Time out handling for a message in the queue  [Yes]
      • In the documentation it looks like that maximum size of a message is 1 mb. Although rabbitmq support large sized messages (each upto 512 MB), are there any plans to increase the size? [Immediately we are not thinking of increasing the allowable size of a message]
      Author's profile photo Alfonso Armenta
      Alfonso Armenta

      This is excellent, thanks so much for your response.

      If you have any examples using request-reply and AMQP in Java, that would be great. For the moment I'm using message selectors and correlation ids but it is not ideal and somewhat convoluted.

      Just to add another question to the mix, I'm using a trial account for now and it doesn't seem to take a lot for the messaging service to respond with:

      javax.jms.JMSException: Invalid handshake response getStatus: 429 Too Many Request. I'm guessing the trial plan simply doesn't allow for a lot of concurrent connections and that a production plan would be more resilient?

       

      Again, thanks for your help.

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Request Reply example

       

      You can use correlation id and reply-to properties to achieve request-reply pattern.

       

      Producer:

      Destination replyQueue = session.createQueue("sap/my/reply-Q");

      BytesMessage byteMessage = session.createBytesMessage();

      byteMessage.setJMSCorrelationID(UUID.randomUUID().toString());

      byteMessage.setJMSReplyTo(replyQueue);

       

      Consumer:

      MessageConsumer consumer = session.createConsumer(destination);

      try {

      LOG.info("JMSCorrelationID: " + message.getJMSCorrelationID());

      LOG.info("JMSReplyTo: " + message.getJMSReplyTo());

      message.acknowledge();

      } catch (JMSException e) {

      throw new RuntimeException("Unexpected exception during message receive: " + e.getMessage(), e);

      }

      });

       

      And of you are following information on Enterprise Message, you must be knowing that, "default" enterprise message is the one which we are proposing now. Please follow the same and go through the related artifacts. Of course implementation from a developer point of view, it remains the same.

      regards

      Pradeep

      Author's profile photo Bennet Thomas
      Bennet Thomas

      Hi Pradeep,

      Thanks for this blog!

      I have a question on the below scenario depicted in the image(Micoservice sends a message to EM and EM passes this message to S4 HANA On-premise system), can S4 HANA on premise system receive message via Enterprise messaging? I am trying to find the configuration for this in SPRO under SAP Netweaver->Enterprise Event Enablement but unable to find a suitable configuration for this scenario.

      Regards,

      Bennet

       

       

       

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Bennet,

      S/4HANA On Premise system as such can not receive message from SAP Enterprise Messaging.

      However as Enterprise Messaging also has a REST Endpoint, you can configure this as an HTTP Destination in your ABAP system and perform the polling to read messages from EMS queues.

      Hope it clarifies.

      regards

      Pradeep

      Author's profile photo Murthy V
      Murthy V

      Hi Pradeep,

      i have questions related to Queue .

      1. is there a limit on number of queue we can create
      2. Is there any limit on number of active queue
      3. why the number of queues is limited in the first place? because of the looping to process them? is it because of performance ? is it because of resource issues ?

       

      regards

      murthy

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Murthy,

      Thanks for going through the mail and asking your queries.

      In the mean time i have received your similar queries in the mail box and have responded to that.

      regards

      pradeep

      Author's profile photo Charles Golfman
      Charles Golfman

      Good morning Pradeep,

       

      I am trying to create an instance in SAP Cloud Foundry trial with the below JSON and getting errors stating that namespace, version and rule parameters are not recognized.

       

      {
      "emname": "<yourmessageclientname>",
      "namespace": "<yourorgname>/<yourmessageclientname>/<uniqueID>",
      "version": "1.1.0",
      "options": {
          "management": true,
          "messagingrest": true,
          "messaging": true
      },
      "rules": {
          "queueRules": {
              "publishFilter": [
                  "${namespace}/*"
              ],
              "subscribeFilter": [
                  "${namespace}/*"
              ]
          },
          "topicRules": {
              "publishFilter": [
                  "${namespace}/*"
              ],
              "subscribeFilter": [
                  "${namespace}/*"
              ]
          }
      }
      }

      I have created the instance without those parameters but now when navigating to the application I am getting the error below:

      You are not authorized to access the Enterprise Messaging Cockpit.

      Any idea about why I am getting these two issues?

      Many thanks,

      C.

       

       

       

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Charles,

      You should not have been able to create a "default" instance in Trial environment.

      I am surprised when you say, you could create a "default" instance after removing all those parameters. Can you please share the instance name?

       

      Regarding your second issue of not being able to access the Enterprise Messaging Cockpit, it's a role issue. Follow this initial setup link for the required set up including the role set up.

       

      regards

      Pradeep

      Author's profile photo Charles Golfman
      Charles Golfman

      Hi Pradeep,

       

      Many thanks for your reply.

       

      Instance name: enterprise-messaging within P1316975171trial - trial - dev

       

      Let me know should you need furhter details.

       

      Regards,

       

      C.

       

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Thanks for the information.

       

      regards

      Pradeep

      Author's profile photo Charles Golfman
      Charles Golfman

      Hi Pradeep,

      I have just been able to logged in by the UI is showing errors when retrieving queues. So I imagine that there is something not working properly.

      Another question. I see that there are two different UIs by which you can navigate to Enterprise Messaging:

      Subaccount - Subscriptions - Enterprise Messaging - Go to Application

      Subaccount - Spaces - Services - Service Instances - Open Dahsboard

      What are the differences between these two different UIs?

      Many thanks for you help,

      C.

       

       

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Charles,

      Yes, team is looking into the inconsistency.

      Coming to the two approaches for opening the dashboard you have mentioned here

      For Default plan (which is the plan to remain) follows the subscription route to open the SAP Enterprise Messaging Dashboard. And the icon for opening Dashboard is disabled (you would have observed it).

      regards

      Pradeep

      Author's profile photo Charles Golfman
      Charles Golfman

      Hi Pradeep,

      I was wondering if your Team had been able to sort the issue?

      Many thanks for you input.

      Regards,

      C.

       

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Charles,

      As such as mentioned against your another query, "default" version of enterprise message is yet to be available on trial environment. Basically you should not be able to create an instance of "default" type enterprise messaging in trial environment.

       

      regards

      Pradeep

      Author's profile photo Charles Golfman
      Charles Golfman

      Many thanks Pradeep,

      Any idea when the default type will be available?

      In the meanwhile, can we create an instance with another type?

      Thanks,

      C.

       

      Author's profile photo Charles Golfman
      Charles Golfman

      Many thanks Pradeep,

      Please keep me posted with any update so I can progress with my POC.

      Many thanks for your assistance.

      Regards,

      C.

      Author's profile photo Mohammed Ziyauddin
      Mohammed Ziyauddin

      Hi Pradeep,

      Thanks for this nice and simple blog 🙂

      When I try this, I am not getting "Enterprise Messaging" tile in Service Marketplace.

       

      Can you please tell me how to add this "Enterprise Messaging" tile in Service Marketplace ?

       

      Thanks in Advance

      Ziya

      Author's profile photo Gregor Wolf
      Gregor Wolf

      Hi Ziya,

      can you please provide more details. Are you using SAP CP Cloud Foundry Trial or Production?

      Best regards
      Gregor

      Author's profile photo Taranamjit Kaur Dhindsa
      Taranamjit Kaur Dhindsa

      hi Pradeep ,

      Thanks for your detailed blog.

      But wrt Cloud 2005 ; I was checking your blog and SAP help - has things changed ?

      Since the configuration mentioned  below talks about automation in creation of Communication arrangement .

      https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/553a4c6b98be4c1ba7d1dfa0e9df8669.html

      Regards

      Taranam

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Taranam,

      Thanks for going though the blog.

      I think from 2005 release, communication arrangement allows to paste the enterprise message service key and then automatically all the details are created. One need not go through the complete steps i have given here.

      I am in the process of updating this blog with detailed information of the same.

      regards

      Pradeep

       

      Author's profile photo Taranamjit Kaur Dhindsa
      Taranamjit Kaur Dhindsa

      Yes Pradeep .. I just tried it out .. Lot many things have changed ..Steps have increased but its simplified since I don't need to create communication arrangement manually in Cloud system anymore . One feedback in general SAP help should have mentioned that this is newly changed process from this version as now examples in Extensibility explorer for Event Messaging refer to old help - and then we have this new process too :).. Probably standard links will also get in sync in sometime.

       

      Regards

      Taranam

      Author's profile photo Cristian Abad Chico
      Cristian Abad Chico

      Good afternoon,

      I have been able to set up an Enterprise Message Service Instance in my Trial account with the Dev plan. Unfortunately, when I launch the service I am getting the error below:

      Error

      Error

       

      Any idea about what is the root cause of the error?

       

      Many thanks,

       

      C.

      Author's profile photo Varun Khetan
      Varun Khetan

      Hi Pradeep,

      I am trying to use REST services of Enterprise Messaging using http adapter in SCPI.

      I can successfully get the access token, but when i make a call for consumption API i am getting below error.

      URL being used in SCPI HTTP adapter: -

      https://enterprise-messaging-pubsub.cfapps.eu10.hana.ondemand.com/messagingrest/v1/queues/vor1%2Femsbxvorwerk%2F1sb%2FcreateOrderErrorQueue/messages/consumption

      Error Details
      org.apache.camel.component.ahc.AhcOperationFailedException: HTTP operation failed invoking https://enterprise-messaging-pubsub.cfapps.eu10.hana.ondemand.com/messagingrest/v1/queues/vor1/emsbxvorwerk/1sb/createOrderErrorQueue/messages/consumption with statusCode: 404

      I have set the header property for Authorization: Bearer <accessToken>

      Can you please let me know if the URL for consumption API used is in a correct format?

      Regards,
      Varun

       

      Author's profile photo Varun Khetan
      Varun Khetan

      FYI. I am using the URL encoded format in SCPI HTTP Address section.

      https://enterprise-messaging-pubsub.cfapps.eu10.hana.ondemand.com/messagingrest/v1/queues/vor1%2Femsbxvorwerk%2F1sb%2FcreateOrderErrorQueue/messages/consumption

       

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Varun,

      Can you please share your service key ?

       

      regards

      Pradeep

      Author's profile photo Varun Khetan
      Varun Khetan

      Hi Pradeep,

      I am connecting Enterprise Messaging Queue, using the SCPI AMQP Websocket receiver Adapter.

      But sometimes when the SCPI Iflow tries to send the message to the AMQP receiver adapter, it give the below error.

      Uncategorized exception occurred during JMS processing; nested exception is org.apache.qpid.jms.JmsConnectionRemotelyClosedException: client failed (220012) [connection rejected (too much connections)] [condition = amqp:internal-error]

       

      Can you please let me know why such errors are observed?

      Please let me know if you need any more details.

       

      Thanks.

      Varun

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author
      Hi Varun,
      By default one EM instance can create 10 connections.

      How many connections are you creating?
      regards
      Pradeep
      Author's profile photo David Viejo
      David Viejo

      For those who faced the next error at the moment of entering the Enterprise Messaging Application even after adding the right role to your user.

      (Roles :
      Enterprise Messaging Display: It provides the ReadRole.
      Enterprise Messaging Developer: It provides the ManageRole and the TestRole.
      Enterprise Messaging)

       

      Error:

      You are not authorized to access the Enterprise Messaging Cockpit. Get your user assigned to a role to gain access, see Create User Groups, Role Collection and Assign Role Collection

      Solution:

      You just need to delete the cookies.

      Author's profile photo KALYAN PUSHKAR PATNALA
      KALYAN PUSHKAR PATNALA

      Hi Pradeep,

      I am using trial Account. Will Event Mesh be made available for trial plan. Though i was able to subscribe to Event Mesh Application using standard plan, i am not able to proceed forward with instance creation or not able to access the Event Mesh cockpit.

      Regards,

      Kalyan

       

       

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Kalyan,

      Default plan which is the active plan for Event Mesh is not available in the Trial environment. You need to use productive environment to be able to work on it.

       

      regards

      Pradeep

      Author's profile photo Gregor Wolf
      Gregor Wolf

      Dear Pradeep,

      are you kidding? The SAP Enterprise Messaging was available in BTP Trial. And now with Event Mesh it's gone? How should the SAP Community learn to use it? I hope there are already plans to provide it in the Trial environment.

      Best regards
      Gregor

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      Hi Gregor,

      Default version was never available in trial environment. However, the dev version was available and is also available now.

       

      regards

      Pradeep

      Author's profile photo Ming Liu
      Ming Liu

      Hi Pradeep,

      I can create Event Mesh Service in dev plan now, but cannot create instance yet. When go to Event Mesh application, it's empty there.

      In such case, without namespace or topic information, can we still send or receive message from the event mesh? If yes, is there any tutorial for that?

      Thanks a lot!

      Regards

      Ming

      Author's profile photo dharam verma
      dharam verma

      Hi Pradeep ,

      Thanks for this blog and your answers for all queries.

      I am new for Event Mesh and working on a solution with Event Mesh.

      I have one question

      Do we need SAP S/4HANA Cloud Extensibility service instance to receive events from S/4 Hana cloud or it is not required ? as i can see you have directly connected S/4 Hana cloud with EM in other blog

      why i am asking. because his link says it is required

      https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/d476ff058bf1413a9505c5c25cfce86b.html

       

       

       

       

      Author's profile photo Pradeep Panda
      Pradeep Panda
      Blog Post Author

      There is another blog for it. Please follow the S/4 HANA related blog.

       

      regards

      Pradeep