Hmm I thought we had fixed this issue. Please open a jira for it, with the instructions to reproduce. We'll get it fixed quick.

Cheers,

--Kurt

Gunnlaugur Sigurðsson wrote:
Hi Kurt.

Hope you had a good weekend :)

I was able to create new web service that self-registers into the juddi registry.
But there is an issue.

Prior to publishing the new service I had one service already that was able register it self, but when I added the new service, the other one disappeared.

There is this entry in src/main/webapp/WEB-INF/web.xml in both projects

  <servlet>
    <display-name>Clerk Servlet</display-name>
    <servlet-name>UDDIClerkServlet</servlet-name>
<servlet-class>org.apache.juddi.v3.client.config.UDDIClerkServlet</servlet-class>
    <init-param>
<param-name>uddi.client.manager.name <http://uddi.client.manager.name></param-name>
        <param-value>example-manager</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

As soon as I added this to my new web service the other one disappeared when I deployed the new service.
Is this causing conflict between the two?

Name of the manager in both uddi.xml files is <manager name="example-manager"> is this not supposed to be like that? And the uddi.xml both have the same named clerk, but with different class entry.

        <clerks registerOnStartup="true">
<clerk name="SalesCratchit" node="default" publisher="sales" password="sales">
                <class>is.siminn.juddi.ws.HelloWorldImpl</class>
           </clerk>
        </clerks>

        <clerks registerOnStartup="true">
<clerk name="SalesCratchit" node="default" publisher="sales" password="sales">
                <class>is.siminn.juddi.ws.AppImpl</class>
           </clerk>
        </clerks>

And the notations in the implementation classes are as follow.

@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://${serverName}:${serverPort}/taketwo/app?wsdl";)
@WebService(
        endpointInterface = "is.siminn.juddi.ws.App", serviceName = "App")

++++++++++++++++++++++++++++

@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://${serverName}:${serverPort}/selfregister/helloworld?wsdl";)
@WebService(
endpointInterface = "is.siminn.juddi.ws.HelloWorld", serviceName = "HelloWorld")

I.e. tha App is the new service.

What am I missing here?


Thanks.

-Gunnlaugur







On Fri, May 14, 2010 at 4:29 PM, Kurt T Stam <kurt.s...@gmail.com <mailto:kurt.s...@gmail.com>> wrote:

    Excellent. Looking forward to the documentation, also for the LDAP
    work you did. We can then add it nicely
    to the codebase :).

    Have a great weekend too.

    --Kurt

    Gunnlaugur Sigurðsson wrote:



        On Fri, May 14, 2010 at 3:54 PM, Kurt T Stam
        <kurt.s...@gmail.com <mailto:kurt.s...@gmail.com>
        <mailto:kurt.s...@gmail.com <mailto:kurt.s...@gmail.com>>> wrote:



                           2. Put the juddiv3.war and your WSs war on
        the same
               classloader,
                  may or may not be ideal, but then your WSs wars will be
               nice and
                  light.

               "on the same classloader" are you talking about same tomcat
               instance?

           yes, prob 3 is the better option.

                           3. Switch to JAXWSTransport. What you
        really want to do is
               to use
                  the WS stack of your appserver. Running JBoss we
        have this
               working
                  really cleanly where both CXF and Hibernate are
        deployed to the
                  appserver (not in the juddiv3.war),
               Do I have the same option here as in the self-registration
               sample. I.e. just to add the annotation to the interface
               implementation and use the following uddi.xml file, or do I
               have to make any extra code to make the service
        self-register?
               Note: IT-operations here is only running Tomcat, so I don't
               have the option of using jboss.

               <?xml version="1.0" encoding="UTF-8"?>
               <uddi>
                  <reloadDelay>5000</reloadDelay>
                  <manager name="example-manager">
                      <nodes>
                          <node>
                              <!-- required 'default' node -->
                              <name>default</name>
                              <properties>
                                  <property name="serverName"
                value="localhost"/>
                                  <property name="serverPort"
         value="8080"/>
                              </properties>
                              <!-- JAX-WS Transport -->
<proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport> <custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl> <inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl> <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl> <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl> <subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl> <subscriptionListenerUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription-listener?wsdl</subscriptionListenerUrl> <juddiApiUrl>http://${serverName}:${serverPort}/juddiv3/services/juddi-api?wsdl</juddiApiUrl>
                          </node>
                      </nodes>
                  </manager>
               </uddi>


           This should work, you just need to define a clerk and reference
           the class with the annotations:

                <clerks registerOnStartup="true">
                    <clerk name="BobCratchit" node="default"
           publisher="sales" password="sales">
<class>org.apache.juddi.samples.HelloWorldImpl</class>
                    </clerk>
                 </clerks>


        Finally it looks like its working! I.e. from my own ws :)
        I'll create new web service just to make sure, and document
        all steps.

        Thanks and have a nice weekend.

        -Gunnlaugur





Thanks.

               -Gunnlaugur





--
        Kveðja/Regards
        Gunnlaugur Sigurðsson
        gunnlaugur...@gmail.com <mailto:gunnlaugur...@gmail.com>
        <mailto:gunnlaugur...@gmail.com <mailto:gunnlaugur...@gmail.com>>

        Mobile: (+354) 896-7963
        Home: (+354) 565-5229





--

Kveðja/Regards
Gunnlaugur Sigurðsson
gunnlaugur...@gmail.com <mailto:gunnlaugur...@gmail.com>
Mobile: (+354) 896-7963
Home: (+354) 565-5229

Reply via email to