Depending on your use case, you may want to look into licensing Message Center for transactional deliveries, which was purpose-built for low latency, high volume simple API-driven messaging.
You can also make a makeshift Message Center by spooling requests to a queue table and processing them from a workflow with a near-realtime (e.g. 1 min) schedule. WSDL would be ordinary CRUD to the table, i.e. xtk:session#Write. A less maintainable option is to roll a custom API endpoint via schema def + js to instantiate templates and deliver them.