Microsoft® Provisioning Framework (MPF) implements provisioning requests as XML documents. There are two types of requests: simple and trusted. Simple requests can contain data, , and the procedure and namespace to call. Trusted requests explicitly define the procedure steps as well as any data or security context. For more information on simple and trusted requests, see Requests and .
The following code fragment illustrates the base schema for a simple request.
<request>
<globalData>0..1</globalData> <!-- Queued requests only -->
<data>0..1</data>
<context>0..1
<transactionContext tipUrl="..." transactionId ="..." >0..1
</transactionContext>
<securityContext trustee=".." sensitive=".." trusted=".." impersonate="..">
0..1
<authentication>0..1
<basic username=".." password=".." domain="..">0..1</basic>
<passport puidHigh=".." puidLow="..">0..1</passport>
</authentication>
</securityContext>
<queueContext retryCount=".." retryInterval=".." queueId=".."
retryType=".." onFailure=".." retryStopOnFailure="..">0..1
<parentQueue queueID="..">0..unbounded</parentQueue>
</queueContext>
<clientContext clientTransactionId="..." localeID="..">0..1</clientContext>
</context>
</request>
In the preceding code fragment:
The following code fragment illustrates the base schema for a trusted request. It differs from an untrusted request in that:
<request>
<globalData>0..1</globalData> <!-- Queued requests only -->
<data>0..unbounded</data>
<context>0..1
<transactionContext tipUrl="..." transactionId ="..." >0..1
</transactionContext>
<securityContext trustee=".." sensitive=".." trusted=".." impersonate="..">
0..1
<authentication>0..1
<basic username=".." password=".." domain="..">0..1</basic>
<passport puidHigh=".." puidLow="..">0..1</passport>
</authentication>
</securityContext>
<queueContext retryCount=".." retryInterval=".." queueId=".."
retryType=".." onFailure=".." retryStopOnFailure="..">0..1
<parentQueue queueID="..">0..unbounded</parentQueue>
</queueContext>
<clientContext clientTransactionId="..." localeID="..">0..1</clientContext>
</context>
<procedure>1..1 <!-- See XML Schema for Procedures -->
.
.
.
</procedure>
</request>
When MPF executes a request, it generates an executeXml node internally to pass any request data as XML to the called procedure. The following code fragment illustrates the base schema that MPF uses for this action.
<executeXml>
<context>0..1
<transactionContext transactionId=".." />0..1
<executeContext namespace=".." procedure=".." providerSource=".." />0..1
</context>
<executeData>0..1</executeData>
</executeXml>
In the preceding code fragment:
When a request is completed, MPF returns the results in a response node. The following code fragment illustrates the base schema for a response.
<response>
<data>0..1</data>
<errorContext code=".." description="..">0..1
<errorSource>1..unbounded</errorSource>
</errorContext>
</request>
In the preceding code fragment: