Dienstvorgang
Dienstvorgang ist der Code und die Metadaten, die einem bestimmten Vorgang eines Diensts zugeordnet sind.
In Bezug auf WSDL ist jede wsdl:operation, die im WSDL-Dokument für einen angegebenen portType definiert ist, ein Dienstvorgang.
<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>
Jeder Dienstvorgang innerhalb des Dienstmodells wird als WS_OPERATION_DESCRIPTION angegeben. WS_OPERATION_DESCRIPTION wird von wsutil.exegeneriert.
Für jede wsdl:operation generiert das Tool eine separate WS_OPERATION_DESCRIPTION.
static WS_OPERATION_DESCRIPTION serviceOperationsICalculator[] =
{
{
// Add Method
&messageDescriptionAddICalculator,
&messageDescriptionAddResponseICalculator,
WsCountOf(parametersAddICalculator),
ICalculator_Add_Stub
}
};
Codemäßig ist jedem Dienstvorgang eine Funktion zugeordnet. Die Definition dieser Funktion unterscheidet sich für Client und Server.
Dienstvorgänge werden klassifiziert in:
Diese Klassifizierung basiert hauptsächlich auf dem Signaturlayout des Servers und den clientseitigen Implementierungen von Dienstvorgängen.
Weitere Informationen finden Sie auch im Abschnitt zur WSDL-Unterstützung.
Die folgenden Enumerationen werden mit Dienstvorgängen verwendet:
Die folgenden Strukturen werden mit Dienstvorgängen verwendet: