HowTo – Send Test Messages to the Adapter Engine (to an Integrated Configuration)
The possibility to send test messages to the Integration Engine is widely known.
If you try to test at ‘Component Monitoring -> Adapter Engine’ you will get an error. (screenshot )
So how can we send test messages also directly to the Adapter Engine Messaging System?
How can we send a message to “any arbitrary Integrated Configuration” as if this ICO would be triggered by it’s configured sender channel?
There are a lot of threads on SCN claiming that this is not possible for the AE. Well, it is.
Here is how you do it:
First you have to create yourself 2 objects in Integration Directory (you need to do that just once)
- You need a SOAP sender channel that is configured to use the XI protocol
I recommend you create yourself a particular channel that is intended just for sending test messages. It doesn’t matter which component the channel belongs to.
- You also need an Integrated Configuration or Sender Agreement that references the channel
You can choose any (dummy) Interface and Namespace. (If you use an Integrated Configuration then you must, of course, also set Receiver, Receiver Interface and Receiver Channel. You can also use dummies here.)
That’s it, we are ready to send test messages
- go to: Runtime Workbench -> Component Monitoring -> Adapter Engine -> Test Message
(if you are working on 7.30/7.31 single stack then you can still reach Runtime Workbench at
http://<host>:<port>/rwb/index.jsp)
- use the url
http://<host>:<port>/XISOAPAdapter/MessageServlet?channel=<party>:<service>:<channel>
- for <party>, <service> and <channel> put the values of your SOAP “dummy channel” (not the sender channel of the ICO you actually want to test)
- make sure you set both colons in <party>:<service>:<channel>, it is mandatory even if you don’t have a party
- set the payload and header values for the interface you want to test, put username and password
- press “Send Message” 🙂
So far,
Karsten Möhwald
Hi Karsten,
hehe tricky but this is not sending messages to the AE/AAE/AEX engines
(so I believe you should change the blog's subject),
let me explain:
the idea of sending a message to the AE/AAE/AEX is that:
a) you don't give the channel name
b) you can use it with any adapter (no additional config required)
what you did is you've created a normal SOAP-> something flow
which can always be invoked from any test page,
currently there's no way to send test messages to AE/AAE/AEX like in the past we could do to IE
Regards,
Michal Krawczyk
Hi Michal,
in the url you give the channel name of the dummy channel, but not the sender channel of the ICO you actually want to test. 😉
So with this procedure you will test any ICO as if it would be triggered by it's true sender channel.
Of course this is not a full end-to-end test, since the functionality of the sender channel will not be tested with this approach. But this is the same for IE.
Regards,
Karsten
ah 🙂
if this is working like that then you're right ! 🙂
need to check it myself too,
thanks for the update, excellent news Karsten!
Regards,
Michal Krawczyk
Hi Karsten,
great blog - thanks for sharing.
Cheers,
Daniel
Hi Karsten - Thanks for the blog.. I did try but getting an error why sending the message.
"Error While Sending Message: 500 Internal Server Error"
I used a dummy channel ( some other channel which belongs to the same business system)
and the dummy channel is configured with XI 3.0 protocol.
Anything else to check?
Hi Karsten, This tweak in to trigger messages for ICO is much awaited. Thanks for sharing.
I tested this scenario on PI 7.1 to trigger message to ICO. My ID has admin access on ABAP/Java stack. But still I receive "500:Internal Server Error".
Are we missing some config.
Regards,
Pranav
Hi Karsten,
Quite Useful Info. Thank you for same.
But, As with others, i am also facing,
Error While Sending Message: 500 Internal Server Error
If this AAE testing works, it helps a lot in End-to-End testing activities.
santosh.
Hi Santosh, Pranav and Hareesh,
Best Regards,
Karsten
It worked 🙂
I was sending some invalid payload and i just noticed the error in the dummy channel.
I just put some valid xml message and it went through..
Thank you very much Karsten
It did worked 🙂 .
Thank you Karsten.u rock 😎 .
I was doing mistake by providing main ICO service & channel in link.
http://<host>:<port>/XISOAPAdapter/MessageServlet?channel=<party>:<service>:<channel>
Once i gave Dummy service & channel. It worked.
-santosh.
Hi,
Error While Sending Message: 500 Internal Server Error
another reason would be if we send message without creating dummy ICO.
Regards,
Muni
Hi Karsten,
Nice one.
Best Regards,
Sudharshan N A
Karsten,
Hats Off 🙂
excellent one....
We were looking for this for our AEX version.
Will help a lot till we get fix from SAP.
Best Regards
Divyesh
Hi Karsten,
thanks for sharing this useful trick.
Regards
Dingjun
Hello Karsten,
Tricky solution and certainly useful.
Thanks
Amit Srivastava
Hi Karsten,
I did some debugging yesterday to prepare the SOAP UI version:
Michal's PO tips: How to send messages directly to AEX (ICO) - adapter independent - SOAPUI version
so now we can use your idea with any kind of testing tool 🙂
BTW
you had an amazing idea to test it like that !
Regards,
Michal Krawczyk
Hi Karsten,
Good Day!
For PI consultants, this blog is very useful and thanks for sharing. I liked it very much!
Regards,
Hari Suseelan
Nice exploring Karsten and your idea is allowing for more tweaks as Michal did one..
Best Regards,
Praveen Gujjeti
Nice one, Karsten, thanks!
regards
Mauri
Hi Karsten,
Thx for the workaround. I will try it out, but from the reactions i see here it will surely work.
However i would also like to point out that it is a workaround, and i find a proper test tool missing from the new PI java stack only.
It's a really a step back for developers.
Maybe someone (Michal?) can shed some light on how and when SAP will make up for this omission?
Regards
Robert
Hi Robert,
based on my latest information SAP plans to offer the test tool from RWB in a similar way also for AEX and PIMON. But I haven't got an official information about the concrete availability date, but my hope is that this feature will be included in one of the upcoming SPS in 2014.
Regards, Holger
Hi Holger,
A wonderful new, thank you for sharing the "spoiler" 🙂
Regards.
Hi Karsten,
I have a doubt. You said in <party>:<service>:<channel> we need to mention the dummy receiver channel details. However, in the screenshot you have attached i saw you have put the details of the sender channel. And in the header information 'Sender Component' you have mentioned some component which is different from the one you have used for the sender channel..
When i tried to use the receiver channel details it threw me 500:internal error.
when i used the sender channel details in the url it worked.. the message was sent 🙂
I don't know where you read that, i did not write it like that.
Gargi,
Actually, Karsten meant to use the DUMMY CC (with sender soap channel) in endpoint in RWB test message.
Hope it is clear now.
Divyesh
nice explanation................ 🙂
Hi Karsten and Divyesh..
understood ur point ... 🙂
thanks!! 🙂
Some thing new to learn...
Great!!!
I always wanted to use this and now there is a way, thanks for sharing this!
Nice one. Looking for this from long time.
Its really helpful. But I am confised with one point. when we have RWB Test message window for putting in test message then why its mandatory to use SOAP adapter channel. why cant we use it with file adapter channel?
Is it because we have to XI3.0 protocol on JAVA stack engine?
Thanks
Anand
Just perfect - thanks a lot for sharing this blog!
Excellent idea...Thank you 🙂
Regards,
A.Neelima.
Excellent idea!!!, thanks for sharing.
Cheers,
Rakesh
Thank you. I will test this trick.
Es funktioniert wirklich!
Interessant! Wie bist Du darauf gekommen, Karsten?
Hi all,
fyi, we plan to ship a proper send test message capability for ICOs with 7.31 SP12
Regards
Alex
Hi Alex,
Any update on "Test configuration" option in Integration Directory. this is also missing in single stack.
receiver/interface determination conditions testing "Test configuration" is really helpful.
Regards,
Muni.
Very good trick!
Hi,
I want to do some testing, without involve partner system, and search sdn for the easy way of testing.
Glad to see this and also know SAP will provide a better testing tool.
I am uisng PO7.31 with ehp 1 now. Yes, I would like SAP to bring back the testing configuration function, it actually useful.
as to the testing tool, after going over the blog and commenta, I decide still use my old trick, using http adapter with WFtech, I find it is still easiest way to run a test through PI run time. all you need to do is create a http_aae sender(need be under same business component or service), replace the sender channel in integration configure, set up the url correctly in wfetch. less than a couple minutes work.
if any interesting, I can write a blog to introduce it.
Thanks.--Wenning
Hi All,
We are also facing the same issue while testing ICO interface as above mentioned. I have modified the URL like this http://xxxxxxxx/XISOAPAdapter/MessageServlet?channel=:Dummy:SOAP_TEST_Channel.
Still I am facing this issue "Error While Sending Message: 500 Internal Server Error"
Please do needful by providing resolution paths.
Thanks In Advance,
Anusha Penneru
Hi Anush,
Please follow Below threads.
How to capture SOAP fault when using "Do not use SOAP envelope" parameter
XI 3.0 soap receiver in nosoap mode with HTTP status code
might be it help you.
Regards,
Rajendar K
Hi All,
We have a scenario where receiver is determined using a XHEADER name which is coming from another PI box .
How can I trigger a message from AE for such a scenario?
Thanks in advance,
Satanik
Hi,
I am seeing "Error While Sending Message: 500 Internal Server Error " when i try to push the data from adapter engine RWB
I have done all the steps mentioned in the blog and also i have done following debugging steps:
1. I have verified that the URL is correct
2. Communication channel is started and working fine
3. Header details are correct as I have copied them directly from ICO in Integration directory
4. The message content is correct as i have copied a successful payload from production
5. I have checked with both dummy Channel+dummy ICO as well as soap sender with sender agreement. Both return the same internal server error 500
6. I have also tried to send the message to a Proxy sender ICO interface (Dev). Still same error.
7. Tried with J2EE_Admin user to check if it is an authorization issue. But again, I received the same error.
I am testing on SAP PI 7.30. Can you please suggest where I am going wrong??
Thanks,
Sampath
Adding to my comment,
When I paste the URL in the browser, it shows "Message Servlet Status OK". But, when I modify part of the URL beyond /MessageServlet , it doesn't have any effect at all. Even if I make the URL as ..../MessageServlet?channel=:Easterbunny, the web page still displays "Message Servlet Status OK"
I feel the request is not going beyond message servlet level. Do you know what could be the issue?
Thanks
Sampath
Hello Sampath,
Hope you are using XI protocol for the dummy SOAP channel. Please use the same channel detail in the url and even then if you get 500 internal server error then check the channel montoring log for the channel.
You will get the exact reason for that error.
Thanks,
Satanik
Hi Satanik,
Yes, I am using XI protocol. Surprisingly I'm not getting anything in audit logs in my channel monitoring. I have also checked using XPI inspector, but there is no log. I am not sure where I'm going wrong here.
Regards,
Sampath
Hi Sampath,
Hope you have checked the logs of the dummy channel.
Please check if you are providing the sender details correctly while triggering the message.
Also, can you confirm if the ICO has any xheader condition for determining receivers.
Thanks,
Satanik
Hi All,
I tried using the above to send the data to PI, I have Proxy to SOAP and since proxy code is not in ECC yet, i am tying to send the data to PI and see if this goes to 3rd party via SOAP Rcvr.
After putting all the config ( first created IC then via sender agreement), i am getting Error While Sending Message: 500 Internal Server Error. In Adpater monitoring, i see error
senderChannel 'f493e307a14739cc9eb399869fc30989': Catching exception calling messaging system
Please advice if anything else need to be done. I have checked the URL and tried with payload correctly
Hi All,
I can be able to send test messages for ICO interfaces by using testing tab of runtime and send testmessage option.
Regards
Mukheed
Thank you !
Since SCN migration to new platform I lost my bookmarks, so glad I could finally get back to this post. Does anyone know if there is a newer more standard way to test the ICO which SAP might have re-introduced?
Hi Aaron,
I just created a new one.
https://blogs.sap.com/2017/10/27/how-to-test-message-pi-aex-without-backend/
Enjoy 😀
what if I created and successfully sent the message but it doesn't appear in the message monitor? what to do? what to check?