BidBuy Interoperability Sample

Apache SOAP specific code authored by: Matthew J. Duftler <duftler@us.ibm.com>

This directory contains code which implements a scenario developed for the SOAP interoperability face-to-face summarized here. This README only describes how to run the sample, and doesn't attempt to repeat any of the information contained within that summary or in its associated links. You can also look at sample Registry and BidBuy service WSDL files.
Note: This sample was completed long after the interop session had occurred, and efforts have been made to increase compatibility significantly.

Acknowledgements

Thanks go out to Doug Davis and the rest of the Axis development team for use of their BidBuy Client GUI as well as for detailed help on developing the sample.

Client-Side

The client portion of this scenario utilizes a GUI created by the developers who are working on the Axis project. The GUI, whose fully-qualified class name is samples.bidbuy.client.rfq, delegates all of its actions to an implementation of a samples.bidbuy.client.vInterface. For Apache SOAP, this interface is implemented in the samples.bidbuy.client.ApacheSoapV2 class.

To run the client, make sure that you classpath contains soap.jar and the directory which contains the samples directory, then enter:

java samples.bidbuy.client.rfq

Note: There is a file called reg.lst, located in the samples/bidbuy/client/registry directory, which contains information about all known registries of BidBuy services. The client will look in the start-up directory for this file, and if it can't find it, you will have to manually add the registries via the GUI.

Server-Side

The server portion of this scenario consists of 2 services: one that implements the RequestForQuote services, and another that implements the Buy and SimpleBuy services.

To deploy the first service, change to the samples/bidbuy/server/registry directory and enter:

java.org.apache.soap.server.ServiceManagerClient http://soap-server:soap-port/soap/servlet/rpcrouter deploy DeploymentDescriptor.xml

where soap-server and soap-port are the hostname and port of the machine where the rpcrouter servlet is deployed. Alternatively, you could run deploy.bat from that directory, but it assumes localhost:8080.

To deploy the second service, change to the samples/bidbuy/server/bid directory and enter:

java org.apache.soap.server.ServiceManagerClient http://soap-server:soap-port/soap/servlet/rpcrouter deploy DeploymentDescriptor.xml

where soap-server and soap-port are the hostname and port of the machine where the rpcrouter servlet is deployed. Again, you could alternatively run deploy.bat from that directory, but it assumes localhost:8080.

Trying it Out

You can use the client and the server to talk to one another on the same machine, you can use the client to talk to other servers, or you can have other clients talk to your server. (There is nothing that binds the client and the server together, the are just bundled that way for convenience.)
Note: The servers listed in reg.lst are scattered all over the Internet, so you will need external access to be able to use them.

To try out the sample, start up the client as indicated above and select a Registration Server from the list at the top of the GUI, or enter a new one. (Even if there is a name in the box at the top, you will need to pick one from the list.) The client will then talk to the selected registry and after a couple of seconds will retrieve the list of registered BidBuy services. Place a checkmark next to one or more of the services that you wish to talk to, and click on the Request RFQs button. Assuming that everything is working correctly, you should get numbers appearing in the Quote column of the services which you selected after a second or two. You can then select one of the services that you received a quote from and issue a Simple Buy or PO Buy request to it using the bottom portion of the interface.

If you want to add or remove BidBuy services from the list on your client, you can use the Add Bid Server and Remove Server buttons, respectively.

WARNING: The Register Server and Unregister Server buttons will modify the actual registries, so unless you are putting up a server for other people to test against, or unless you are acting against your own registry, DO NOT USE THEM!

Last updated 5/24/2001 by Bill Nagy <nagy@watson.ibm.com>.