Right in that case you will need to add a deployment dependency to the
jbossesb.sar. I'm not really sure how to reference a war, but you could
deploy your war inside a sar, and add an mbean to the sar and then
reference that bean in the jbosseb.sar/META-INF/jboss-service.xml.
--Kurt
On 3/28/11 9:36 AM, 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")
@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]>/* 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, 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]>
</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: 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...