0 Replies Latest reply on May 13, 2010 5:49 PM by Jesús Sidharta Quintana Estrada

    Trouble with embedded registry in JBoss ESB.

    Jesús Sidharta Quintana Estrada Newbie

      Hi everyone, here’s the thing I’ve been trying to use the embedded registry in jboss esb, so I read about it and find out that I have to modify some files in the deploy folder. The modifies are as follows:

      In file jboss-service.xml located in

      C:\jbossesb-server-4.7\server\default\deploy\jbossesb-registry.sar\META-IN

       

       

      <?xml version="1.0" encoding="UTF-8"?>
      
      <server>
          <mbean code="org.jboss.internal.soa.esb.dependencies.JuddiRMIService" name="jboss.esb:service=JuddiRMI" description="Juddi RMI Service">
              
              
              <attribute name="PropertiesResourceFile">jbossesb-properties.xml</attribute>
              <attribute name="PropertiesFileDir">C:\jbossesb-server-4.7\server\default\deploy\jbossesb.sar</attribute>
              <attribute name="NodeName">default</attribute>
              <attribute name="NumThreads">20</attribute>
              <attribute name="Timeout">20</attribute>
              
              <depends>jboss.esb:deployment=jbossesb.esb</depends>
              <depends>jboss.jca:service=DataSourceBinding,name=juddiDB</depends>
              <depends>jboss.esb:service=PropertyService</depends>
          </mbean>
          <loader-repository>
              jboss.esb:loader=jbossesb-registry.sar
          </loader-repository>
      </server>
      

       

      In file jbossesb-properties.xml located in

      C:\jbossesb-server-4.7\server\default\deploy\jbossesb.sar

       

       

      <?xml version="1.0" encoding="ISO-8859-1"?>
      <!--
        JBoss, Home of Professional Open Source
        Copyright 2006, JBoss Inc., and others contributors as indicated 
        by the @authors tag. All rights reserved. 
        See the copyright.txt in the distribution for a
        full listing of individual contributors. 
        This copyrighted material is made available to anyone wishing to use,
        modify, copy, or redistribute it subject to the terms and conditions
        of the GNU Lesser General Public License, v. 2.1.
        This program is distributed in the hope that it will be useful, but WITHOUT A 
        WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
        PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
        You should have received a copy of the GNU Lesser General Public License,
        v.2.1 along with this distribution; if not, write to the Free Software
        Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
        MA  02110-1301, USA.
        
        (C) 2005-2006,
        @author JBoss Inc.
      -->
      <!-- $Id: jbossesb-unittest-properties.xml $ -->
      <!--
        These options are described in the JBossESB manual.
        Defaults are provided here for convenience only.
       
        Please read through this file prior to using the system, and consider
        updating the specified entries.
      -->
      <esb
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
          <properties name="core">
              <property name="org.jboss.soa.esb.jndi.server.context.factory" value="org.jnp.interfaces.NamingContextFactory"/>
              <property name="org.jboss.soa.esb.jndi.server.url" value="${jboss.esb.bind.address}:1099"/>
              <property name="org.jboss.soa.esb.persistence.connection.factory"     value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
              <property name="org.jboss.soa.esb.loadbalancer.policy" value="org.jboss.soa.esb.listeners.ha.RoundRobin"/>
              <property name="org.jboss.soa.esb.mime.text.types" value="text/*;application/xml;application/*-xml"/>
              <property name="jboss.esb.invm.scope.default" value="NONE"/>
          </properties>
          <properties name="security">
              <property name="org.jboss.soa.esb.services.security.implementationClass" value="org.jboss.internal.soa.esb.services.security.JaasSecurityService"/>
              <property name="org.jboss.soa.esb.services.security.callbackHandler" value="org.jboss.internal.soa.esb.services.security.UserPassCallbackHandler"/>
              
              <!-- Algorithm and key size for internal sealing of objects -->
              <property name="org.jboss.soa.esb.services.security.sealAlgorithm" value="TripleDES"/>
              <property name="org.jboss.soa.esb.services.security.sealKeySize" value="168"/>
              
              <!-- Timeout in milliseconds. After which the context is considered invalid -->
              <property name="org.jboss.soa.esb.services.security.contextTimeout" value="30000"/>
              <property name="org.jboss.soa.esb.services.security.contextPropagatorImplementationClass" value="org.jboss.internal.soa.esb.services.security.JBossASContextPropagator"/>
      
              <!-- Public keystore configuration used to hold keys for encryption/decryption -->
              <property name="org.jboss.soa.esb.services.security.publicKeystore" value="/publicKeyStore"/>
              <property name="org.jboss.soa.esb.services.security.publicKeystorePassword" value="testKeystorePassword"/>
              <property name="org.jboss.soa.esb.services.security.publicKeyAlias" value="testAlias"/>
              <property name="org.jboss.soa.esb.services.security.publicKeyPassword" value="testPassword"/>
              <property name="org.jboss.soa.esb.services.security.publicKeyTransformation" value="RSA/ECB/PKCS1Padding"/>
      
          </properties>
          <properties name="registry">
              <property name="org.jboss.soa.esb.registry.queryManagerURI" value="org.apache.juddi.v3.client.transport.wrapper.UDDIInquiryService#inquire"/>
              <property name="org.jboss.soa.esb.registry.lifeCycleManagerURI" value="org.apache.juddi.v3.client.transport.wrapper.UDDIPublicationService#publish"/>
          <property name="org.jboss.soa.esb.registry.securityManagerURI" value="org.apache.juddi.v3.client.transport.wrapper.UDDISecurityService#secure"/>
              <property name="org.jboss.soa.esb.registry.implementationClass" value="org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl"/>
              <property name="org.jboss.soa.esb.registry.factoryClass" value="org.apache.ws.scout.registry.ConnectionFactoryImpl"/>
              <property name="org.jboss.soa.esb.registry.user" value="root"/>
              <property name="org.jboss.soa.esb.registry.password" value="root"/>
              <!-- the following parameter is scout specific to set the type of communication between scout and the UDDI (embedded, rmi, soap) -->
              <property name="org.jboss.soa.esb.scout.proxy.transportClass" value="org.apache.ws.scout.transport.LocalTransport"/>
          <property name="org.jboss.soa.esb.scout.proxy.uddiVersion" value="3.0"/>
          <property name="org.jboss.soa.esb.scout.proxy.uddiNameSpace" value="urn:uddi-org:api_v3"/>
      
              <!-- specify the interceptors, in order -->
              <property name="org.jboss.soa.esb.registry.interceptors" value="org.jboss.internal.soa.esb.services.registry.InVMRegistryInterceptor"/>
              <!-- Example of specifying multiple registry interceptors
              <property name="org.jboss.soa.esb.registry.interceptors"
                      value="org.jboss.internal.soa.esb.services.registry.InVMRegistryInterceptor, org.jboss.internal.soa.esb.services.registry.CachingRegistryInterceptor"/>
              -->
      
              <!-- The following properties modify the cache interceptor behaviour -->
              <property name="org.jboss.soa.esb.registry.cache.maxSize" value="100"/>
              <property name="org.jboss.soa.esb.registry.cache.validityPeriod" value="600000"/>
      
              <!-- Organization Category to be used by this deployment. -->
              <property name="org.jboss.soa.esb.registry.orgCategory" value="org.jboss.soa.esb.:category"/>
          </properties>
          <properties name="transports" depends="core">
              <property name="org.jboss.soa.esb.mail.smtp.host" value="localhost"/>
              <property name="org.jboss.soa.esb.mail.smtp.user" value="jbossesb"/>
              <property name="org.jboss.soa.esb.mail.smtp.password" value=""/>
              <property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
              <property name="org.jboss.soa.esb.mail.smtp.auth" value="true"/>
              <property name="org.jboss.soa.esb.ftp.localdir" value="/tmp"/>
              <property name="org.jboss.soa.esb.ftp.remotedir" value="/tmp"/>
              <property name="org.jboss.soa.esb.jms.connectionPool" value="20"/>
              <property name="org.jboss.soa.esb.jms.sessionSleep" value="30"/>
              <!-- expiry of messages to temporary invm destinations (default replies)
                   expire after the following timeout, specified in milliseconds (5 mins) -->
              <property name="org.jboss.soa.esb.invm.expiryTime" value="300000"/>
              
              <!--  Uncomment this to return stack traces when exposing an ESB service through WS
              <property name="org.jboss.soa.esb.ws.returnStackTrace" value="true"/>
              -->
              <!--  Uncomment this to specify the WS response timeout when exposing an ESB service through WS
              <property name="org.jboss.soa.esb.ws.timeout" value="30000"/>
              -->
          </properties>
          <properties name="connection">
              <property name="min-pool-size" value="5"/>
              <property name="max-pool-size" value="10"/>
              <property name="blocking-timeout-millis" value="5000"/>
              <property name="abandoned-connection-timeout" value="10000"/>
              <property name="abandoned-connection-time-interval" value="30000"/>
          </properties>
          <properties name="jca">
              <property name="org.jboss.soa.esb.jca.activation.mapper.jms-ra.rar" value="org.jboss.soa.esb.listeners.jca.JBossActivationMapper"/>
              <property name="org.jboss.soa.esb.jca.activation.mapper.wmq.jmsra.rar" value="org.jboss.soa.esb.listeners.jca.WMQActivationMapper"/>
          </properties>
      
          <properties name="dbstore">
              
              <!--  connection manager type -->
              <!-- <property name="org.jboss.soa.esb.persistence.db.conn.manager"         value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/>     -->    
               <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.J2eeConnectionManager"/>
              
              <!-- this property is only used if using the j2ee connection manager -->
              <property name="org.jboss.soa.esb.persistence.db.datasource.name"     value="java:/JBossESBDS"/>
              
              <!-- standalone connection pooling settings -->
              <property name="org.jboss.soa.esb.persistence.db.connection.url"     value="jdbc:hsqldb:hsql://localhost:9001/"/>
              <property name="org.jboss.soa.esb.persistence.db.jdbc.driver"         value="org.hsqldb.jdbcDriver"/>
              <property name="org.jboss.soa.esb.persistence.db.user"                 value="sa"/>
              <property name="org.jboss.soa.esb.persistence.db.pwd"                 value=""/>        
              <property name="org.jboss.soa.esb.persistence.db.pool.initial.size"    value="2"/>
              <property name="org.jboss.soa.esb.persistence.db.pool.min.size"        value="2"/>
              <property name="org.jboss.soa.esb.persistence.db.pool.max.size"        value="5"/>
              <!--table managed by pool to test for valid connections - created by pool automatically -->
              <property name="org.jboss.soa.esb.persistence.db.pool.test.table"    value="pooltest"/>        
              <property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis"    value="5000"/> 
              
          </properties>    
          <properties name="filters">
              <property name="org.jboss.soa.esb.filter.1" value="org.jboss.internal.soa.esb.message.filter.MetaDataFilter"/>
              <property name="org.jboss.soa.esb.filter.2" value="org.jboss.internal.soa.esb.message.filter.GatewayFilter"/>
          </properties>
      
          <properties name="rules">
              <!-- change this to true if you wish to have the same behaviour as ESB4.6 and prior (including SOA 4.3) -->
              <property name="org.jboss.soa.esb.services.rules.continueState" value="false"/>
          </properties>
      </esb>
      

       

      In file esb.juddi.client.xml located in

      C:\jbossesb-server-4.7\server\default\deploy\jbossesb.sar

       

       

      <?xml version="1.0" encoding="ISO-8859-1" ?>
      
      <uddi>
          <reloadDelay>5000</reloadDelay>
          <manager name="test-manager">
              <nodes>
                  <node>
                      <!-- required 'default' node -->
                      <name>default</name> 
                      <description>Main jUDDI node</description>
                      <!-- JAX-WS Transport
                      <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
                      <custodyTransferUrl>http://${jboss.esb.bind.address}:8080/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
                      <inquiryUrl>http://${jboss.esb.bind.address}:8080/juddiv3/services/inquiry?wsdl</inquiryUrl>
                      <publishUrl>http://${jboss.esb.bind.address}:8080/juddiv3/services/publish?wsdl</publishUrl>
                      <securityUrl>http://${jboss.esb.bind.address}:8080/juddiv3/services/security?wsdl</securityUrl>
                      <subscriptionUrl>http://${jboss.esb.bind.address}:8080/juddiv3/services/subscription?wsdl</subscriptionUrl>
                      <subscriptionListenerUrl>http://${jboss.esb.bind.address}:8080/juddiv3/services/subscription-listener?wsdl</subscriptionListenerUrl>
                      <juddiApiUrl>http://${jboss.esb.bind.address}:8080/juddiv3/services/juddi-api?wsdl</juddiApiUrl>
                      -->
                      <!-- In VM Transport Settings -->
                      <proxyTransport>org.jboss.internal.soa.esb.registry.client.JuddiInVMTransport</proxyTransport>
                      <custodyTransferUrl>org.apache.juddi.api.impl.UDDICustodyTransferImpl</custodyTransferUrl>
                      <inquiryUrl>org.apache.juddi.api.impl.UDDIInquiryImpl</inquiryUrl>
                      <publishUrl>org.apache.juddi.api.impl.UDDIPublicationImpl</publishUrl>
                      <securityUrl>org.apache.juddi.api.impl.UDDISecurityImpl</securityUrl>
                      <subscriptionUrl>org.apache.juddi.api.impl.UDDISubscriptionImpl</subscriptionUrl>
                      <subscriptionListenerUrl>org.apache.juddi.api.impl.UDDISubscriptionListenerImpl</subscriptionListenerUrl>
                      <juddiApiUrl>org.apache.juddi.api.impl.JUDDIApiImpl</juddiApiUrl>
                      <!-- RMI Transport Settings
                      <proxyTransport>org.apache.juddi.v3.client.transport.RMITransport</proxyTransport>
                      <custodyTransferUrl>/juddiv3/UDDICustodyTransferService</custodyTransferUrl>
                      <inquiryUrl>/juddiv3/UDDIInquiryService</inquiryUrl>
                      <publishUrl>/juddiv3/UDDIPublicationService</publishUrl>
                      <securityUrl>/juddiv3/UDDISecurityService</securityUrl>
                      <subscriptionUrl>/juddiv3/UDDISubscriptionService</subscriptionUrl>
                      <subscriptionListenerUrl>/juddiv3/UDDISubscriptionListenerService</subscriptionListenerUrl>
                      <juddiApiUrl>/juddiv3/JUDDIApiService</juddiApiUrl>
                      <javaNamingFactoryInitial>org.jnp.interfaces.NamingContextFactory</javaNamingFactoryInitial>
                      <javaNamingFactoryUrlPkgs>org.jboss.naming</javaNamingFactoryUrlPkgs>
                      <javaNamingProviderUrl>jnp://${jboss.esb.bind.address}:1099</javaNamingProviderUrl>
                      -->
                  </node>
              </nodes>
          </manager>
      </uddi>
      

       

      As you can see I’m using jbossesb server, here the error code I got in console:

       

       

      16:28:22,247 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
      
      --- MBeans waiting for other MBeans ---
      ObjectName: jboss.esb:service=JuddiRMI
        State: CONFIGURED
        I Depend On:
          jboss.esb:deployment=jbossesb.esb
          jboss.jca:service=DataSourceBinding,name=juddiDB
          jboss.esb:service=PropertyService
        Depends On Me:
          jboss.esb:service=JuddiClient
      
      ObjectName: jboss.esb:service=JuddiClient
        State: CONFIGURED
        I Depend On:
          jboss.esb:service=JuddiRMI
        Depends On Me:
          jboss.esb:deployment=jbossesb.esb
      
      ObjectName: jboss.esb:deployment=jbossesb.esb
        State: NOTYETINSTALLED
        I Depend On:
          jboss.esb:service=InVM
          jboss.esb:service=MessageStoreDatabaseInitializer
          jboss.esb:service=ESBRegistry
          jboss.esb.destination:service=Queue,name=OperationsCollectorQueue
          jboss.esb.destination:service=Queue,name=DataCollectorQueue
          jboss.esb.destination:service=Queue,name=DeadMessageQueue
          jboss.jca:service=DataSourceBinding,name=JBossESBDS
          jboss.esb.destination:service=Queue,name=OperationsResultCollectorQueue
          jboss:service=TransactionManager
          jboss.esb:service=JuddiClient
        Depends On Me:
          jboss.esb:service=JuddiRMI
          jboss.esb:deployment=jbpm.esb
          jboss.esb:deployment=jbrules.esb
          jboss.esb:deployment=slsb.esb
          jboss.esb:deployment=smooks.esb
          jboss.esb:deployment=soap.esb
          jboss.esb:deployment=spring.esb
      
      ObjectName: jboss.esb:deployment=jbpm.esb
        State: NOTYETINSTALLED
        I Depend On:
          jboss.esb:service=JbpmService
          jboss.esb:deployment=jbossesb.esb
          jboss.esb.destination:service=Queue,name=CallbackQueue
      
      ObjectName: jboss.esb:deployment=jbrules.esb
        State: NOTYETINSTALLED
        I Depend On:
          jboss.esb:deployment=jbossesb.esb
      
      ObjectName: jboss.esb:deployment=slsb.esb
        State: NOTYETINSTALLED
        I Depend On:
          jboss.esb:deployment=jbossesb.esb
      
      ObjectName: jboss.esb:deployment=smooks.esb
        State: NOTYETINSTALLED
        I Depend On:
          jboss.esb:deployment=jbossesb.esb
      
      ObjectName: jboss.esb:deployment=soap.esb
        State: NOTYETINSTALLED
        I Depend On:
          jboss.esb:deployment=jbossesb.esb
      
      ObjectName: jboss.esb:deployment=spring.esb
        State: NOTYETINSTALLED
        I Depend On:
          jboss.esb:deployment=jbossesb.esb
      

       

      Any help will be great!