That’s a weird use of the service name: it’s supposed to be human-readable since it tends to show up in browseable lists. If you’re trying to communicate the listener’s URL to clients that are browsing, that’s not the right way to do it — instead the client should resolve the service and use the resolved hostname. (My P2P sample app shows how to do this.)
I think that “:” and “/“ are valid characters in the service name, but maybe not; that could explain why your service doesn’t get published.
Also, have you used an app like Bonjour Browser to verify that the service isn’t published?
—Jens