Trouble with embedded registry in JBoss ESB.
sidhartaquintana May 13, 2010 5:49 PMHi 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!