The InvokerURL of an HttpInvoker must be either fully qualified or defaults to the servername where JBoss is running. Neither solution is optimal, as JBoss is likely running behind a firewall, router, Apache, etc. and will error when using the JBoss server name. Fully qualifying the URL will work in this case, but threatens portability of the http-invoker.sar.
Instead of getting the MBean attributes from jboss-service.xml, why not just have the InvokerServlet determine the protocol, URI and port number from the HttpServletRequest and pass them into the MBean? This would dynamically determine these values and eleminate hard coding them in the service file.
Good suggestion when request coming through the InvokerServlet. Looking into how to dynamically determine this when not initiate by incoming web call (i.e. RMI, socket, etc.).