C Code Generated for WSDL Operation Input/Output/Fault Types

If C code generation is selected, the following items are generated for each WSDL Operation input/ output/fault types:

   /**
    * WSDL operation definitions
    */
   typedef struct EXTERN Add_Input {
      Operands_ELEM Operands;
   } Add_Input;

   typedef struct EXTERN Add_Output {
      OSREAL Result;
   } Add_Output;

   typedef struct EXTERN Add_Fault {
      struct {
         unsigned faultactorPresent : 1;
         unsigned detailPresent : 1;
      } m;
      OSXMLSTRING faultcode;
      OSXMLSTRING faultstring;
      OSXMLSTRING faultactor;
      OSXSDAnyType detail;
   } Add_Fault;

   EXTERN int XmlE_Add_Input (OSCTXT* pctxt, Add_Input* pvalue);
   EXTERN int XmlD_Add_Input (OSCTXT* pctxt, Add_Input* pvalue);
   ...
   EXTERN int XmlE_Add_Output (OSCTXT* pctxt, Add_Output* pvalue);
   EXTERN int XmlD_Add_Output (OSCTXT* pctxt
      , Add_Output* pvalue, Add_Fault* pfault);
   ...
   EXTERN int XmlE_Add_Fault (OSCTXT* pctxt, Add_Fault* pvalue);

This corresponds to the following WSDL portType and binding definitions:

   <wsdl:portType name="CalcServiceSoap">
     <wsdl:operation name="Add">
        <wsdl:input message="tns:AddRequest" />
        <wsdl:output message="tns:AddResponse" />
     </wsdl:operation>
   </wsdl:portType>

   <wsdl:binding name="CalcServiceSoap" type="tns:CalcServiceSoap">
     <soap:binding style="document"
       transport="http://schemas.xmlsoap.org/soap/http" />
       <wsdl:operation name="Add">
         <soap:operation soapAction="http://Calc.com/Calc/Add" />
         <wsdl:input>
           <soap:body use="literal" />
         </wsdl:input>
         <wsdl:output>
           <soap:body use="literal" />
         </wsdl:output>
       </wsdl:operation>
     </wsdl:binding>