I tried to do something today that I thought I understood. I am
sending this report to 'users' because I'm curious as to whether
non-developer users have similar problems.

I started with a Simple front end + Aegis service. Like what seems to
be everyone else, I just started with a pojo class (and I added a
.aegis.xml for some options).

Then I decided that I wanted to also use Aegis for a client. So, I
refactored an interface out of the service, and the fun began.

I did not want parameters named 'arg0, arg1, ...'.

I tried to follow the recipe of 'use the wsdl on the client side.'
This added up to:

1) Server side uses implementation as the 'serviceClass'.
2) Client side uses interface as the 'serviceClass', plus WSDL.

The immediate effect of this was a disagreement about the name of the
port. ClientProxyFactoryBean and ReflectionServiceFactoryBean have no
convenient way to name the port type. They derive it from the name of
the serviceClass. The only way to change it is to create and register
a ServiceConfiguration object.

Then I realized that I need two copies of the .aegis.xml: one named
for the interface for use on the client, and one named for the pojo
for use on the server.

Gosh this seems like a muddle. I could give up and just specify
parameter names in a .aegis.xml for the interface and use the
interface as the serviceClass on both ends, and the heck with the
WSDL. Then, though, I have to wonder why we bother to tell people that
making the client consume the WSDL is such a great idea.

Reply via email to