Alternatively you can try to use WSTransport. UDDI-registration-on-startup happens on a separate thread, and HTTP is blocked by the appserver until everything is deployed. So this forces the registration to happen at the end of startup.

Cheers,

--Kurt

On 3/28/11 9:45 AM, Kurt T Stam wrote:
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...





Reply via email to