You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@juddi.apache.org by Lionel ANDRÉ <li...@gmail.com> on 2012/11/16 11:44:54 UTC

Publishing a web service using juddi v3 and annotations

Hi all,

I have many problems for publishing my webservice to a juddi registry (I
use the portal bundle).
I work with JBoss AS 7.1.1 and Juddi v3.1.3.

It seems that my uddi.xml isn't read. I say that because in the startup
logs I have the following trace :

"11:40:44,823 INFO  [org.jboss.wsf.stack.cxf.metadata.MetadataBuilder] (MSC
service thread 1-2) Add Service
 id=org.apache.juddi.v3.client.mapping.UDDIClientSubscriptionListenerImpl
 address=
http://localhost:8081/webNeptune/UDDIClientSubscriptionListenerService[...]"

It's written "[...] address=http://localhost:8081/ [...]" whereas I set
localhost:8082 in the uddi.xml.

Could you help me please ?

Here the steps I followed :
..........................................................................................................................................................
1) Add the Juddi maven dependency :

<dependency>
     <groupId>org.apache.juddi</groupId>
     <artifactId>juddi-client</artifactId>
     <version>3.1.3</version>
</dependency>
..........................................................................................................................................................
2) Create the uddi.xml file in the META-INF :

<?xml version="1.0" encoding="ISO-8859-1" ?>
<uddi>
    <reloadDelay>5000</reloadDelay>
    <manager name="manager">
        <nodes>
            <node>
                <name>default</name>
                <description>Main node</description>
                <properties>
                    <property name="serverName" value="localhost"/>
                    <property name="serverPort" value="8082"/>
                    <property name="keyDomain" value="app.domain.com"/>
                </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="aClerk" node="default" publisher="root">
                <class>com.domain.app.common.server.com.EJBWS</class>
            </clerk>
        </clerks>
    </manager>
</uddi>
..........................................................................................................................................................
3) Annotate the webservice interface :

@WebService
public interface EJBWS_Interface {
    public abstract String hello();
}
..........................................................................................................................................................
4) Annotate the webservice implementation :

@Stateless
@UDDIService(
    businessKey="uddi:${keyDomain}:neptune",
    serviceKey="uddi:${keyDomain}:testService",
    description="Service Hello"
)
@UDDIServiceBinding(
    bindingKey="uddi:${keyDomain}:testService",
    description="test webservice",
    accessPointType="wsdlDeployment",

accessPoint="${serverName}:${serverPort}/juddiv3/services/testService?wsdl"
)
@WebService(
    endpointInterface =
"com.domain.app.common.server.com.EJBWS_Interface",
    serviceName = "EJBWS"
)
public class EJBWS implements EJBWS_Interface {
    @Override
    public String hello()
    {
        return "Hello";
    }
}
..........................................................................................................................................................
5) Deploy and startup my JBoss AS 7 server

Re: Publishing a web service using juddi v3 and annotations

Posted by Lionel ANDRÉ <li...@gmail.com>.
Hi Kurt,

Many thanks for your answer.

At the moment, I use the juddi portal bundle. So I have two applications
servers : one for Juddi (Tomcat on 8082 port) and one for my web
application (JBoss AS 7 on 8081 port).
In the future, I will deploy Juddi on the same server than the one used for
my web application (JBoss AS7).

I don't define any reference for for the clerkServlet. I don't find any
information about that in the documentation. Does this reference make than
my application read the uddi.xml ?

I will try that.

(PS : I've subscribed to the mailing list ;)

Lionel.


*
*
*Lionel ANDRÉ*
*06 18 49 37 69*



2012/11/16 Kurt T Stam <ku...@gmail.com>

>  Hi Lionel,
>
> 1. Please sign up with the user forum so your emails go through and you
> will receive the responses: http://juddi.apache.org/mail-lists.html
>
> 2. Are you deploying the jUDDI v3.1.3 war to JBoss AS 7.1.1 as well?
>
> 3. In your war file that contains the services did you add the reference
> to the clerkServlet?
>
>   <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>
>
> This should uddi.xml
>
> --Kurt
>
>
> On 11/16/12 5:44 AM, Lionel ANDRÉ wrote:
>
> Hi all,
>
> I have many problems for publishing my webservice to a juddi registry (I
> use the portal bundle).
> I work with JBoss AS 7.1.1 and Juddi v3.1.3.
>
> It seems that my uddi.xml isn't read. I say that because in the startup
> logs I have the following trace :
>
> "11:40:44,823 INFO  [org.jboss.wsf.stack.cxf.metadata.MetadataBuilder]
> (MSC service thread 1-2) Add Service
>  id=org.apache.juddi.v3.client.mapping.UDDIClientSubscriptionListenerImpl
>  address=
> http://localhost:8081/webNeptune/UDDIClientSubscriptionListenerService[...]"
>
> It's written "[...] address=http://localhost:8081/ [...]" whereas I set
> localhost:8082 in the uddi.xml.
>
> Could you help me please ?
>
> Here the steps I followed :
>
> ..........................................................................................................................................................
> 1) Add the Juddi maven dependency :
>
> <dependency>
>      <groupId>org.apache.juddi</groupId>
>      <artifactId>juddi-client</artifactId>
>      <version>3.1.3</version>
> </dependency>
>
> ..........................................................................................................................................................
> 2) Create the uddi.xml file in the META-INF :
>
> <?xml version="1.0" encoding="ISO-8859-1" ?>
> <uddi>
>     <reloadDelay>5000</reloadDelay>
>     <manager name="manager">
>         <nodes>
>             <node>
>                 <name>default</name>
>                 <description>Main node</description>
>                 <properties>
>                     <property name="serverName" value="localhost"/>
>                     <property name="serverPort" value="8082"/>
>                     <property name="keyDomain" value="app.domain.com"/>
>                 </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="aClerk" node="default" publisher="root">
>                 <class>com.domain.app.common.server.com.EJBWS</class>
>             </clerk>
>         </clerks>
>     </manager>
> </uddi>
>
> ..........................................................................................................................................................
> 3) Annotate the webservice interface :
>
> @WebService
> public interface EJBWS_Interface {
>     public abstract String hello();
> }
>
> ..........................................................................................................................................................
> 4) Annotate the webservice implementation :
>
> @Stateless
> @UDDIService(
>     businessKey="uddi:${keyDomain}:neptune",
>     serviceKey="uddi:${keyDomain}:testService",
>     description="Service Hello"
> )
> @UDDIServiceBinding(
>     bindingKey="uddi:${keyDomain}:testService",
>     description="test webservice",
>     accessPointType="wsdlDeployment",
>
> accessPoint="${serverName}:${serverPort}/juddiv3/services/testService?wsdl"
> )
> @WebService(
>     endpointInterface =
> "com.domain.app.common.server.com.EJBWS_Interface",
>     serviceName = "EJBWS"
> )
> public class EJBWS implements EJBWS_Interface {
>     @Override
>     public String hello()
>     {
>         return "Hello";
>     }
> }
>
> ..........................................................................................................................................................
> 5) Deploy and startup my JBoss AS 7 server
>
>
>

Re: Publishing a web service using juddi v3 and annotations

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

1. Please sign up with the user forum so your emails go through and you 
will receive the responses: http://juddi.apache.org/mail-lists.html

2. Are you deploying the jUDDI v3.1.3 war to JBoss AS 7.1.1 as well?

3. In your war file that contains the services did you add the reference 
to the clerkServlet?

   <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>

This should uddi.xml

--Kurt

On 11/16/12 5:44 AM, Lionel ANDRÉ wrote:
> Hi all,
>
> I have many problems for publishing my webservice to a juddi registry 
> (I use the portal bundle).
> I work with JBoss AS 7.1.1 and Juddi v3.1.3.
>
> It seems that my uddi.xml isn't read. I say that because in the 
> startup logs I have the following trace :
>
> "11:40:44,823 INFO [org.jboss.wsf.stack.cxf.metadata.MetadataBuilder] 
> (MSC service thread 1-2) Add Service
>  id=org.apache.juddi.v3.client.mapping.UDDIClientSubscriptionListenerImpl
>  address=http://localhost:8081/webNeptune/UDDIClientSubscriptionListenerService 
> [...]"
>
> It's written "[...] address=http://localhost:8081/ [...]" whereas I 
> set localhost:8082 in the uddi.xml.
>
> Could you help me please ?
>
> Here the steps I followed :
> ..........................................................................................................................................................
> 1) Add the Juddi maven dependency :
>
> <dependency>
>      <groupId>org.apache.juddi</groupId>
>      <artifactId>juddi-client</artifactId>
>      <version>3.1.3</version>
> </dependency>
> ..........................................................................................................................................................
> 2) Create the uddi.xml file in the META-INF :
>
> <?xml version="1.0" encoding="ISO-8859-1" ?>
> <uddi>
>     <reloadDelay>5000</reloadDelay>
>     <manager name="manager">
>         <nodes>
>             <node>
>                 <name>default</name>
>                 <description>Main node</description>
>                 <properties>
>                     <property name="serverName" value="localhost"/>
>                     <property name="serverPort" value="8082"/>
>                     <property name="keyDomain" value="app.domain.com 
> <http://app.domain.com>"/>
>                 </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="aClerk" node="default" publisher="root">
> <class>com.domain.app.common.server.com.EJBWS</class>
>             </clerk>
>         </clerks>
>     </manager>
> </uddi>
> ..........................................................................................................................................................
> 3) Annotate the webservice interface :
>
> @WebService
> public interface EJBWS_Interface {
>     public abstract String hello();
> }
> ..........................................................................................................................................................
> 4) Annotate the webservice implementation :
>
> @Stateless
> @UDDIService(
>     businessKey="uddi:${keyDomain}:neptune",
>     serviceKey="uddi:${keyDomain}:testService",
>     description="Service Hello"
> )
> @UDDIServiceBinding(
>     bindingKey="uddi:${keyDomain}:testService",
>     description="test webservice",
>     accessPointType="wsdlDeployment",
> accessPoint="${serverName}:${serverPort}/juddiv3/services/testService?wsdl"
> )
> @WebService(
>     endpointInterface = 
> "com.domain.app.common.server.com.EJBWS_Interface",
>     serviceName = "EJBWS"
> )
> public class EJBWS implements EJBWS_Interface {
>     @Override
>     public String hello()
>     {
>         return "Hello";
>     }
> }
> ..........................................................................................................................................................
> 5) Deploy and startup my JBoss AS 7 server