Excellent news that things are working.

1.
>The jbossesb4.9 that you sent works fine :) But it is jboss+esb embedded right ? I was using esb + jboss by install - deploy. I don't know if >there's difference ... I did download of this esb embedded with jboss couple weeks ago, but it was with jboss 4.2, instead 5.1 ....

Yes I installed JBESB-4.9 to to JBossAS-5.1, but it should work on 4.2 just the same.

2.
>and I got this exception:
>org.apache.juddi.v3.error.KeyUnavailableException: The proposed key is not within the partition defined by owning publisher: >uddi:myservicekey You get this if your publisher does not own that key 'domain'. It's a bit like registering a domain, you need to own the key. >After I change the annotations as below fix the problem. Is there rules to write the keys of annotations ?

Yes read on up keyGenerators. So your publishers keys need to start with the 'domain' part.
http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-understandingkeypartitions-20061128.htm
Make sure to read the UDDI v3 info only.

See also how the sales and marketing publishers data is setup here:
http://juddi.apache.org/docs/3.0/userguide/html/chap-Subscription.html#sect-Two_node_example

3.
>The annotations to publish are the same to find a service in registries ? Like, I registry a service in juddi and I wanna find this service to consume in other webservice client.

I really like that idea. It sure would make things totally easy to inject a reference to the WSDL of a server.
At the moment you have to write some code. Check out the

lookupWSDL(QName serviceQName, String portName)

method in

http://anonsvn.jboss.org/repos/riftsaw/trunk/runtime/uddi/src/main/java/org/jboss/soa/bpel/uddi/UDDIRegistrationImpl.java

If you add a feature request to the jUDDI jira you can attach your name to the lookup-with-Annotation idea, and maybe even submit a patch
and I will merge it in!

Cheers,

--Kurt


On 3/30/11 3:42 PM, everson santos wrote:

Hi Kurt

The jbossesb4.9 that you sent works fine :) But it is jboss+esb embedded right ? I was using esb + jboss by install - deploy. I don't know if there's difference ... I did download of this esb embedded with jboss couple weeks ago, but it was with jboss 4.2, instead 5.1 ....

I build my .war based on juddiv3-samples that you sent and works fine :)

first I did like:
@UDDIService(
        businessKey="uddi:myBusinessKey",
        serviceKey="uddi:myServiceKey",
        description = "Hello World test service")
@UDDIServiceBinding(
        bindingKey="uddi:myServiceBindingKey",
description="WSDL endpoint for the helloWorld Service. This service is used for "
                  + "testing the jUDDI annotation functionality",
        accessPointType="wsdlDeployment",
        accessPoint="http://localhost:8080/e1/HelloWorld?wsdl";)

and I got this exception:

org.apache.juddi.v3.error.KeyUnavailableException: The proposed key is not within the partition defined by owning publisher: uddi:myservicekey at org.apache.juddi.validation.ValidatePublish.validateBusinessService(ValidatePublish.java:540) at org.apache.juddi.validation.ValidatePublish.validateSaveService(ValidatePublish.java:292) at org.apache.juddi.api.impl.UDDIPublicationImpl.saveService(UDDIPublicationImpl.java:519) at org.apache.juddi.v3.client.config.UDDIClerk.register(UDDIClerk.java:152) at org.apache.juddi.v3.client.config.UDDIClerkManager.registerAnnotatedServices(UDDIClerkManager.java:141) at org.apache.juddi.v3.client.config.BackGroundRegistration.run(BackGroundRegistration.java:39)
    at java.lang.Thread.run(Thread.java:662)
16:23:40,210 INFO  [UDDIClerk] Registering service HelloWorld completed.



After I change the annotations as below fix the problem. Is there rules to write the keys of annotations ?

@UDDIService(
        businessKey="uddi:${keyDomain}:${department}-asf",
        serviceKey="uddi:${keyDomain}:services-hello${department}",
        description = "Hello World test service")
@UDDIServiceBinding(
        bindingKey="uddi:${keyDomain}:bindings-hello${department}-wsdl",
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";)



The annotations to publish are the same to find a service in registries ? Like, I registry a service in juddi and I wanna find this service to consume in other
webservice client.


Kurt, thanks for all your support!











--- Em *qua, 30/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: Quarta-feira, 30 de Março de 2011, 11:30

    Hi Everson,

    I  uploaded a jbossesb-4.9:

    http://people.apache.org/~kstam/appserver/jbossesb-4.9.tgz
    <http://people.apache.org/%7Ekstam/appserver/jbossesb-4.9.tgz>

    Onto which I added a sightly modified juddiv3-samples.war for
    jboss deployment. Note that this war is nice and light.

    Also I move most of the juddi jars from the jbossesb deployments
    to the lib directory (so they are shared by all).

    Upon deployment you should see:

    10:15:46,347 INFO  [UDDIClerk] Sending Clerk BobCratchit info to
    jUDDI default
    10:15:46,372 INFO  [UDDIClerkManager] Node=default
    10:15:46,372 INFO  [UDDIClerk] Registering service HelloWorld with
    key uddi:juddi.apache.org:services-hellobusinesses
    10:15:46,388 INFO  [UDDIClerk] Registering service HelloWorld
    completed.
    10:15:46,388 INFO  [UDDIClerkManager] Starting cross registration...
    10:15:46,388 INFO  [UDDIClerkManager] Cross registration completed
    10:15:46,388 INFO  [UDDIClerkManager] Clerks started succesfully
    for manager example-manager

    I hope that with this example you can copy it and modify it for
    your use.

    I will talk to Tom Cunningham (Proj lead of JBossESB) to figure
    out what the desired jar deployment is but for now this works :).

    Cheers,

    --Kurt


    On 3/30/11 10:05 AM, everson santos wrote:

    It seems doesn't read the uddi.xml from .war or I'm doing
    something wrong ...
    what do you think ?

    --- Em *qua, 30/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: Quarta-feira, 30 de Março de 2011, 10:26

        Progress :), and yes you want to add a clerk config to your
        example-manager, and reference your annotated classes --K

        On 3/30/11 9:23 AM, everson santos wrote:

        I forgot  to  clean clerk from esb.juddi.client.xml. After
        this change I think that example-manager must be loaded like
        uddi-portlet-manager don't ?

        09:45:01,170 INFO  [UDDIClerkManager] Starting UDDI Clerks
        for manager uddi-portlet-manager...


        --- Em *qua, 30/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: Quarta-feira, 30 de Março de 2011, 10:11

            So I think 'uddi-portlet-manager' is the client config
            in the esb right? And I don't think you are deploying your
            'org.jboss.samples.HelloWorld' class there. So you
            should remove the that from the Clerk config in that file.

            You want to add a Clerk (who will do the registration,
            using the annotations info) in the war file with your
            webservices.
            Much like the juddiv3-samples.war.

            Hope this helps..

            --Kurt

            On 3/30/11 8:59 AM, everson santos wrote:


            Hi Kurt

            I put the jars as you said in
            deployers/esb.deployers/lib and replace
            jbossesb.sar/meta-inf/jboss-service.xml.
              The mbean doesn't appear when jboss is loading, but
            in the jmx-console I can see it, seems ok.
            I create  in web.xml of my .war
            <context-param>
            <param-name>uddi.client.manager.name</param-name>
            <param-value>example-manager</param-value>
            </context-param>

            But I get the notfoundexception yet. I looking at the
            tables from juddi schema and I didn't anything new in :
            j3_business_service, j3_business_name, j3_service_name

            I thing I must see in that tables the names from my
            annotations:
            @UDDIService(
              businessKey="uddi:eversonBusinessKey",
              serviceKey="uddi:eversonServiceKey",


            When jboss is loading:

            9:45:00,998 INFO  [InVMTemporaryTransport] Starting
            reaper thread
            09:45:01,094 INFO  [ClientConfig] Reading UDDI Client
            properties file
            
vfsfile:/home/everson.santos/Downloads/jboss-5.1.0.GA-testes-juddi/server/default/deploy/jbossesb.sar/esb.juddi.client.xml
            09:45:01,129 INFO  [ClientConfig] XRegistration 0
            servicebindingKeys
            09:45:01,129 INFO  [ClientConfig] XRegistration 0
            businessKeys
            09:45:01,170 INFO  [UDDIClerkManager] Starting UDDI
            Clerks for manager uddi-portlet-manager...
            09:45:01,171 INFO  [UDDIClerkManager] No home clerk found.
            09:45:01,177 ERROR [STDERR]
            java.lang.ClassNotFoundException:
            org.jboss.samples.HelloWorld
            09:45:01,177 ERROR [STDERR]     at
            java.net.URLClassLoader$1.run(URLClassLoader.java:202)
            09:45:01,177 ERROR [STDERR]     at
            java.security.AccessController.doPrivileged(Native Method)
            09:45:01,177 ERROR [STDERR]     at
            java.net.URLClassLoader.findClass(URLClassLoader.java:190)
            09:45:01,177 ERROR [STDERR]     at
            java.lang.ClassLoader.loadClass(ClassLoader.java:307)
            09:45:01,177 ERROR [STDERR]     at
            java.lang.ClassLoader.loadClass(ClassLoader.java:248)
            09:45:01,177 ERROR [STDERR]     at
            java.lang.Class.forName0(Native Method)
            09:45:01,177 ERROR [STDERR]     at
            java.lang.Class.forName(Class.java:169)
            09:45:01,177 ERROR [STDERR]     at
            org.apache.log4j.helpers.Loader.loadClass(Loader.java:178)
            09:45:01,177 ERROR [STDERR]     at
            
org.apache.juddi.v3.annotations.AnnotationProcessor.readServiceAnnotations(AnnotationProcessor.java:65)
            09:45:01,177 ERROR [STDERR]     at
            
org.apache.juddi.v3.annotations.AnnotationProcessor.readServiceAnnotations(AnnotationProcessor.java:53)
            09:45:01,178 ERROR [STDERR]     at
            
org.apache.juddi.v3.client.config.UDDIClerkManager.registerAnnotatedServices(UDDIClerkManager.java:137)
            09:45:01,178 ERROR [STDERR]     at
            
org.apache.juddi.v3.client.config.BackGroundRegistration.run(BackGroundRegistration.java:39)
            09:45:01,178 ERROR [STDERR]     at
            java.lang.Thread.run(Thread.java:662)
            09:45:01,178 INFO  [UDDIClerkManager] Starting cross
            registration...
            09:45:01,178 INFO  [UDDIClerkManager] Cross
            registration completed
            09:45:01,178 INFO  [UDDIClerkManager] Clerks started
            succesfully for manager uddi-portlet-manager



            I'm sending my uddi.xml and esb.juddi.client.xml if it
            is help to understand


            Thanks!


            --- Em *ter, 29/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], [email protected]
                Data: Terça-feira, 29 de Março de 2011, 17:47

                Hi Everson,

                I have attached 2 jars and an updated config file.

                1. Place the jars in deployers/esb.deployers/lib
                The juddi-client-service jar will start the manager
                and set 2 system parameters (managerName and nodeName)
                The updated juddi-client.jar reads those
                parameters, which means that at this point we can
                handle multiple uddi.xml configs.

                2. Replace the
                jbossesb.sar/META-INF/jboss-service.xml, this will
                run the MBean in the juddi-client-service.jar.

                Make sure things work and then add your on war file
                with your endpoints, and your client uddi.xml
                config. Note that you can configure
                the name of the manager and uddi.xml file to
                something else in the web.xml using
                context-parameters (uddi.client.config.file, and
                uddi.client.manager.name), like

                <context-param>
                <param-name>uddi.client.manager.name</param-name>
                <param-value>example-manager</param-value>
                </context-param>

                If this works for you I will add all the new code
                to the jUDDI trunk.

                Cheers,

                --Kurt





Reply via email to