The Generated Data Classes
To see the code generated for the WeatherSummary.wsdl, ensure that your environment is set up as discussed in Chapter 2, Setup in the HydraExpress User Guide, open a command prompt, and navigate to the directory <installdir>\examples\webservicesug\WeatherSummary.
The command:
 
prompt> rwsfgen example-project.xml
generates code into a code generation directory WeatherSummaryExample. Because the HydraExpress project file example-project.xml points to a WSDL file that contains a schema, the generated project structure will include data subdirectories as well as a relevant namespace directory, as illustrated in Table 4.
In order to simplify this discussion, this table does not list the generated client and server classes, but only the datatype classes.
Table 4 – Relevant files generated for WeatherSummary.wsdl 
Directory
Files
Description
WeatherSummaryExample/
WeatherSummaryExample.xml
Project file defining all project elements. See The Generated Project Directory.
    app/
makefile
makefile_debug
Makefiles for app directory. Overwrite protected.
        /data
WeatherSummary_types_main.cpp
WeatherSummary_types_main.vcproj
Sample application file.Overwrite protected.
MSVC project file (Windows only)
    codegen/
makefile
makefile_debug
Makefiles for codegen directory. Overwrite protected.
        /data/
makefile
makefile_debug
Makefiles for data directory.
Overwrite protected.
            /wsx
WeatherSummary.cpp
WeatherSummaryMarshal.cpp
Source files for the datatype classes sorted into separate namespace directories
    docs/
index.html
HTML documentation files
    include/
 
 
        /WeatherSummaryExample
subdirectory projectname
 
WeatherSummary_typesConverter.h
Conversion utility class header file (to convert the simple types defined in the datamap to and from the underlying string class, string)
            wsx
WeatherSummary.h
WeatherSummaryMarshal.h
Header files for the datatype classes
The docs directory contains HTML documentation. Single-click access is provided through the index.html file in the docs directory.
The generator creates one data type class named WeatherSummary, based on the complexType’s name attribute. The source file for class WeatherSummary is placed into the codegen\data\wsx directory, where wsx is the namespace. The data type header file is placed into the include\WeatherSummary\wsx directory where WeatherSummary is the project name.
Class WeatherSummary provides accessors to work with the data, and also includes unmarshal() methods that populate an instance of the class from a serialized WeatherSummary type element, and marshal() methods for converting an instance of the class to a serialized format. These methods pass the marshaling and unmarshaling logic to the generated external marshaling class, WeatherSummaryMarshal. This class contains the logic to unmarshal and marshal the data and is called by WeatherSummary’s unmarshal() and marshal() methods. Unless you are customizing the marshaling and unmarshaling process in some way, you do not need to explicitly use the marshaling class.
The directory app\data contains the sample application for manipulating datatypes (The Data “main” Sample Application), and the directory include contains relevant include and header files.
NOTE: Source code other than that in the app directory is not overwrite protected. You should never add business logic or make any other changes to the generated source code, as these changes will be lost the next time the code is generated.