You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Jeff Greif <jg...@alumni.princeton.edu> on 2006/05/18 01:15:48 UTC

[axis2] dispatch model reference doc

Is there a good reference to the possible dispatching models available
in Axis2, or is reading the source the way to find out?  The api
javadoc is too sparse to learn much.

This is what I'm trying to achieve:

There is a single web service implementation class which implements a
dynamic set of web services.  Each of these services exposes a wsdl,
and each is allowed to have a different endpoint (all within the
URL-space handled by the Axis servlet).  For example,
http://localhost:some-port/MasterService/service-1 and
http://localhost:some-port/MasterService/service-2 would be dispatched
to the class implementing MasterService, which would use the
"service-n" part of the URL and perhaps other content of the request
like SOAP-Action or element-name of the soap body child to look up in
its configuration information how to process further.

An example might be a generic XSLT service that processes one or more
input documents with a transform determined by the service-n part of
the URL (perhaps plus other info like SOAP-Action), and returns one or
more documents in the result.  Each service-n would have a different
wsdl or would be a different operation in one wsdl.  Another example
might be a BPEL engine which exposes composite web services with their
own wsdls, but interprets a BPEL descriptor in order to execute one of
them on the inputs provided.

In Axis1, I would provide a message-style service that accessed the
request, message context and servlet context to determine how to
process the request.  What is the analog, if any, in Axis2?

The following related question applies to both axis1 and axis2.

For the dynamic set of services described above, there would be only
one service Axis knows about, the MasterService described in the
deployment descriptor.  However, the dynamic set of services should be
able to provide their wsdls via requests for urls like
http://localhost:some-port/MasterService/service-n?wsdl.  Is there a
way to plug into the wsdl-location machinery in Axis1 and/or Axis2 to
be able to find these wsdls somewhere in the classpath using the
service-n name or to provide a class that could generate them on the
fly from the configuration information?

Thanks much for any assistance.

Jeff