Previous Table of Contents Next


7.7 Mapping IDL Name

   Normally, names in WSDL map to identical names in IDL. However, names (e.g., IDL keywords) that cannot be used in IDL need to be converted. Following the OMG specification “Java™ Language to IDL Mapping Specification,? the conversion below shall be applied.

   IDL does not support overloaded methods. If the WSDL operation is overloaded, two underscores “__? are added to the method name, followed by IDL type names of the parameters separated by two underscores “__.? A space in the type (like in long long) is replaced with an underscore “_.? The underscore at the beginning of an escaped identifier is removed.

   For example, if the WSDL mapping results in the following two IDL operations, they are transformed as shown below:

   void hello();void hello(in long x, in abc y);

   This is transformed as:

   void hello__();void hello__long__abc(in long x, in abc y);

   If the in/out parameter names are overloaded in the same method, it is an error. Also, if a method that doesn’t include in/out is overloaded, it is an error.

   5. WSDL identifiers that differ only in case

   IDL names are not case sensitive. Thus, if there are two or more names that are distinguished only by case, an underscore “_? is appended to the original name, and then decimal numbers indicating the positions of the uppercase characters are appended, separated by an underscore. Indices are zero based.

   For example, the WSDL names jack, Jack, and jAcK are mapped to IDL as jack_, Jack_0, and jAcK_1_3 respectively.

   However, it is an error for the following names to be distinguished only by case.

   6. If the identifiers are not unique after application of the mapping rules above, it is an error.