hi @jaikrattariyal . How’s it going? I wrote that REST Event-Enable CodeLab… hope I can help!
If you’re still having error messages about “no REST queue bindings up”, that means your RDP is not connecting to a Solace queue correctly, the queue is needed for buffering messages before being sent out the RDP. You need to create the queue, makes sure you enable it, then in your RDP Queue Binding config, specify that queue name. Also, make sure you add your subscriptions to the queue to attract the MicroGateway topics, e.g. GET/>
.
One thought: if running the Solace broker locally as Docker container, you can’t use “localhost” as the RDP Consumer remote host… you need to use your machine IP address. Even though localhost works on your browser (hopefully), the Docker container has different networking setup.
Also, did you see this? Handy Node mini server for testing: Quick-and-dirty REST server for RDP testing — Solace Community
The POST Request Target you don’t need to worry about in Gateway mode, that’s only for Messaging mode. In the PubSub+Manager GUI, you can see on the right-hand side of the screen a “Tip”:
Post Request Target
The request-target string to use when sending requests. It identifies the target resource on the far-end REST Consumer upon which to apply the request. There are generally two common forms for the request-target. The origin-form is most often used in practice and contains the path and query components of the target URI. If the path component is empty then the client must generally send a “/” as the path. When making a request to a proxy, most often the absolute-form is required. This configuration is only applicable when the Message VPN is in REST messaging mode.
So on current local setup, I have Ubuntu in WSL2, I start the Node REST test server above, binding to “172.28…”, and then use the same IP address in my RDP REST Consumer configuration. The REST test server is listening on port 9090, and my PubSub+ broker is using the default REST port 9000. So if I go into my Chrome browser and hit http://localhost:9000/test
then it gets routed to the test server on port 9090, and I see this on the console:
Received message: GET /test at 16:55:43
HEAD:host = 172.28.123.115:9090
HEAD:content-length = 0
HEAD:solace-correlation-id = ID:Solace-f814b095ab26879d
HEAD:solace-delivery-mode = Non-Persistent
HEAD:solace-message-id = ID:Solace-f814b095ab26879d
HEAD:solace-reply-wait-time-in-ms = FOREVER
HEAD:solace-time-to-live-in-ms = 30000
HEAD:sec-ch-ua = " Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"
HEAD:sec-ch-ua-mobile = ?0
HEAD:upgrade-insecure-requests = 1
HEAD:user-agent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
HEAD:accept = text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
HEAD:sec-fetch-site = none
HEAD:sec-fetch-mode = navigate
HEAD:sec-fetch-user = ?1
HEAD:sec-fetch-dest = document
HEAD:accept-encoding = gzip, deflate, br
HEAD:accept-language = en-GB,en-US;q=0.9,en;q=0.8
HEAD:cookie = _ga=GA1.1.567890820.1615794484; fs_uid=rs.fullstory.com#13AXQ4#6077823464579072:4684159190376448#0ef8131a#/1656476679; ajs_user_id=d071d4c2-e717-41ac-b344-3ccd9f8d10cd; ajs_anonymous_id=632237e8-ab12-4e22-9036-37b493ca8bc6; TSID=d4b280e5f5850a48
BODY:
Hope that helps!!