I am trying to receive ebay api transaction notifications into an ASP hosted on a web server. The notifications are sent as SOAP messages and can be sent to a URL with a query string. Notifications must be responded to with HTTP 200 OK. I would like the notification to land inside a variable so that I can parse it and send it on to the next part of the system.
In the documentation they mention that this is possible, but the sample they give goes the route of subscribing to an email server. This ASP would not necessarily need to make SOAP requests, just accept SOAP messages from the ebay servers.
I am studying ASP, SOAP, and query strings, but a little guidance would be truly appreciated. Thanks!
2
Answers
This is what i have so far in my notifications.asp. When I try to send it a basic SOAP post through Postman nothing is happening. Does this look like it should work?
I tested this without the If statements checking for SOAP headers, and I posted just regular string data and it works. So the binary to string conversion and output to file is all good. Now I just need to test it with actual ebay api notifications. ;-)
This should be pretty straight forward, your Classic ASP page becomes the endpoint for the eBay Notification API (as long as you have configured it to send notifications and what URL to send them to).
You should be able to test this with a simple Classic ASP page
You might also want to check
REMOTE_HOST
to make sure that you are only getting sent messages for the expected source (this isn’t bulletproof though as the information can be spoofed).Useful Links
Accessing a request’s body (great existing answer that explains how to use
Request.BinaryRead()
to read the content and convert it to a string which you can then use in a variable or for parsing withXMLDocument.LoadXML()
).How to generate MD5 using VBScript in classic ASP? (If you want to look at a way of verifying the MD5 signature)