サービス操作

サービス操作は、サービスの特定の操作に関連付けられているコードとメタデータです。

WSDL に関しては、特定の portType に対して WSDL ドキュメントで定義されている各 wsdl:operation はサービス操作です。

<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://Example.org" 
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" 
xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" 
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa10="http://www.w3.org/2005/08/addressing" 
xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" targetNamespace="http://Example.org" 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
 <wsdl:portType name="ICalculator">
  <wsdl:operation name="Add">
   <wsdl:input wsaw:Action="http://Example.org/ICalculator/Add" 
   message="tns:ICalculator_Add_InputMessage" />
   <wsdl:output wsaw:Action="http://Example.org/ICalculator/AddResponse" 
   message="tns:ICalculator_Add_OutputMessage" />
  </wsdl:operation>
 </wsdl:portType>
</wsdl:definitions>

サービス モデル内の各サービス操作は 、WS_OPERATION_DESCRIPTIONとして指定されます。 WS_OPERATION_DESCRIPTIONは wsutil.exeによって生成されます。

wsdl:operation ごとに、ツールは個別の WS_OPERATION_DESCRIPTIONを生成します。

Diagram showing how wsutil.exe generates a WS_CONTRACT_DESCRIPTION.

static WS_OPERATION_DESCRIPTION serviceOperationsICalculator[] =
{
    {
        // Add Method
        &messageDescriptionAddICalculator,
        &messageDescriptionAddResponseICalculator,
        WsCountOf(parametersAddICalculator),
        ICalculator_Add_Stub 
    }
};

コードに関しては、各サービス操作には関数が関連付けられています。 この関数の定義は、クライアントとサーバーでは異なります。

サービスの操作は、次のカテゴリに分類されます。

この分類は、主にサーバーの署名レイアウトと、サービス操作のクライアント側の実装に基づいています。

WSDL サポート セクションも参照してください。

サービス操作では、次の列挙型が使用されます。

サービス操作では、次の構造が使用されます。