Hi Everybody

We have used web services using the axis implementation on one of our
projects. Among other things the web services served as a bridge between a
.NET client and a J2EE backend and is actually working quite well. But
anyway, during the implementation of the project some 'problems' popped up,
and we still do not have a satisfactory answer to some of them. Since these
questions are somewhat 'generic', maybe one of you has come across the same
problems ...

1) READ ONLY FIELDS - A lot of the web services are used to 'browse' through
existing data. Most of the 'data' is represented as simple beans. But, some
of the fields are - from the business perspective - read only and therefore,
e.g. the Java-Java interface does not expose a set method for those fields
to avoid a misusage of the interface. Unfortunately, the beans transferred
through the web service must be 'real' java beans - with public set/get
method - in order to get transferred correctly by the BeanSerializer. We
thought about writing our own version of a serializer, but some of the web
services are provided to the outside world and understandable we were quite
reluctant to provide custom serializers to the rest of the world. The
question of course is: Is there a way to 'define' read only methods on the
web service itself. The best solution we currently have are server side
checks, but unless everything is tested thoroughly problems will popup when
already in production.

2) DOCUMENTATION - The Java-Java interface is using javadoc for its
documentation which is sufficient. We would of course have liked to 'embed'
the documentation of the web service into the web service itself as first of
all no one is reading any 'printed' documentation and keeping a separate
document up to date is always a real pain and I have never seen it working
anyway (beside the big documentation update in the end of a project).

3) WSDL FILE GENERATION - We used wsdd files to deploy the web services. The
description of the web service (wsdl) is then provided by axis. We wrote
unit test in Java to test the web services. The client side stub is
generated from the wsdl file provided by axis. The problem we faced: To
generate an up-to-date client stub the web service needs to be deployed in
order to access the wsdl file. Though it would have been possible to embed
something like this into our build environment/process it is not simple (you
need to start the application server, what do you do if there is already an
application server running, etc.). Axis provides the java2wsdl tool which
should be able to generate an wsdl file from java source. But then, who
guarantees that the wsdl file provided by the deployment of the web service
is the same as the one generated by java2wsdl? Instead of generating the
wsdl file we would have liked to generate the wsdd file! But we have not
found a way ...

Ok, that's should be enough for the moment. All comments are greatly
appreciated!
Thanks

Alex
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.530 / Virus Database: 325 - Release Date: 10/22/03

Reply via email to