Hi,

We have a requirement to provide different web services in our application.
We need to allow our customers create these web services, so we don't know
up front what each web service name, operations etc.  We are using Axis to
provide web services.  I don't want to write a separate java class for each
web service and deploy using AdminClient.  For that one solution I found
through this mailing list is to write my own handler and specify in the
server-config.wsdd file using the following format:

 <service name="MyWebService" provider="Handler">
  <parameter name="handlerClass"
value="com.peregrine.arsys.MyWebServiceProvider"/>
 </service>

This works, but I have two questions:

1. MyWebServiceProvider class is written by modifying the source code of
JavaProvider, RPCProvider, MsgProvider classes taken from Axis sources.  Is
this the right way?  I am worried about the maintenance point of view.  In
order to get the latest changes, for each version of Axis, we need to take
the Axis sources and apply our changes in MyWebServiceProvider.

2. By deploying only one web service, we don't have different end point URLs
for each web service we support.  All of them need to use
http://localhost/axis/services/MyWebService so that all requests come to
MyWebServiceProvider.  We are planning to use the namespace to differentiate
the web services.  In each web service WSDL, we provide a different
namespace.   Clients can use that namespace to call our web services, but
all of them use the same end point url.  Is it correct design?  Can there be
any issues in interoperability with .NET or other clients?

Any feedback is greatly appreciated.

Thanks,
Venkat

Venkat Dokiparthi
Staff Engineer
Peregrine Systems
650-903-5294(pH) 650-919-5676(fax)
mailto:[EMAIL PROTECTED]
http://www.peregrine.com

Reply via email to