SOAPam Client

Element Name Considerations

The CDF2DDL utility will change the name of the elements it outputs under certain conditions. The names will be changed in the following cases:

  • Web Service element names that are too long
    DDL object names are limited to 30 characters. If while converting a Web service element name to a DDL name, the resulting name is longer than 26 characters, the name will be truncated and a numeric sequence will be appended to the name.

  • Web service element name is a host language reserved word
    If while converting a Web service element name to a DDL object name, the resulting name is the same as a host language reserved word, a 'Z' character is appended to the name.

  • A child element has the same name as the parent element
    If a child element of a web service type has the same name as the type itself, the child element name is altered by appending a 'Z' character to the name

If any changes are made by the CDF2DDL utility, the changes are documented in the DDL source header. Sample documentation is shown below:

!                                                                              
! The following object names were altered to conform to DDL name              
! length restrictions.                                                        
!                                                                              
!   ThirdPartyProductDetailsItemCount -> ThirdPartyProductDetails01              
!                                                                              
!                                                                              
! The following object names were altered because they are reserved words      
! in one or more host languages.                                              
!                                                                              
!   page -> pagez                                                              
!   mode -> modez                                                              
!   type -> typez                                                              
!   sort -> sortz                                                              
!   Status -> Statusz                                                          
!   return -> returnz                                                          
!   author -> authorz                                                          
!                                                                              
!                                                                              
! The following child object names were altered because they were the          
! same as their parent definition name.                                        
!                                                                              
!   KeyPhrase -> KeyPhraseZ                                                    
!

 

To provide a DDL-compatible name that won't require changing by CDF2DDL, specify the 'ddlName' attribute on the <element> element in the CDF. For example:

<element name="ThirdPartyProductDetailsItemCount" type="unsignedNumeric" size="4"/>

produces this DDL:

02 ThirdPartyProductDetails01   PIC 9(4).

which, when output as COBOL, will look like this:

02 THIRDPARYPRODUCTDETAILS01    PIC 9(4).

whereas

<element name="ThirdPartyProductDetailsItemCount" type="unsignedNumeric" size="4" ddlName="THIRD-PARTY-PROD-DET-COUNT" />

produces this DDL:

02 THIRD-PARTY-PROD-DET-COUNT   PIC 9(4).

which, when output as COBOL, will look like this:

02 THIRD-PARTY-PROD-DET-COUNT   PIC 9(4).