Hi Everson,
I have been looking at the jbossesb code, and I think 2 things need to
happen, and I think it's going to be pretty simple to fix it.
1. JBossESB needs to call
on startup on the JBossESB JUDDICLient MBean
manager = new UDDIClerkManager(CONFIG_FILE);
Set the manager name a system property for the juddi wrapper
classes (in org.apache.juddi.v3.transport.wrapper)
manager.start();
and shutdown
manager.stop();
2. the juddi wrapper classes needs to read the manager name from the
system property.
Then things should just work...
We can even create our own MBean until jbesb integrates it. It'd be nice
to fix this the right way!
--Kurt
On 3/28/11 4:26 PM, everson santos wrote:
I put my e1.war inside jbossesb.sar, but the webservice lost the
original endpoint. My endpoint was e1/HelloWorld?wsdl
jbossesb.sar/app.war = context = jbossesb-e1
Endpoint Name jboss.ws:context=jbossesb-e1,endpoint=HelloWorld
Endpoint Address http://localhost:8080/jbossesb-e1/HelloWorld?wsdl
So, I can't access my endpoint anymore, in both cases
http://localhost:8080/jbossesb-e1/HelloWorld?wsdl
http://localhost:8080/e1/HelloWorld?wsdl
<http://localhost:8080/jbossesb-e1/HelloWorld?wsdl>
I'm thinking do it(publish,find) by code instead annotations, I'm
looking the example codes...
Even putting .war inside .sar I get the exception classnotfound yet
thanks for patience
--- Em *seg, 28/3/11, Kurt T Stam /<[email protected]>/* escreveu:
De: Kurt T Stam <[email protected]>
Assunto: Re: Help to publish and find services into juddi using
jboss and esb
Para: [email protected]
Data: Segunda-feira, 28 de Março de 2011, 16:34
I knew there was a reason we recommend having a uddi.xml file per
war! So as long as jbossesb forces you to only use
one uddi.xml, I guess the only way to fix this is to make the war
classes available to the jbossesb.sar. So make sure they share the
same
classloader. So you either put the war on the global classpath, or
maybe deploying your war into the jbossesb.sar will work.
On 3/28/11 3:13 PM, everson santos wrote:
hi kurt, thanks to reply
org.jboss.samples.webservices.HelloWorld is my class with juddi
annotation. The clerk config is in
jbossesb.sar/esb.juddi.client.xml and my HelloWorld class is in
app.war.
I think the exception happen because jbossesb.sar is deployed
before my app.war and doesn't find the class
******* my class
package org.jboss.samples.webservices;
import javax.jws.WebMethod;
import javax.jws.WebService;
import org.apache.juddi.v3.annotations.UDDIService;
import org.apache.juddi.v3.annotations.UDDIServiceBinding;
@UDDIService(
businessKey="uddi:eversonBusinessKey",
serviceKey="uddi:eversonServiceKey",
description = "Hello World Everson test service")
@UDDIServiceBinding(
bindingKey="uddi:myServiceBindingKey",
description="WSDL endpoint for the hello${department} Service.
This service is used for testing the jUDDI annotation functionality",
accessPointType="wsdlDeployment",
accessPoint="http://localhost:8080/e1/HelloWorld?wsdl"
<http://localhost:8080/e1/HelloWorld?wsdl>)
@WebService()
public class HelloWorld {
@WebMethod()
public String sayHello(String name) {
System.out.println("Hello: " + name);
return "Hello " + name + "!";
}
}
********************* exception
I got this exception:
9:50:41,387 INFO [UDDIClerkManager] Starting UDDI Clerks for
manager uddi-portlet-manager...
09:50:41,387 INFO [UDDIClerkManager] No home clerk found.
09:50:41,391 ERROR [STDERR] java.lang.ClassNotFoundException:
org.jboss.samples.webservice.HelloWorld
09:50:41,391 ERROR [STDERR] at
java.net.URLClassLoader$1.run(URLClassLoader.java:202)
09:50:41,391 ERROR [STDERR] at
java.security.AccessController.doPrivileged(Native Method)
09:50:41,391 ERROR [STDERR] at
java.net.URLClassLoader.findClass(URLClassLoader.java:190)
09:50:41,391 ERROR [STDERR] at
java.lang.ClassLoader.loadClass(ClassLoader.java:307)
09:50:41,391 ERROR [STDERR] at
java.lang.ClassLoader.loadClass(ClassLoader.java:248)
09:50:41,391 ERROR [STDERR] at
java.lang.Class.forName0(Native Method)
09:50:41,391 ERROR [STDERR] at
java.lang.Class.forName(Class.java:169)
09:50:41,391 ERROR [STDERR] at
org.apache.log4j.helpers.Loader.loadClass(Loader.java:178)
09:50:41,391 ERROR [STDERR] at
org.apache.juddi.v3.annotations.AnnotationProcessor.readServiceAnnotations(AnnotationProcessor.java:65)
09:50:41,391 ERROR [STDERR] at
org.apache.juddi.v3.annotations.AnnotationProcessor.readServiceAnnotations(AnnotationProcessor.java:53)
09:50:41,391 ERROR [STDERR] at
org.apache.juddi.v3.client.config.UDDIClerkManager.registerAnnotatedServices(UDDIClerkManager.java:133)
09:50:41,391 ERROR [STDERR] at
org.apache.juddi.v3.client.config.BackGroundRegistration.run(BackGroundRegistration.java:39)
09:50:41,392 ERROR [STDERR] at
java.lang.Thread.run(Thread.java:662)
09:50:41,392 INFO [UDDIClerkManager] Starting cross registration...
09:50:41,392 INFO [UDDIClerkManager] Cross registration completed
09:50:41,392 INFO [UDDIClerkManager] Clerks started succesfully
for manager uddi-portlet-manager
--- Em *seg, 28/3/11, Kurt T Stam /<[email protected]>
</mc/[email protected]>/* escreveu:
De: Kurt T Stam <[email protected]>
</mc/[email protected]>
Assunto: Re: Help to publish and find services into juddi
using jboss and esb
Para: [email protected]
</mc/[email protected]>
Data: Segunda-feira, 28 de Março de 2011, 10:11
Hi Everson,
The annotations processor is working! It is trying to process
the UDDI annotations in the
'org.jboss.samples.webservices.HelloWorld' class, as
specified in the clerk config. You need to update the class
list in the clerk section with *your* classes that contain
the UDDI annotations.
Cheers,
--Kurt
On 3/27/11 9:23 PM, everson santos wrote:
I put the clerk in esb.juddi.client.xml, but I got an
exception classnotfoundexception
(org.jboss.samples.webservices.HelloWorld)
<clerks registerOnStartup="true">
<clerk name="BobCratchit" node="default" publisher="root"
password="root">
<class>org.jboss.samples.webservices.HelloWorld</class>
</clerk>
</clerks>
I think it happend because you said to deploy my app.war
before jbossesb.sar ... I don't know yet how i'll do that ...
--- Em *dom, 27/3/11, Kurt T Stam /<[email protected]>/*
escreveu:
De: Kurt T Stam <[email protected]>
Assunto: Re: Help to publish and find services into
juddi using jboss and esb
Para: [email protected]
Data: Domingo, 27 de Março de 2011, 11:08
Hi Everton,
jbossesb-4.9 forces you to only use the
esb.juddi.client.xml. So you can't use your own
uddi.xml. So this means you will be using the
juddi-client that is part of jbossesb, so don't deploy
your own. This means you will need to make sure your
archive is deployed *before* the jbossesb.sar, and to
add the classes with UDDI annotations to a clerk section
in the esb.juddi.client.xml.
The same holds true to find services, but you can't look
anything up until the jbossesb is fully deployed.
Let us know if that works,
Cheers,
--Kurt
On 3/27/11 9:15 AM, everson santos wrote:
Hello,
Someone has an example the how publish and find
services into juddi using jboss5.1 + jbossesb 4.9?
I think the example from juddi site is more to tomcat,
because in jboss+esb there's some configuration juddi
files(eg. esb.juddi.client.xml - jbossesb.sar) in
differents locations in relation the tomcat(eg.
uddi.xml - META-INF from .war file )...
I followed this tutorial:
http://apachejuddi.blogspot.com/2009/11/uddi-annotations-how-do-i-self-register.html
But I think it didn't work, I didn't see anything new
in juddi tables... There's a uddi.xml file with:
<proxyTransport>org.apache.juddi.v3.client.transport.InVMTransport</proxyTransport>
I read in forum that I have to use(for jbossesb):
<proxyTransport>org.jboss.internal.soa.esb.registry.client.JuddiRMITransport</proxyTransport>
I change the proxy as above, but I can't find the jar
to include in classpath...