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