You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@juddi.apache.org by James Burton <Ja...@sussex.ac.uk> on 2011/05/27 12:38:08 UTC

Registering via annotations

Hi, I've installed the juddi portal bundle 3.0.4 and can register services OK (just using the root user and jUDDI authentication for now, and I've registered services through soapUI and with a client). I want to set up registration via annotations when services are deployed on Glassfish 2.1.1. Glassfish and the portal bundle are both running locally. I added the juddi-client and uddi-ws jars to glassfish and I can deploy annotated services using netbeans 7.0, but nothing is registered. There are a couple of warnings at the end of the glassfish output, which I've attached, along with the webservice bean and my uddi.xml (which is in META-INF when the jar is deployed). Any ideas where I'm going wrong or how to troubleshoot this? Couple of things I'm not sure about -- do I need to do anything to set up the clerk (BobCratchit) or the department referred to in uddi.xml? Thanks,

///glassfish output
Container com.sun.enterprise.webservice.JAXWSContainer@17b9ff2 doesn't support class com.sun.xml.ws.api.server.Module
LDR5010: All ejb(s) of [PeopleWS] loaded successfully!
com.sun.webui.jsf.component.DropDown::The current value of component propertyForm:propertyContentPage:propertySheet:propertSectionTextField:instanceNameProp:logFile does not match any of the selections. 
Did you forget to reset the value after changing the options? 
JSFT0003: VariableResolver was unable to find key (logEntryDetail) in ResourceBundle (help).
com.sun.webui.jsf.component.DropDown::The current value of component propertyForm:propertyContentPage:propertySheet:propertSectionTextField:instanceNameProp:logFile does not match any of the selections. 
Did you forget to reset the value after changing the options?

//uddi.xml -- I used the same uddi.xml (minus the clerks entry) successfully with a client based on the SimplePublish example
<?xml version="1.0" encoding="ISO-8859-1" ?>
<uddi>
  <reloadDelay>5000</reloadDelay>
  <manager name="people-ws">
    <nodes>
      <node>
	<name>default</name>
	<description>Main jUDDI node</description>  
	<properties>
	  <property name="serverName"  value="localhost"/>
	  <property name="serverPort"  value="8888"/>
	  <property name="keyDomain"   value="juddi.apache.org"/>
	  <property name="department"  value="businesses" />
	</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>
    <clerks registerOnStartup="true">  
      <clerk name="BobCratchit" node="default" publisher="root" password="">  
        <class>uk.ac.susx.peoplews.session.PeopleWSServiceBean</class>  
      </clerk>  
    </clerks>
  </manager>
</uddi>

//part of the webservice bean

package uk.ac.susx.peoplews.session;

//imports

/**
 *
 * @author jb453
 */
@Stateless
@UDDIService(  
  businessKey="uddi:juddi.apache.org:cis",  /* this business is registered */
  serviceKey="uddi:cis-peoplews",  
  description = "The People service")   
@UDDIServiceBinding(  
  bindingKey="uddi:cis-peoplews-binding",  
  description="WSDL endpoint for the PeopleWS Service. This service is used for "
        + "stuff.",  
  accessPointType="wsdlDeployment",  
  accessPoint="https://localhost:8181/PeopleWSBean_0_0_1/PeopleWSServiceBean?wsdl")
@WebService(serviceName = "PeopleWSBean_0_0_1")
@RolesAllowed(value = "webTeamUser") 
public class PeopleWSServiceBean implements PeopleWSServiceBeanLocal {
    
   
    //constructor
    
    /*
     * Web methods
     */
    
    @WebMethod
    public Collection<PeopleDTO> getPeopleBySurname(@WebParam(name = "surname") String surname) {
        //etc
    }    
    
}






RE: Registering via annotations

Posted by James Burton <Ja...@sussex.ac.uk>.
Thanks Kurt, I'll deploy this a war and see if I can get it working.

Cheers,

James



-----Original Message-----
From: Kurt T Stam [mailto:kurt.stam@gmail.com] 
Sent: 27 May 2011 16:22
To: user@juddi.apache.org
Subject: Re: Registering via annotations

Hi James,

I'm not really familiar with GlassFish, but when deploying webservices 
and/or servlets you typically deploy in a war, to involve the 
webcontainer. I take it you are 'exposing ejb's as webservices, hence 
the jar. In that case we'd need to hook into the ejb deploy/undeploy 
event to run the registration process. Maybe you can figure out some 
sort of post-deploy/undeploy hook we can tie into. Once you figure that 
out, then all you need to do is call

UDDIClerkManager manager = 
UDDIClientContainer.getUDDIClerkManager(managerName);
manager.start()

where the managerName should correspond to the one given in your uddi.xml

and on undeploy:

manager.stop()

Cheers,
--Kurt

--K

On 5/27/11 10:57 AM, James Burton wrote:
> Hi Kurt, thanks for your reply. I'm deploying the webservice as a jar, so there's no web.xml in that project, the config is in a sun-ejb.xml file...where should I define the clerk servlet? In the web.xml of the admin app on glassfish ($GLASSFISH\lib\install\applications\adminapp\adminapp_war)? I haven't tried deploying the samples war, I'll give that a try and let you know.
>
> -----Original Message-----
> From: Kurt T Stam [mailto:kurt.stam@gmail.com]
> Sent: 27 May 2011 15:27
> To: user@juddi.apache.org
> Subject: Re: Registering via annotations
>
> Hi James,
>
> That all looks good to me. Are you deploying in a jar or a war? Sounds
> like a jar. The thing is that something needs to go read the
> annotations.. So this is done by adding
>
> <servlet>
> <servlet-name>UDDIClerkServlet</servlet-name>
> <display-name>Clerk Servlet</display-name>
> <servlet-class>org.apache.juddi.v3.client.config.UDDIClerkServlet</servlet-class>
> <load-on-startup>1</load-on-startup>
> </servlet>
>
> to the web.xml.
>
> Does the juddib3-samples.war work for you?
>
> Cheers,
>
> -Kurt
> On 5/27/11 6:38 AM, James Burton wrote:
>> Hi, I've installed the juddi portal bundle 3.0.4 and can register services OK (just using the root user and jUDDI authentication for now, and I've registered services through soapUI and with a client). I want to set up registration via annotations when services are deployed on Glassfish 2.1.1. Glassfish and the portal bundle are both running locally. I added the juddi-client and uddi-ws jars to glassfish and I can deploy annotated services using netbeans 7.0, but nothing is registered. There are a couple of warnings at the end of the glassfish output, which I've attached, along with the webservice bean and my uddi.xml (which is in META-INF when the jar is deployed). Any ideas where I'm going wrong or how to troubleshoot this? Couple of things I'm not sure about -- do I need to do anything to set up the clerk (BobCratchit) or the department referred to in uddi.xml? Thanks,
>>
>> ///glassfish output
>> Container com.sun.enterprise.webservice.JAXWSContainer@17b9ff2 doesn't support class com.sun.xml.ws.api.server.Module
>> LDR5010: All ejb(s) of [PeopleWS] loaded successfully!
>> com.sun.webui.jsf.component.DropDown::The current value of component propertyForm:propertyContentPage:propertySheet:propertSectionTextField:instanceNameProp:logFile does not match any of the selections.
>> Did you forget to reset the value after changing the options?
>> JSFT0003: VariableResolver was unable to find key (logEntryDetail) in ResourceBundle (help).
>> com.sun.webui.jsf.component.DropDown::The current value of component propertyForm:propertyContentPage:propertySheet:propertSectionTextField:instanceNameProp:logFile does not match any of the selections.
>> Did you forget to reset the value after changing the options?
>>
>> //uddi.xml -- I used the same uddi.xml (minus the clerks entry) successfully with a client based on the SimplePublish example
>> <?xml version="1.0" encoding="ISO-8859-1" ?>
>> <uddi>
>>     <reloadDelay>5000</reloadDelay>
>>     <manager name="people-ws">
>>       <nodes>
>>         <node>
>> 	<name>default</name>
>> 	<description>Main jUDDI node</description>
>> 	<properties>
>> 	<property name="serverName"  value="localhost"/>
>> 	<property name="serverPort"  value="8888"/>
>> 	<property name="keyDomain"   value="juddi.apache.org"/>
>> 	<property name="department"  value="businesses" />
>> 	</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>
>>       <clerks registerOnStartup="true">
>>         <clerk name="BobCratchit" node="default" publisher="root" password="">
>>           <class>uk.ac.susx.peoplews.session.PeopleWSServiceBean</class>
>>         </clerk>
>>       </clerks>
>>     </manager>
>> </uddi>
>>
>> //part of the webservice bean
>>
>> package uk.ac.susx.peoplews.session;
>>
>> //imports
>>
>> /**
>>    *
>>    * @author jb453
>>    */
>> @Stateless
>> @UDDIService(
>>     businessKey="uddi:juddi.apache.org:cis",  /* this business is registered */
>>     serviceKey="uddi:cis-peoplews",
>>     description = "The People service")
>> @UDDIServiceBinding(
>>     bindingKey="uddi:cis-peoplews-binding",
>>     description="WSDL endpoint for the PeopleWS Service. This service is used for "
>>           + "stuff.",
>>     accessPointType="wsdlDeployment",
>>     accessPoint="https://localhost:8181/PeopleWSBean_0_0_1/PeopleWSServiceBean?wsdl")
>> @WebService(serviceName = "PeopleWSBean_0_0_1")
>> @RolesAllowed(value = "webTeamUser")
>> public class PeopleWSServiceBean implements PeopleWSServiceBeanLocal {
>>
>>
>>       //constructor
>>
>>       /*
>>        * Web methods
>>        */
>>
>>       @WebMethod
>>       public Collection<PeopleDTO>   getPeopleBySurname(@WebParam(name = "surname") String surname) {
>>           //etc
>>       }
>>
>> }
>>
>>
>>
>>
>>


Re: Registering via annotations

Posted by Kurt T Stam <ku...@gmail.com>.
Hi James,

I'm not really familiar with GlassFish, but when deploying webservices 
and/or servlets you typically deploy in a war, to involve the 
webcontainer. I take it you are 'exposing ejb's as webservices, hence 
the jar. In that case we'd need to hook into the ejb deploy/undeploy 
event to run the registration process. Maybe you can figure out some 
sort of post-deploy/undeploy hook we can tie into. Once you figure that 
out, then all you need to do is call

UDDIClerkManager manager = 
UDDIClientContainer.getUDDIClerkManager(managerName);
manager.start()

where the managerName should correspond to the one given in your uddi.xml

and on undeploy:

manager.stop()

Cheers,
--Kurt

--K

On 5/27/11 10:57 AM, James Burton wrote:
> Hi Kurt, thanks for your reply. I'm deploying the webservice as a jar, so there's no web.xml in that project, the config is in a sun-ejb.xml file...where should I define the clerk servlet? In the web.xml of the admin app on glassfish ($GLASSFISH\lib\install\applications\adminapp\adminapp_war)? I haven't tried deploying the samples war, I'll give that a try and let you know.
>
> -----Original Message-----
> From: Kurt T Stam [mailto:kurt.stam@gmail.com]
> Sent: 27 May 2011 15:27
> To: user@juddi.apache.org
> Subject: Re: Registering via annotations
>
> Hi James,
>
> That all looks good to me. Are you deploying in a jar or a war? Sounds
> like a jar. The thing is that something needs to go read the
> annotations.. So this is done by adding
>
> <servlet>
> <servlet-name>UDDIClerkServlet</servlet-name>
> <display-name>Clerk Servlet</display-name>
> <servlet-class>org.apache.juddi.v3.client.config.UDDIClerkServlet</servlet-class>
> <load-on-startup>1</load-on-startup>
> </servlet>
>
> to the web.xml.
>
> Does the juddib3-samples.war work for you?
>
> Cheers,
>
> -Kurt
> On 5/27/11 6:38 AM, James Burton wrote:
>> Hi, I've installed the juddi portal bundle 3.0.4 and can register services OK (just using the root user and jUDDI authentication for now, and I've registered services through soapUI and with a client). I want to set up registration via annotations when services are deployed on Glassfish 2.1.1. Glassfish and the portal bundle are both running locally. I added the juddi-client and uddi-ws jars to glassfish and I can deploy annotated services using netbeans 7.0, but nothing is registered. There are a couple of warnings at the end of the glassfish output, which I've attached, along with the webservice bean and my uddi.xml (which is in META-INF when the jar is deployed). Any ideas where I'm going wrong or how to troubleshoot this? Couple of things I'm not sure about -- do I need to do anything to set up the clerk (BobCratchit) or the department referred to in uddi.xml? Thanks,
>>
>> ///glassfish output
>> Container com.sun.enterprise.webservice.JAXWSContainer@17b9ff2 doesn't support class com.sun.xml.ws.api.server.Module
>> LDR5010: All ejb(s) of [PeopleWS] loaded successfully!
>> com.sun.webui.jsf.component.DropDown::The current value of component propertyForm:propertyContentPage:propertySheet:propertSectionTextField:instanceNameProp:logFile does not match any of the selections.
>> Did you forget to reset the value after changing the options?
>> JSFT0003: VariableResolver was unable to find key (logEntryDetail) in ResourceBundle (help).
>> com.sun.webui.jsf.component.DropDown::The current value of component propertyForm:propertyContentPage:propertySheet:propertSectionTextField:instanceNameProp:logFile does not match any of the selections.
>> Did you forget to reset the value after changing the options?
>>
>> //uddi.xml -- I used the same uddi.xml (minus the clerks entry) successfully with a client based on the SimplePublish example
>> <?xml version="1.0" encoding="ISO-8859-1" ?>
>> <uddi>
>>     <reloadDelay>5000</reloadDelay>
>>     <manager name="people-ws">
>>       <nodes>
>>         <node>
>> 	<name>default</name>
>> 	<description>Main jUDDI node</description>
>> 	<properties>
>> 	<property name="serverName"  value="localhost"/>
>> 	<property name="serverPort"  value="8888"/>
>> 	<property name="keyDomain"   value="juddi.apache.org"/>
>> 	<property name="department"  value="businesses" />
>> 	</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>
>>       <clerks registerOnStartup="true">
>>         <clerk name="BobCratchit" node="default" publisher="root" password="">
>>           <class>uk.ac.susx.peoplews.session.PeopleWSServiceBean</class>
>>         </clerk>
>>       </clerks>
>>     </manager>
>> </uddi>
>>
>> //part of the webservice bean
>>
>> package uk.ac.susx.peoplews.session;
>>
>> //imports
>>
>> /**
>>    *
>>    * @author jb453
>>    */
>> @Stateless
>> @UDDIService(
>>     businessKey="uddi:juddi.apache.org:cis",  /* this business is registered */
>>     serviceKey="uddi:cis-peoplews",
>>     description = "The People service")
>> @UDDIServiceBinding(
>>     bindingKey="uddi:cis-peoplews-binding",
>>     description="WSDL endpoint for the PeopleWS Service. This service is used for "
>>           + "stuff.",
>>     accessPointType="wsdlDeployment",
>>     accessPoint="https://localhost:8181/PeopleWSBean_0_0_1/PeopleWSServiceBean?wsdl")
>> @WebService(serviceName = "PeopleWSBean_0_0_1")
>> @RolesAllowed(value = "webTeamUser")
>> public class PeopleWSServiceBean implements PeopleWSServiceBeanLocal {
>>
>>
>>       //constructor
>>
>>       /*
>>        * Web methods
>>        */
>>
>>       @WebMethod
>>       public Collection<PeopleDTO>   getPeopleBySurname(@WebParam(name = "surname") String surname) {
>>           //etc
>>       }
>>
>> }
>>
>>
>>
>>
>>


RE: Registering via annotations

Posted by James Burton <Ja...@sussex.ac.uk>.
Hi Kurt, thanks for your reply. I'm deploying the webservice as a jar, so there's no web.xml in that project, the config is in a sun-ejb.xml file...where should I define the clerk servlet? In the web.xml of the admin app on glassfish ($GLASSFISH\lib\install\applications\adminapp\adminapp_war)? I haven't tried deploying the samples war, I'll give that a try and let you know.

-----Original Message-----
From: Kurt T Stam [mailto:kurt.stam@gmail.com] 
Sent: 27 May 2011 15:27
To: user@juddi.apache.org
Subject: Re: Registering via annotations

Hi James,

That all looks good to me. Are you deploying in a jar or a war? Sounds 
like a jar. The thing is that something needs to go read the 
annotations.. So this is done by adding

<servlet>
<servlet-name>UDDIClerkServlet</servlet-name>
<display-name>Clerk Servlet</display-name>
<servlet-class>org.apache.juddi.v3.client.config.UDDIClerkServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

to the web.xml.

Does the juddib3-samples.war work for you?

Cheers,

-Kurt
On 5/27/11 6:38 AM, James Burton wrote:
> Hi, I've installed the juddi portal bundle 3.0.4 and can register services OK (just using the root user and jUDDI authentication for now, and I've registered services through soapUI and with a client). I want to set up registration via annotations when services are deployed on Glassfish 2.1.1. Glassfish and the portal bundle are both running locally. I added the juddi-client and uddi-ws jars to glassfish and I can deploy annotated services using netbeans 7.0, but nothing is registered. There are a couple of warnings at the end of the glassfish output, which I've attached, along with the webservice bean and my uddi.xml (which is in META-INF when the jar is deployed). Any ideas where I'm going wrong or how to troubleshoot this? Couple of things I'm not sure about -- do I need to do anything to set up the clerk (BobCratchit) or the department referred to in uddi.xml? Thanks,
>
> ///glassfish output
> Container com.sun.enterprise.webservice.JAXWSContainer@17b9ff2 doesn't support class com.sun.xml.ws.api.server.Module
> LDR5010: All ejb(s) of [PeopleWS] loaded successfully!
> com.sun.webui.jsf.component.DropDown::The current value of component propertyForm:propertyContentPage:propertySheet:propertSectionTextField:instanceNameProp:logFile does not match any of the selections.
> Did you forget to reset the value after changing the options?
> JSFT0003: VariableResolver was unable to find key (logEntryDetail) in ResourceBundle (help).
> com.sun.webui.jsf.component.DropDown::The current value of component propertyForm:propertyContentPage:propertySheet:propertSectionTextField:instanceNameProp:logFile does not match any of the selections.
> Did you forget to reset the value after changing the options?
>
> //uddi.xml -- I used the same uddi.xml (minus the clerks entry) successfully with a client based on the SimplePublish example
> <?xml version="1.0" encoding="ISO-8859-1" ?>
> <uddi>
>    <reloadDelay>5000</reloadDelay>
>    <manager name="people-ws">
>      <nodes>
>        <node>
> 	<name>default</name>
> 	<description>Main jUDDI node</description>
> 	<properties>
> 	<property name="serverName"  value="localhost"/>
> 	<property name="serverPort"  value="8888"/>
> 	<property name="keyDomain"   value="juddi.apache.org"/>
> 	<property name="department"  value="businesses" />
> 	</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>
>      <clerks registerOnStartup="true">
>        <clerk name="BobCratchit" node="default" publisher="root" password="">
>          <class>uk.ac.susx.peoplews.session.PeopleWSServiceBean</class>
>        </clerk>
>      </clerks>
>    </manager>
> </uddi>
>
> //part of the webservice bean
>
> package uk.ac.susx.peoplews.session;
>
> //imports
>
> /**
>   *
>   * @author jb453
>   */
> @Stateless
> @UDDIService(
>    businessKey="uddi:juddi.apache.org:cis",  /* this business is registered */
>    serviceKey="uddi:cis-peoplews",
>    description = "The People service")
> @UDDIServiceBinding(
>    bindingKey="uddi:cis-peoplews-binding",
>    description="WSDL endpoint for the PeopleWS Service. This service is used for "
>          + "stuff.",
>    accessPointType="wsdlDeployment",
>    accessPoint="https://localhost:8181/PeopleWSBean_0_0_1/PeopleWSServiceBean?wsdl")
> @WebService(serviceName = "PeopleWSBean_0_0_1")
> @RolesAllowed(value = "webTeamUser")
> public class PeopleWSServiceBean implements PeopleWSServiceBeanLocal {
>
>
>      //constructor
>
>      /*
>       * Web methods
>       */
>
>      @WebMethod
>      public Collection<PeopleDTO>  getPeopleBySurname(@WebParam(name = "surname") String surname) {
>          //etc
>      }
>
> }
>
>
>
>
>


Re: Registering via annotations

Posted by Kurt T Stam <ku...@gmail.com>.
Hi James,

That all looks good to me. Are you deploying in a jar or a war? Sounds 
like a jar. The thing is that something needs to go read the 
annotations.. So this is done by adding

<servlet>
<servlet-name>UDDIClerkServlet</servlet-name>
<display-name>Clerk Servlet</display-name>
<servlet-class>org.apache.juddi.v3.client.config.UDDIClerkServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

to the web.xml.

Does the juddib3-samples.war work for you?

Cheers,

-Kurt
On 5/27/11 6:38 AM, James Burton wrote:
> Hi, I've installed the juddi portal bundle 3.0.4 and can register services OK (just using the root user and jUDDI authentication for now, and I've registered services through soapUI and with a client). I want to set up registration via annotations when services are deployed on Glassfish 2.1.1. Glassfish and the portal bundle are both running locally. I added the juddi-client and uddi-ws jars to glassfish and I can deploy annotated services using netbeans 7.0, but nothing is registered. There are a couple of warnings at the end of the glassfish output, which I've attached, along with the webservice bean and my uddi.xml (which is in META-INF when the jar is deployed). Any ideas where I'm going wrong or how to troubleshoot this? Couple of things I'm not sure about -- do I need to do anything to set up the clerk (BobCratchit) or the department referred to in uddi.xml? Thanks,
>
> ///glassfish output
> Container com.sun.enterprise.webservice.JAXWSContainer@17b9ff2 doesn't support class com.sun.xml.ws.api.server.Module
> LDR5010: All ejb(s) of [PeopleWS] loaded successfully!
> com.sun.webui.jsf.component.DropDown::The current value of component propertyForm:propertyContentPage:propertySheet:propertSectionTextField:instanceNameProp:logFile does not match any of the selections.
> Did you forget to reset the value after changing the options?
> JSFT0003: VariableResolver was unable to find key (logEntryDetail) in ResourceBundle (help).
> com.sun.webui.jsf.component.DropDown::The current value of component propertyForm:propertyContentPage:propertySheet:propertSectionTextField:instanceNameProp:logFile does not match any of the selections.
> Did you forget to reset the value after changing the options?
>
> //uddi.xml -- I used the same uddi.xml (minus the clerks entry) successfully with a client based on the SimplePublish example
> <?xml version="1.0" encoding="ISO-8859-1" ?>
> <uddi>
>    <reloadDelay>5000</reloadDelay>
>    <manager name="people-ws">
>      <nodes>
>        <node>
> 	<name>default</name>
> 	<description>Main jUDDI node</description>
> 	<properties>
> 	<property name="serverName"  value="localhost"/>
> 	<property name="serverPort"  value="8888"/>
> 	<property name="keyDomain"   value="juddi.apache.org"/>
> 	<property name="department"  value="businesses" />
> 	</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>
>      <clerks registerOnStartup="true">
>        <clerk name="BobCratchit" node="default" publisher="root" password="">
>          <class>uk.ac.susx.peoplews.session.PeopleWSServiceBean</class>
>        </clerk>
>      </clerks>
>    </manager>
> </uddi>
>
> //part of the webservice bean
>
> package uk.ac.susx.peoplews.session;
>
> //imports
>
> /**
>   *
>   * @author jb453
>   */
> @Stateless
> @UDDIService(
>    businessKey="uddi:juddi.apache.org:cis",  /* this business is registered */
>    serviceKey="uddi:cis-peoplews",
>    description = "The People service")
> @UDDIServiceBinding(
>    bindingKey="uddi:cis-peoplews-binding",
>    description="WSDL endpoint for the PeopleWS Service. This service is used for "
>          + "stuff.",
>    accessPointType="wsdlDeployment",
>    accessPoint="https://localhost:8181/PeopleWSBean_0_0_1/PeopleWSServiceBean?wsdl")
> @WebService(serviceName = "PeopleWSBean_0_0_1")
> @RolesAllowed(value = "webTeamUser")
> public class PeopleWSServiceBean implements PeopleWSServiceBeanLocal {
>
>
>      //constructor
>
>      /*
>       * Web methods
>       */
>
>      @WebMethod
>      public Collection<PeopleDTO>  getPeopleBySurname(@WebParam(name = "surname") String surname) {
>          //etc
>      }
>
> }
>
>
>
>
>