[jboss-user] [Installation, Configuration & Deployment] - Re: More ServiceBindingSet questions

jaikiran do-not-reply at jboss.com
Mon Oct 5 16:07:26 EDT 2009


Looking at the bindings-jboss-beans.xml, the "redirectPort" of the connector is calculated from the XSLT transform configuration:


  | <bean class="org.jboss.services.binding.ServiceBindingMetadata">
  |                <property name="serviceName">jboss.web:service=WebServer</property>
  |                <property name="port">8080</property>
  |                <property name="description">JBoss Web HTTP connector socket; also drives the values for the HTTPS and AJP sockets</property>
  | 
  |                <!--
  |                    Inject a XSLT transform configuration (see below) that describes
  |                    how to transform server.xml
  |                    If the binding value request doesn't require an XSL Transform, this config
  |                    will be ignored.
  |                -->
  |                <property name="serviceBindingValueSourceConfig"><inject bean="JBossWebConnectorXSLTConfig"/></property>
  |             </bean>
  | 
  | ...
  | 
  | <!-- XSL Transform to apply to server.xml -->
  |    <bean name="JBossWebConnectorXSLTConfig"
  |          class="org.jboss.services.binding.impl.XSLTServiceBindingValueSourceConfig">
  | 
  |       <constructor>
  |           <parameter><![CDATA[
  |    <xsl:stylesheet
  |          xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
  | 
  |      <xsl:output method="xml" />
  |      <xsl:param name="port"/>
  | 
  |      <xsl:variable name="portAJP" select="$port - 71"/>
  |      <xsl:variable name="portHttps" select="$port + 363"/>
  | 
  |      <xsl:template match="/">
  |        <xsl:apply-templates/>
  |      </xsl:template>
  | 
  |       <xsl:template match = "Connector">
  |          <Connector>
  |             <xsl:for-each select="@*">
  |             <xsl:choose>
  |                <xsl:when test="(name() = 'port' and . = '8080')">
  |                   <xsl:attribute name="port"><xsl:value-of select="$port" /></xsl:attribute>
  |                </xsl:when>
  |                <xsl:when test="(name() = 'port' and . = '8009')">
  |                   <xsl:attribute name="port"><xsl:value-of select="$portAJP" /></xsl:attribute>
  |                </xsl:when>
  |                <xsl:when test="(name() = 'redirectPort')">
  |                   <xsl:attribute name="redirectPort"><xsl:value-of select="$portHttps" /></xsl:attribute>
  |                </xsl:when>
  | ...
  | 

As can be seen, the "redirectPort" is set to $portHttps, which itself is calculated as $port + 363. The $port is your HTTP port which in your case, because of the offset 700, is 8780. So redirectPort = 8780 + 363 = 9143 and that's what you are seeing.

You mentioned that you have disabled HTTP connector:

anonymous wrote : so I have the HTTP and HTTPS connectors disabled in jbossweb.sar/server.xml

So to get around this issue, try setting a fixed port 8080 in the bindings-jboss-beans.xml for the HTTP port, so that the redirectPort gets calculated as 8080 + 363 = 8443. Here's an example (haven't checked for syntax or other semantics):

<!-- The CouponEngineBindings bindings are obtained by taking the base bindings and adding 700 to eac
  | h port value -->
  |    <bean name="CouponEngineBindings" class="org.jboss.services.binding.impl.ServiceBindingSet">
  |       <constructor>
  |          <!--  The name of the set -->
  |          <parameter>CouponEngineBindings</parameter>
  |          <!-- Default host name -->
  |          <parameter>${jboss.bind.address}</parameter>
  |          <!-- The port offset -->
  |          <parameter>700</parameter>
  |          <!-- Set of bindings that are specific to this ServiceBindingSet -->
  |          <parameter>
  |             <set elementClass="org.jboss.services.binding.ServiceBindingMetadata">
  |                 <bean class="org.jboss.services.binding.ServiceBindingMetadata">
  |                     <property name="serviceName">jboss:service=Naming</property>
  |                     <property name="bindingName">Port</property>
  |                     <property name="port">8299</property>
  |                     <property name="description">The listening socket for the Naming service</property>
  |                     <property name="fixedPort">true</property>
  |                 </bean>
  |                 <bean class="org.jboss.services.binding.ServiceBindingMetadata">
  |                     <property name="serviceName">jboss.web:service=WebServer</property>
  |                     <property name="bindingName">HttpsConnector</property>
  |                     <property name="port">8443</property>
  |                     <property name="description">JBoss Web HTTPS connector socket</property>
  |                     <property name="fixedPort">true</property>
  |                 </bean>
  | 		<!-- Fixed HTTP port -->
  | 		<bean class="org.jboss.services.binding.ServiceBindingMetadata">
  |                		<property name="serviceName">jboss.web:service=WebServer</property>
  |                		<property name="port">8080</property>
  |                		<property name="description">JBoss Web HTTP connector socket; also drives the values for the HTTPS and AJP sockets</property>
  | 		    	<property name="fixedPort">true</property>
  |                 </bean>
  |             </set>
  |         </parameter>
  |       </constructor>
  |    </bean>
  | 
  | 
  | 
  | 
  | 

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

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



More information about the jboss-user mailing list