Hello Dov, Cyrille,

I didn't follow this thread so I might have misunderstood what Dov is trying, but I believe each WSDL is associated with one WSDD, but a WSDL can contain several services and each will get an entry with its impl class in the WSDD.

You can use Java2WSDL's "-i" option to add several services to one WSDL.
Depending on how you join your services into one WSDL, you'll have one or more Service Interfaces (ServiceLocator classes) to look up the Stubs with.

After deploying them once, you can copy the generated server-config.wsdd (the one that was generated at deployment, not the one you generated yourself with WSDL2Java) and use that next time to "auto-deploy".

If you deploy services one by one (using deploy.wsdd), their definitions will be merged into one server-config.wsdd. I would not be surprised if you could use that merged server-config.wsdd too, even if the contents came from different deployments and different WSDL files.

Dov, did you have any problems or are you just wondering whether it is "allowed" before trying it out?

Regards,
Dies


Cyrille Le Clerc wrote:
   Hi Dov,

   From an Axis wsdd standpoint one each wsdl is associated with one
implementation class (via the <service> element in the wsdd).

   Due to this, I don't see how you can associate 1 single wsdl with
your 3 classes.

   Did you try to call java2wsdl on each of your services ? It will
give you the deploy.wsdd (I don't remember if you will need to call
wsdl2java on the generated wsdl to get the wsdd).

   Cyrille

On 2/1/06, Dov Rosenberg <[EMAIL PROTECTED]> wrote:
If the server-config.wsdd already has my services configured in it, do I
still need to create ant tasks to do the static deploy like you mentioned
below?

I am having some difficulties because my web services are defined in a
packages like:

    com.inquira.imws.impl.ContentService
    com.inquira.imws.impl.SecurityService
    com.inquira.imws.impl.CategoryService

Each class has a handful of methods exposed as web service calls. Each
method call only uses java primitives or bean type classes as parameters.
The beans are defined in another package com.inquira.imws.beans. Exceptions
are defined in com.inquira.imws.exceptions.

I created a single wsdl that contains references to all of my services and
their methods. I am trying to set this up so all an end user needs to do is
to install the WAR file and go. No separate deployment - it would autodeploy
based on the server-config.wsdd





On 2/1/06 4:18 PM, "Cyrille Le Clerc" <[EMAIL PROTECTED]> wrote:

   Hello Dov,

SERVER-CONFIG.WSDD VS DEPLOY.WSDD

- server-config.wsdd is the configuration file of the Axis Server. It
contains the description of all the web services that are deployed on
your server (+ some other configuration data).

- deploy.wsdd is generated at the same time as your stubs when you use
java2wsdl. deploy.wsdd is used by the deployment tool to deploy the
given service. Once your service is deployed, you no longer need this
file.


HOW TO DEPLOY A SERVICE IN AXIS ?

There are two ways :

- When your Axis Server is running invoking the AdminClient tool
 * command line sample :
    % java org.apache.axis.client.AdminClient deploy.wsdd
 * command line doc :
http://ws.apache.org/axis/java/user-guide.html#CustomDeploymentIntroducingWSDD
 * Ant task <axis-admin> doc : http://ws.apache.org/axis/java/ant/ant.html
 * Note that the deployment will be persistent (server-config.wsdd
will be updated)

- When you server is stopped invoking org.apache.axis.utils.Admin
 * Ant task doc : http://wiki.apache.org/ws/FrontPage/Axis/StaticDeployment


SUGGESTION TO BUILD & DEPLOY

I prefer to deploy my web services in my Axis server at build time
rather than run time.

To do this, I use Ant tasks to wsdl2java and then deploy. It has the
great advantage of being reproductible.

It looks like this :

<target name="wsdl2javaSayHello" depends="init">
  <axis-wsdl2java
     output="src/java" deployScope="Application"
     verbose="true" serverSide="true" testcase="true"
     url="src/wsdl/helloWorld.wsdl">
  </axis-wsdl2java>
</target>

<target name="staticDeployHelloWorld">
  <java classname="org.apache.axis.utils.Admin"
     fork="true" dir="src/webapp/WEB-INF">

     <arg value="server" />
     <arg value="src/java/cyrille/ws/sample/deploy.wsdd" />
     <classpath>
        <pathelement location="target/classes" />
        <path refid="axis.classpath" />
     </classpath>
  </java>
</target>

   Hope this helps,

   Cyrille

--
Cyrille Le Clerc
[EMAIL PROTECTED]
[EMAIL PROTECTED]


On 2/1/06, Dov Rosenberg <[EMAIL PROTECTED]> wrote:
 We have started using Axis 1.2 to build and deploy some web services. I am
a little confused as to the actual deployment of our new web services. We
are deploying inside Tomcat and have all of the necessary files in place to
run.

 Q. I am confused about the difference between server-config.wsdd and
deploy.wsdd. We are using Eclipse and it seems that there is a deploy.wsdd
for each service that we are offering. Are these automatically merged into
the server-config.wsdd when the app starts or can I prebuild the
server-config.wsdd and deploy it as part of our build process?

 Q. Do I need the deploy.wsdd files?

 Q. Is there a better/easier way to create these deployment descriptors? It
seems the manual method is prone to errors.

 Thanks in advance for any help you can provide


Reply via email to