Methods and Parameters
Generated classes contain one method for each wsdl:operation in the wsdl:portType that the class represents. The name of the method is the operation name. HydraExpress converts the first letter of the name to lowercase, translates characters that are not legal in C++ identifiers to underscores, and appends "_op" to the name if the result is a C++ keyword. For example, the generator creates a method named currentTemperature for an operation named CurrentTemperature. The generator creates a method named test_operation for an operation named test.operation.
The generator names the arguments to the generated methods based on the names of the wsdl:part elements within the wsdl:message elements for the operation. The generator converts characters that are not legal C++ identifiers to underscores, and appends the direction of the part to the name. The direction is determined as follows:
If a part name appears only in the input message, the part is an input part. The generator appends
"_in" to the part name.
If a part name appears in both the input message and the output message, the part is an inout part. The generator appends
"_inout" to the part name.
If there is a single output part, and the part name does not appear in the input message, that part is the return value of the method. The generator does not create a part name.
If there is a part named
return in the output message and a part named
return does not appear in the input message, that part is the return value of the method. The generator does not create a part name for that part. Other parts in the output message still appear as
_inout or
_out parameters in the parameter list to the function.
Any other parts in the output message are output parts. The generator appends
"_out" to the part names.
If all return values are inout parts, the method signature will have a
void return type. Note that the complete signature of the method depends on the C++ type mapping, described in
Simple Type Mappings and
Complex Types.
Possible Naming Conflicts with Asynchronous Clients
When building an asynchronous client, be aware of possible naming collisions between your service operation names and the generated asynchronous service operation methods. Asynchronous methods are generated with a suffix start and end. For example, for the service operation getDayOfWeek, HydraExpress generates two asynchronous service operation methods getDayOfWeekStart() and getDayOfWeekEnd().