2 Replies Latest reply on Jun 27, 2004 11:24 PM by bghcm

    JNDI over HTTP

    bghcm

      I have an application using JNDI and EJBs without error on 3.2.3.
      Due to firewall issues I am trying to enable JNDI using http-invoker.
      However, after following the directions on page 218 of the docs I'm able to access the invoker servlet but it returns:

      javax.naming.NamingException:
      Failed to retrieve Naming interface [Root exception is java.io.IOException:
      Invalid reply content seen: class org.jboss.invocation.InvocationException]


      implying (I think) that the servlet is unable to access the standard JNDI interface on the JMX bus (running on 1099).

      jndi properties look like this-

      java.naming.factory.initial=org.jboss.naming.HttpNamingContextFactory
      java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
      java.naming.provider.url=http://192.168.0.99:8080/invoker/JMXInvokerServlet
      


      and mbean configuration for the invoker is:

      <!-- Expose the Naming service interface via HTTP -->
       <mbean code="org.jboss.invocation.http.server.HttpProxyFactory"
       name="jboss:service=invoker,type=http,target=Naming">
       <!-- The Naming service we are proxying -->
       <attribute name="InvokerName">jboss:service=Naming</attribute>
       <!-- Compose the invoker URL from the cluster node address -->
       <attribute name="InvokerURLPrefix">http://</attribute>
       <attribute name="InvokerURLSuffix">:8080/invoker/JMXInvokerServlet</attribute>
       <attribute name="UseHostName">false</attribute>
       <attribute name="ExportedInterface">org.jnp.interfaces.Naming</attribute>
       <attribute name="JndiName"></attribute>
       <attribute name="ClientInterceptors">
       <interceptors>
       <interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor>
       <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
       <interceptor>org.jboss.naming.interceptors.ExceptionInterceptor</interceptor>
       <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
       </interceptors>
       </attribute>
       </mbean>
      


      Does anyone have JNDI working over HTTP? What am I missing here? Any comments appreciated. Thanks