45 個の標準装備の単純型があります。これらは、include¥Axis¥AxisUserAPI.hppに定義されています。 型は、nillable またはオプションの場合 (つまり、minOccurs=” 0”の場合)、単純型を指すポインターとして定義されます。
次の例は、WSDL 内の一般的な単純型を示しています。この例で使用している単純型 xsd:int は、C++ の型 xsd__int にマップされます。この WSDL から抽出したコードには、integer 型の addReturn というエレメントが含まれています。このエレメントは、追加操作で使用されます。追加操作では、addResponse エレメントを使用して、追加操作を呼び出したときに予想される応答の型を定義します。
<element name="addResponse"> <complexType> <sequence> <element name="addReturn" type="xsd:int"/> </sequence> </complexType> </element>
この後 WSDL では、addResponse エレメントは add メソッドの応答部分となります。これにより、WSDL 内で、単純型から以下の Web Services Client for C++ Web サービス・メソッド・プロトタイプを生成します。
public: STORAGE_CLASS_INFO xsd__int add( …);
したがって、この例のユーザー生成のアプリケーション・コードは、次のようになります。
xsd__int xsd_iReturn = ws.add( …);
型が nillable、(nillable=”true”)、オプション (minOccurs=”0") またはテキスト・タイプ (xsd:string など) である場合、ポインターとして定義されます。
<element name="addResponse"> <complexType> <sequence> <element name="addReturn" nillable=”true” type="xsd:int"/> </sequence> </complexType> </element>
これにより、以下のWeb Services Client for C++ Web サービス・メソッド・プロトタイプが生成されます。
public: STORAGE_CLASS_INFO xsd__int * add( …);
WSDL で nillable の単純型によって生成されるユーザー生成のアプリケーション・コードは、次のようになります。
xsd__int * xsd_piReturn = ws.add( …); // Later in the code… // Delete this pointer and set it to NULL (as it is owned by the client application). delete xsd_piReturn; xsd_piReturn = NULL;