This package contains the Cougaar
{@link org.cougaar.core.service.WebServicesService} provider
and example SOAP applications.
The {@link org.cougaar.lib.web.axis.WebServicesProvider}
advertises the {@link org.cougaar.core.service.WebServicesService},
allowing plugins to register their WSDL to receive SOAP calls.
The examples are:
- Cougaar-to-External "Distance"
An example of a Cougaar plugin that sends an external SOAP
call, in this case to a service that calculates the distance
between any two ZIP codes. The {@link
org.cougaar.lib.web.axis.distance.DistanceQueryPlugin} listens
for blackboard {@link
org.cougaar.lib.web.axis.distance.DistanceQuery} objects,
invokes the external service, and sets the {@link
org.cougaar.lib.web.axis.distance.DistanceQuery} distance field.
In this example, the {@link
org.cougaar.lib.web.axis.distance.DistanceQuery} objects are
created by a simple {@link
org.cougaar.lib.web.axis.distance.DistanceQueryTest} plugin.
This example also illustrates how to make synchronous v.s.
asynchronous SOAP calls.
- External-to-Cougaar "BlackboardCount"
An example of a Cougaar plugin that receives external SOAP
calls, in this case a query for a table of blackboard object
classnames to their count on the node-agent's blackboard. The {@link
org.cougaar.lib.web.axis.blackboardCount.BlackboardCountPlugin}
registers a WSDL in the {@link
org.cougaar.core.service.WebServicesService} for "BlackboardCount"
SOAP requests. A simple external command-line {@link
org.cougaar.lib.web.axis.blackboardCount.BlackboardCountClient} can
be used to test the "BlackboardCount" service.
- Cougaar-to-Cougaar "SOAPLinkProtocol"
A Cougaar Message Transport {@link
org.cougaar.lib.web.axis.mts.SOAPLinkProtocol} that illustrates
both of the above example uses:
- A Cougaar-to-External SOAP caller to send
Cougaar agent-to-agent messages
- An External-to-Cougaar SOAP listener to receive
Cougaar agent-to-agent messages
For more detail, see the
Cougaar Developers' Guide.
|