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...





Reply via email to