Actually I got this working yesterday. Both ends are using the low-level messaging directly, there are no api files.
What threw me was the line in the documentation that says:
very late (runtime) discovery and binding of parties
I interpreted that to mean that you wouldn’t need to have a binding in the client’s adef file, but it turns out that you do. And the syntax of the binding is different to the IPC api style bindings. I used
*.ClientName -> ServerProcess.ServerInterface
The asterisk is neccessary and the clue to the names came from sdir list when it warned about the missing binding.
The reason I wanted to use low-level messaging was to reduce dependency between applications and it does do exactly that: if the server process doesn’t exist, doesn’t start or dies, the client can carry on doing other stuff (as long as it hasn’t opened a session etc). So it works fine. It would have been helpful if there was a bit of documentation about adding the binding to the adef file, either in the low-level messaging document or in the definition files section, but it’s all good now, thanks