[jboss-user] [JBoss Messaging] - JMS over HTTP(S) -

CarstenRudat do-not-reply at jboss.com
Sat Feb 7 10:12:57 EST 2009


Hi all,

I'd like to use JMS over HTTPs. I followed the instructions on http://jboss.org/community/docs/DOC-9631 (except that I configured a https/sslservlet for the public jms connector and I use the all config).

Now, I try to run a simple example

  | Properties p = new Properties();
  | p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.HttpNamingContextFactory");
  | p.put(Context.PROVIDER_URL, "http://localhost:8080/unified-invoker/PrivateJNDIFactory/?return-exception=true");
  | p.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
  | InitialContext ctx = new InitialContext(p);
  | 
  | QueueConnectionFactory cf = (QueueConnectionFactory) ctx.lookup("/PrivateServletConnectionFactory");
  | Queue queue = (Queue) ctx.lookup("queue/testQueue");
  | 
  | // everything is ok but...
  | 
  | // now RuntimeException (Failed to download and/or install client side AOP stack)
  | QueueConnection conn = cf.createQueueConnection();
  | QueueSession session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
  | conn.start();
  | 
  | // Set the async listener
  | QueueReceiver recv = session.createReceiver(queue);
  | recv.setMessageListener(new ExListener());
  | 
  | // Send a text msg
  | QueueSender send = session.createSender(queue);
  | TextMessage tm = session.createTextMessage("Text");
  | send.send(tm);
  | log.info("sendRecvAsync, sent text=" + tm.getText());
  | send.close();
  | log.info("End sendRecvAsync");
  | 

I run my Client with javaassist.jar, jboss-aop-jdk50-client.jar, jboss-ejb3-client.jar (I tested the EJB over https, too - that works), jboss-j2ee.jar and jboss-messaging-client.jar in classpath.

I get the error:

  | Failed to download and/or install client side AOP stack
  | 
  | java.lang.RuntimeException: Failed to download and/or install client side AOP stack
  | 	at org.jboss.jms.client.JBossConnectionFactory.createConnectionInternal(JBossConnectionFactory.java:199)
  | 	at org.jboss.jms.client.JBossConnectionFactory.createQueueConnection(JBossConnectionFactory.java:101)
  | 	at org.jboss.jms.client.JBossConnectionFactory.createQueueConnection(JBossConnectionFactory.java:95)
  | 	at com.genloop.test.client.TimeTellerClient.main(TimeTellerClient.java:54)
  | Caused by: org.jboss.jms.exception.MessagingNetworkFailureException
  | 	at org.jboss.jms.client.delegate.DelegateSupport.handleThrowable(DelegateSupport.java:240)
  | 	at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:205)
  | 	at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:160)
  | 	at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.org$jboss$jms$client$delegate$ClientConnectionFactoryDelegate$getClientAOPStack$aop(ClientConnectionFactoryDelegate.java:233)
  | 	at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.getClientAOPStack(ClientConnectionFactoryDelegate.java)
  | 	at org.jboss.jms.client.ClientAOPStackLoader.load(ClientAOPStackLoader.java:75)
  | 	at org.jboss.jms.client.JBossConnectionFactory.createConnectionInternal(JBossConnectionFactory.java:192)
  | 	... 3 more
  | Caused by: org.jboss.remoting.CannotConnectException: Can not connect http client invoker.
  | 	at org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:334)
  | 	at org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:136)
  | 	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
  | 	at org.jboss.remoting.Client.invoke(Client.java:1634)
  | 	at org.jboss.remoting.Client.invoke(Client.java:548)
  | 	at org.jboss.remoting.Client.invoke(Client.java:536)
  | 	at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:189)
  | 	... 8 more
  | Caused by: java.lang.IllegalArgumentException: Invalid packet type: 1013478509
  | 	at org.jboss.jms.wireformat.PacketSupport.createPacket(PacketSupport.java:379)
  | 	at org.jboss.jms.wireformat.JMSWireFormat.read(JMSWireFormat.java:290)
  | 	at org.jboss.remoting.transport.http.HTTPClientInvoker.readResponse(HTTPClientInvoker.java:502)
  | 	at org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:306)
  | 	... 14 more
  | 

I just found to entries in JBoss Forum... but the didn't help me.
What am I doing wrong?

Thanks,
Carsten



My config:
JBoss-4.2.3.GA (all config)
JBoss Messaging 1.4.2.GA


server/all/deploy/nat-inverks.sar/META-INF/jboss-service.xml

  | <?xml version="1.0" encoding="UTF-8"?>
  | <!-- $Id: jboss-service.xml 419 2009-02-06 15:07:31Z carsten $ -->
  | <server>
  |    <!-- Expose the Naming service interface via the UnifiedInvoker using private Servlet transport -->
  |    <mbean code="org.jboss.invocation.jrmp.server.JRMPProxyFactory"
  |       name="jboss:service=proxyfactory,type=unified,transport=servlet,target=naming,loc=private">
  |       <attribute name="TargetName">jboss:service=Naming</attribute>
  |       <attribute name="JndiName"></attribute>
  |       <attribute name="ExportedInterface">org.jnp.interfaces.Naming</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>
  |       <depends optional-attribute-name="InvokerName">
  |         jboss:service=invoker,type=unified,transport=servlet,loc=private
  |       </depends>
  |    </mbean>
  |    
  |    <!-- Expose the Naming service interface via the UnifiedInvoker using public Servlet transport -->
  |    <mbean code="org.jboss.invocation.jrmp.server.JRMPProxyFactory"
  |       name="jboss:service=proxyfactory,type=unified,transport=sslservlet,target=naming,loc=public">
  |       <attribute name="TargetName">jboss:service=Naming</attribute>
  |       <attribute name="JndiName"></attribute>
  |       <attribute name="ExportedInterface">org.jnp.interfaces.Naming</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>
  |       <depends optional-attribute-name="InvokerName">
  |         jboss:service=invoker,type=unified,transport=sslservlet,loc=public
  |       </depends>
  |    </mbean>      
  |  
  |    <!-- Unified invoker (based on remoting) for invocations via private HTTP with target EJB2 beans or JNDI -->
  |    <mbean code="org.jboss.invocation.unified.server.UnifiedInvoker"
  |       name="jboss:service=invoker,type=unified,transport=servlet,loc=private">
  |       <depends>jboss:service=TransactionManager</depends>
  |       <depends>jboss.remoting:service=connector,transport=servlet,loc=private</depends>
  |    </mbean>
  | 
  |    <!-- Unified invoker (based on remoting) for invocations via public HTTP with target EJB2 beans or JNDI -->
  |    <mbean code="org.jboss.invocation.unified.server.UnifiedInvoker"
  |       name="jboss:service=invoker,type=unified,transport=sslservlet,loc=public">
  |       <depends>jboss:service=TransactionManager</depends>
  |       <depends>jboss.remoting:service=connector,transport=sslservlet,loc=public</depends>
  |    </mbean>
  | 
  |    <!-- Remoting connector for standard EJB2 beans and JNDI that are accessed 
  |    from within the internal/private network.  -->
  |    <mbean code="org.jboss.remoting.transport.Connector"
  |       name="jboss.remoting:service=connector,transport=servlet,loc=private"
  |       display-name="Servlet transport Connector">
  |       <attribute name="Configuration">
  |          <config>
  |             <invoker transport="servlet">
  |                <attribute name="dataType" isParam="true">invocation</attribute>
  |                <attribute name="marshaller" isParam="true">org.jboss.invocation.unified.marshall.InvocationMarshaller</attribute>
  |                <attribute name="unmarshaller" isParam="true">org.jboss.invocation.unified.marshall.InvocationUnMarshaller</attribute>
  |                <attribute name="return-exception" isParam="true">true</attribute>
  |                <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
  |                <attribute name="serverBindPort">8080</attribute>
  |                <attribute name="path">unified-invoker/PrivateServerInvokerServlet</attribute>
  |             </invoker>
  |             <handlers>
  |                <handler subsystem="invoker">jboss:service=invoker,type=unified,transport=servlet,loc=private</handler>
  |             </handlers>
  |          </config>
  |       </attribute>      
  |    </mbean>
  | 
  |    <!-- Remoting connector for standard EJB2 beans and JNDI that are accessed 
  |    from the public network network. Please also remember to change the client 
  |    bind url accordingly so that the EJB calls are directed the public IP -->   
  |    <mbean code="org.jboss.remoting.transport.Connector"
  |       name="jboss.remoting:service=connector,transport=sslservlet,loc=public"
  |       display-name="Servlet transport Connector">
  |       <attribute name="Configuration">
  |          <config>
  |             <invoker transport="sslservlet">
  |                <attribute name="dataType" isParam="true">invocation</attribute>
  |                <attribute name="marshaller" isParam="true">org.jboss.invocation.unified.marshall.InvocationMarshaller</attribute>
  |                <attribute name="unmarshaller" isParam="true">org.jboss.invocation.unified.marshall.InvocationUnMarshaller</attribute>
  |                <attribute name="return-exception" isParam="true">true</attribute>
  |                <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
  |                <attribute name="serverBindPort">8443</attribute>
  |                <attribute name="clientConnectAddress">${public.firewall.address}</attribute>
  |                <attribute name="clientConnectPort">8443</attribute>            
  |                <attribute name="path">unified-invoker/PublicServerInvokerServlet</attribute>
  |             </invoker>
  |             <handlers>
  |                <handler subsystem="invoker">jboss:service=invoker,type=unified,transport=sslservlet,loc=public</handler>
  |             </handlers>
  |          </config>
  |       </attribute>      
  |    </mbean>
  |    
  |    <!-- Unified invoker (based on remoting) for invocations via private HTTP with 
  |         target EJB3 beans. 
  |    -->
  |    <mbean code="org.jboss.remoting.transport.Connector"
  |       name="jboss.remoting:service=connector,transport=servlet,target=ejb3,loc=private"
  |       display-name="EJB3 Servlet transport Connector">
  |       <depends>jboss.aop:service=AspectDeployer</depends>
  |       <attribute name="InvokerLocator">
  |         servlet://${jboss.bind.address}:8080/unified-invoker/PrivateEjb3ServerInvokerServlet
  |       </attribute>  
  |       <attribute name="Configuration">
  |          <handlers>
  |             <handler subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler>
  |          </handlers>
  |       </attribute>
  |    </mbean>
  |    
  |    <!-- Unified invoker (based on remoting) for invocations via public HTTP with 
  |         target EJB3 beans. Please make sure that you also change EJB3 bean's 
  |         client-bind-url so that it contains the public IP, i.e:
  |         
  |         <client-bind-url>
  |           http://${public.firewall.address}:8080/unified-invoker/PublicEjb3ServerInvokerServlet
  |         </client-bind-url>
  |    -->
  |    <mbean code="org.jboss.remoting.transport.Connector"
  |       name="jboss.remoting:service=connector,transport=sslservlet,target=ejb3,loc=public"
  |       display-name="EJB3 Servlet SSL transport Connector">
  |       <depends>jboss.aop:service=AspectDeployer</depends>
  |       <attribute name="InvokerLocator">
  |         sslservlet://${public.firewall.address}:8443/unified-invoker/PublicEjb3ServerInvokerServlet
  |       </attribute> 
  |       <attribute name="Configuration">
  |          <config>
  |            <invoker transport="sslservlet">
  |              <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
  |              <attribute name="serverBindPort">8443</attribute>
  |              <attribute name="clientConnectAddress">${public.firewall.address}</attribute>
  |              <attribute name="clientConnectPort">8443</attribute>            
  |              <attribute name="path">unified-invoker/PublicEjb3ServerInvokerServlet</attribute>
  |            </invoker>           
  |            <handlers>
  |               <handler subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler>
  |            </handlers>
  |          </config>         
  |       </attribute>
  |    </mbean>
  |    
  |    <mbean code="org.jboss.remoting.transport.Connector"
  |       name="jboss.remoting:service=connector,transport=servlet,target=jms,loc=private"
  |       display-name="JMS Private Servlet transport Connector">
  |       <attribute name="Configuration">
  |          <config>
  |             <invoker transport="servlet">
  |                <!-- There should be no reason to change these parameters - warning!
  |                     Changing them may stop JBoss Messaging working correctly -->
  |                <attribute name="marshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
  |                <attribute name="unmarshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>               
  |                <attribute name="dataType" isParam="true">jms</attribute>
  |                <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
  |                <attribute name="serverBindPort">8080</attribute>
  |                <attribute name="numberOfCallRetries" isParam="true">1</attribute>
  |                <attribute name="pingFrequency" isParam="true">214748364</attribute>
  |                <attribute name="pingWindowFactor" isParam="true">10</attribute>
  |                <attribute name="onewayThreadPool">org.jboss.jms.server.remoting.DirectThreadPool</attribute> 
  |                <attribute name="callbackStore">org.jboss.remoting.callback.BlockingCallbackStore</attribute>
  |                <attribute name="unwrapSingletonArrays">true</attribute>
  |                <attribute name="path">unified-invoker/PrivateJmsServerInvokerServlet</attribute>
  |                <attribute name="return-exception">true</attribute>
  |                <attribute name="createUniqueObjectName">true</attribute>
  |                <attribute name="useAllParams" isParam="true">true</attribute>
  |                <!-- End immutable parameters -->
  |                                          
  |                <attribute name="stopLeaseOnFailure" isParam="true">true</attribute>
  |                
  |                <!-- Periodicity of client pings. Server window by default is twice this figure -->                               
  |                <attribute name="clientLeasePeriod" isParam="true">10000</attribute>
  |                <attribute name="validatorPingPeriod" isParam="true">10000</attribute>
  |                <attribute name="validatorPingTimeout" isParam="true">5000</attribute>
  |                <attribute name="registerCallbackListener">false</attribute>
  |                    
  |               <attribute name="timeout" isParam="true">0</attribute>
  |                       
  |                <!-- Set this to true if you want the servlet transport to block waiting for server->client traffic.
  |                Or false if you want it to poll for new traffic periodically. Recommended is blocking -->                       
  |                <attribute name="blockingMode" isParam="true">blocking</attribute>
  |                
  |                <!-- Timeout for blocking. Only has relevance if blockingMode = blocking -->
  |                <attribute name="blockingTimeout" isParam="true">30000</attribute>
  |                 
  |                <!-- The periodicity of polling. Only has relevance if blockingMode = nonblocking -->               
  |                <!--attribute name="callbackPollPeriod" isParam="true">10000</attribute-->  
  |             </invoker>
  |             <handlers>
  |                <handler subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>
  |             </handlers>
  |          </config>
  |       </attribute>
  |    </mbean>
  |    
  |    <mbean code="org.jboss.remoting.transport.Connector"
  |       name="jboss.remoting:service=connector,transport=sslservlet,target=jms,loc=public"
  |       display-name="JMS Public Servlet transport Connector">
  |       <attribute name="Configuration">
  |          <config>
  |             <invoker transport="sslservlet">
  |                <!-- There should be no reason to change these parameters - warning!
  |                     Changing them may stop JBoss Messaging working correctly -->
  |                <attribute name="marshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
  |                <attribute name="unmarshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>               
  |                <attribute name="dataType" isParam="true">jms</attribute>
  |                <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
  |                <attribute name="serverBindPort">8443</attribute>
  |                <attribute name="clientConnectAddress">${public.firewall.address}</attribute>
  |                <attribute name="clientConnectPort">8443</attribute>            
  |                <attribute name="numberOfCallRetries" isParam="true">1</attribute>
  |                <attribute name="pingFrequency" isParam="true">214748364</attribute>
  |                <attribute name="pingWindowFactor" isParam="true">10</attribute>
  |                <attribute name="onewayThreadPool">org.jboss.jms.server.remoting.DirectThreadPool</attribute> 
  |                <attribute name="callbackStore">org.jboss.remoting.callback.BlockingCallbackStore</attribute>
  |                <attribute name="unwrapSingletonArrays">true</attribute>
  |                <attribute name="path">unified-invoker/PublicJmsServerInvokerServlet</attribute>
  |                <attribute name="return-exception">true</attribute>
  |                <attribute name="createUniqueObjectName">true</attribute>
  |                <attribute name="useAllParams" isParam="true">true</attribute>
  |                <!-- End immutable parameters -->
  |                                          
  |                <attribute name="stopLeaseOnFailure" isParam="true">true</attribute>
  |                
  |                <!-- Periodicity of client pings. Server window by default is twice this figure -->                               
  |                <attribute name="clientLeasePeriod" isParam="true">10000</attribute>
  |                <attribute name="validatorPingPeriod" isParam="true">10000</attribute>
  |                <attribute name="validatorPingTimeout" isParam="true">5000</attribute>
  |                <attribute name="registerCallbackListener">false</attribute>
  |                    
  |               <attribute name="timeout" isParam="true">0</attribute>
  |                       
  |                <!-- Set this to true if you want the servlet transport to block waiting for server->client traffic.
  |                Or false if you want it to poll for new traffic periodically. Recommended is blocking -->                       
  |                <attribute name="blockingMode" isParam="true">blocking</attribute>
  |                
  |                <!-- Timeout for blocking. Only has relevance if blockingMode = blocking -->
  |                <attribute name="blockingTimeout" isParam="true">30000</attribute>
  |                 
  |                <!-- The periodicity of polling. Only has relevance if blockingMode = nonblocking -->               
  |                <!--attribute name="callbackPollPeriod" isParam="true">10000</attribute-->  
  |             </invoker>
  |             <handlers>
  |                <handler subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>
  |             </handlers>
  |          </config>
  |       </attribute>
  |    </mbean>
  |    
  |    <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
  |           name="jboss.messaging.destination:service=ServletConnectionFactory,loc=private"
  |           xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
  |       <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
  |       <depends optional-attribute-name="Connector">jboss.remoting:service=connector,transport=servlet,target=jms,loc=private</depends>
  |       <depends>jboss.messaging:service=PostOffice</depends>
  |       <attribute name="JNDIBindings">
  |          <bindings>
  |             <binding>/PrivateServletConnectionFactory</binding>
  |          </bindings>
  |       </attribute>
  |    </mbean>
  |    
  |    <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
  |           name="jboss.messaging.destination:service=ServletConnectionFactory,loc=public"
  |           xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
  |       <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
  |       <depends optional-attribute-name="Connector">jboss.remoting:service=connector,transport=sslservlet,target=jms,loc=public</depends>
  |       <depends>jboss.messaging:service=PostOffice</depends>
  |       <attribute name="JNDIBindings">
  |          <bindings>
  |             <binding>/PublicServletConnectionFactory</binding>
  |          </bindings>
  |       </attribute>
  |    </mbean>
  |    
  | </server>
  | 

server/all/deploy/nat-invokers.sar/unified-invoker.war/WEB-INF


  | <?xml version="1.0" encoding="UTF-8"?>
  | <!DOCTYPE web-app PUBLIC
  |    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  |    "http://java.sun.com/dtd/web-app_2_3.dtd">
  | <web-app>
  |   <servlet>
  |     <servlet-name>PrivateServerInvokerServlet</servlet-name>
  |     <description>The ServerInvokerServlet receives requests via HTTP protocol
  |       from within a web container and passes it onto the ServletServerInvoker 
  |       for processing.
  |     </description>
  |     <servlet-class>org.jboss.remoting.transport.servlet.web.ServerInvokerServlet</servlet-class>
  |     <init-param>
  |         <param-name>invokerName</param-name>
  |         <param-value>jboss.remoting:service=invoker,transport=servlet</param-value>
  |         <description>The servlet server invoker</description>
  |     </init-param>
  |     <!-- init-param>
  |       <param-name>locatorUrl</param-name>
  |       <param-value>
  |         <![CDATA[servlet://${jboss.bind.address}:8080/unified-invoker/ServerInvokerServlet/?dataType=invocation&marshaller=org.jboss.invocation.unified.marshall.InvocationMarshaller&unmarshaller=org.jboss.invocation.unified.marshall.InvocationUnMarshaller]]>
  |       </param-value>
  |       <description>The servlet server invoker</description>
  |     </init-param -->      
  |     <load-on-startup>1</load-on-startup>      
  |   </servlet>
  |     
  |   <servlet>
  |     <servlet-name>PublicServerInvokerServlet</servlet-name>
  |     <description>The ServerInvokerServlet receives requests via HTTPs protocol
  |       from within a web container and passes it onto the ServletServerInvoker 
  |       for processing.
  |     </description>
  |     <servlet-class>org.jboss.remoting.transport.servlet.web.ServerInvokerServlet</servlet-class>
  |     <init-param>
  |       <param-name>locatorUrl</param-name>
  |       <param-value>
  |         <![CDATA[sslservlet://${public.firewall.address}:8443/unified-invoker/PublicServerInvokerServlet/?dataType=invocation&marshaller=org.jboss.invocation.unified.marshall.InvocationMarshaller&unmarshaller=org.jboss.invocation.unified.marshall.InvocationUnMarshaller&return-exception=true]]>
  |       </param-value>
  |       <description>The servlet server invoker</description>
  |     </init-param>      
  |     <load-on-startup>1</load-on-startup>      
  |   </servlet>
  |   
  |   <servlet>
  |     <servlet-name>PrivateEjb3ServerInvokerServlet</servlet-name>
  |     <description>The ServerInvokerServlet receives requests via HTTP
  |        protocol from within a web container and passes it onto the
  |        ServletServerInvoker for processing.
  |     </description>
  |     <servlet-class>org.jboss.remoting.transport.servlet.web.ServerInvokerServlet</servlet-class>
  |     <!-- Pass locatorUrl instead of invokerName because otherwise you end up
  |     sharing the same server invoker for org.jboss.invocation and org.jboss.aop 
  |     type of invocations which you don't wanna do. Worth noting that invokerName 
  |     is hardcoded and hence you cannot create a separate one that way, hence the 
  |     use of locatorUrl. -->
  |     <init-param>
  |          <param-name>locatorUrl</param-name>
  |          <param-value>servlet://${jboss.bind.address}:8080/unified-invoker/PrivateEjb3ServerInvokerServlet</param-value>
  |          <description>The servlet server invoker</description>
  |      </init-param>
  |     <!--  init-param>
  |         <param-name>invokerName</param-name>
  |         <param-value>jboss.remoting:service=invoker,transport=servlet</param-value>
  |         <description>The servlet server invoker</description>
  |     </init-param -->
  |     <load-on-startup>1</load-on-startup>
  |   </servlet>
  |     
  |   <servlet>
  |     <servlet-name>PublicEjb3ServerInvokerServlet</servlet-name>
  |     <description>The ServerInvokerServlet receives requests via HTTPS
  |        protocol from within a web container and passes it onto the
  |        ServletServerInvoker for processing.
  |     </description>
  |     <servlet-class>org.jboss.remoting.transport.servlet.web.ServerInvokerServlet</servlet-class>
  |     <init-param>
  |          <param-name>locatorUrl</param-name>
  |          <param-value>sslservlet://${public.firewall.address}:8443/unified-invoker/PublicEjb3ServerInvokerServlet</param-value>
  |          <description>The ssl servlet server invoker locator url</description>
  |      </init-param>
  |     <load-on-startup>1</load-on-startup>
  |   </servlet>
  |     
  |   <servlet>
  |     <servlet-name>PrivateJNDIFactory</servlet-name>
  |     <description>A servlet that exposes the JBoss JNDI Naming service stub
  |     through http. The return content is a serialized
  |     MarshalledValue containg the org.jnp.interfaces.Naming stub. This
  |     configuration handles requests for the standard JNDI naming service.
  |     </description>
  |     <servlet-class>org.jboss.invocation.http.servlet.NamingFactoryServlet</servlet-class>
  |     <init-param>
  |       <param-name>namingProxyMBean</param-name>
  |       <param-value>jboss:service=proxyfactory,type=unified,transport=servlet,target=naming,loc=private</param-value>
  |     </init-param>
  |     <init-param>
  |       <param-name>proxyAttribute</param-name>
  |       <param-value>Proxy</param-value>
  |     </init-param>
  |     <load-on-startup>2</load-on-startup>
  |   </servlet>
  | 
  |   <servlet>
  |     <servlet-name>PublicJNDIFactory</servlet-name>
  |     <description>A servlet that exposes the JBoss JNDI Naming service stub
  |     through http. The return content is a serialized
  |     MarshalledValue containg the org.jnp.interfaces.Naming stub. This
  |     configuration handles requests for the standard JNDI naming service.
  |     </description>
  |     <servlet-class>org.jboss.invocation.http.servlet.NamingFactoryServlet</servlet-class>
  |     <init-param>
  |       <param-name>namingProxyMBean</param-name>
  |       <param-value>jboss:service=proxyfactory,type=unified,transport=sslservlet,target=naming,loc=public</param-value>
  |     </init-param>
  |     <init-param>
  |       <param-name>proxyAttribute</param-name>
  |       <param-value>Proxy</param-value>
  |     </init-param>
  |     <load-on-startup>2</load-on-startup>
  |   </servlet>
  | 
  |   <servlet>
  |     <servlet-name>PrivateJmsServerInvokerServlet</servlet-name>
  |     <description>The JmsServerInvokerServlet receives JMS requests via HTTP
  |       protocol from within a web container and passes it onto the
  |       ServletServerInvoker for processing.
  |     </description>
  |     <servlet-class>org.jboss.remoting.transport.servlet.web.ServerInvokerServlet</servlet-class>
  |     <init-param>
  |       <param-name>locatorUrl</param-name>
  |       <param-value>
  |         <![CDATA[servlet://${jboss.bind.address}:8080/unified-invoker/PrivateJmsServerInvokerServlet/?dataType=jms&marshaller=org.jboss.jms.wireformat.JMSWireFormat&unmarshaller=org.jboss.jms.wireformat.JMSWireFormat&numberOfCallRetries=1&pingFrequency=214748364&pingWindowFactor=10&stopLeaseOnFailure=true&clientLeasePeriod=10000&validatorPingPeriod=10000&validatorPingTimeout=5000&timeout=0&blockingMode=blocking&blockingTimeout=30000&useAllParams=true]]>
  |       </param-value>
  |       <description>The servlet server invoker</description>
  |     </init-param>
  |     <load-on-startup>1</load-on-startup>
  |   </servlet>
  |   
  |   <servlet>
  |     <servlet-name>PublicJmsServerInvokerServlet</servlet-name>
  |     <description>The JmsServerInvokerServlet receives JMS requests via HTTP
  |       protocol from within a web container and passes it onto the
  |       ServletServerInvoker for processing.
  |     </description>
  |     <servlet-class>org.jboss.remoting.transport.servlet.web.ServerInvokerServlet</servlet-class>
  |     <init-param>
  |       <param-name>locatorUrl</param-name>
  |       <param-value>
  |         <![CDATA[sslservlet://${public.firewall.address}:8443/unified-invoker/PublicJmsServerInvokerServlet/?dataType=jms&marshaller=org.jboss.jms.wireformat.JMSWireFormat&unmarshaller=org.jboss.jms.wireformat.JMSWireFormat&numberOfCallRetries=1&pingFrequency=214748364&pingWindowFactor=10&stopLeaseOnFailure=true&clientLeasePeriod=10000&validatorPingPeriod=10000&validatorPingTimeout=5000&timeout=0&blockingMode=blocking&blockingTimeout=30000&useAllParams=true]]>
  |       </param-value>
  |       <description>The servlet server invoker</description>
  |     </init-param>
  |     <load-on-startup>1</load-on-startup>
  |   </servlet>
  |   
  |     
  |   <servlet-mapping>
  |     <servlet-name>PrivateServerInvokerServlet</servlet-name>
  |     <url-pattern>/PrivateServerInvokerServlet/*</url-pattern>
  |   </servlet-mapping>
  | 
  |   <servlet-mapping>
  |     <servlet-name>PublicServerInvokerServlet</servlet-name>
  |     <url-pattern>/PublicServerInvokerServlet/*</url-pattern>
  |   </servlet-mapping>    
  | 
  |   <servlet-mapping>
  |     <servlet-name>PrivateEjb3ServerInvokerServlet</servlet-name>
  |     <url-pattern>/PrivateEjb3ServerInvokerServlet/*</url-pattern>
  |   </servlet-mapping>
  |     
  |   <servlet-mapping>
  |     <servlet-name>PublicEjb3ServerInvokerServlet</servlet-name>
  |     <url-pattern>/PublicEjb3ServerInvokerServlet/*</url-pattern>
  |   </servlet-mapping>
  |   
  |   <servlet-mapping>
  |     <servlet-name>PrivateJNDIFactory</servlet-name>
  |     <url-pattern>/PrivateJNDIFactory/*</url-pattern>
  |   </servlet-mapping>
  | 
  |   <servlet-mapping>
  |     <servlet-name>PublicJNDIFactory</servlet-name>
  |     <url-pattern>/PublicJNDIFactory/*</url-pattern>
  |   </servlet-mapping>
  |   
  |   <servlet-mapping>
  |     <servlet-name>PublicJmsServerInvokerServlet</servlet-name>
  |     <url-pattern>/PublicJmsServerInvokerServlet/*</url-pattern>
  |   </servlet-mapping>  
  |     
  |   <servlet-mapping>
  |     <servlet-name>PrivateJmsServerInvokerServlet</servlet-name>
  |     <url-pattern>/PrivateJmsServerInvokerServlet/*</url-pattern>
  |   </servlet-mapping>  
  | 
  | </web-app>
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4207928#4207928

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4207928



More information about the jboss-user mailing list