Web Service Development Guide : PART II Client and Server Options : Chapter 8 Developing Services
Chapter 8 Developing Services
Overview
This chapter presents the various options available for creating a service using HydraExpress. This example complements Chapter 7, “Developing Clients,” both of which are based on the provided example DayofWeek located in your <installdir>\examples\webservices\DayOfWeek directory.
Chapter 7 generates code to create both a client and server for the DayofWeek example, and discusses the client and options for creating a client. This chapter discusses the service, options for creating a service, and building and testing the service using the client.
The WSDL file DayOfWeek.wsdl defines a single operation, GetDayOfWeek. Since this example focuses on the process of working with the generated components rather than designing an implementation, the service is deliberately simple. The operation receives a message containing an XML Schema date part. The operation returns a message containing an XML Schema string that holds the day of the week on the date provided.
For a basic discussion on generating code, see Chapter 3, “Creating a Web Service.”
To create a service:
Invoke the generator (“Invoking the Generator”).
Implement the server (“Using the Server Implementation”).
Compile the server implementation (“Compiling the Service”).
Deploy the service (“Deploying the Service”).
To test the service, use the client as described in Chapter 7, “Developing Clients.” “Further Options” describes additional considerations involved in creating a server suitable for production.
HydraExpress generates three server-side classes:
an abstract base class from which the concrete service implementation derives
a sample concrete service implementation
a SOAP message handling class
The generator overwrite-protects sample implementations, configuration files, and generated makefiles, meaning that subsequent code generations append .sample to the file if a file of the same name exists in the code generation directory. See “Overwrite Protection.”
NOTE >> If you modify a file with a .sample extension, be sure to remove the extension or rename the file before rerunning the code generator, or your changes will be overwritten.