Request Example


Microsoft® Provisioning Framework (MPF) implements provisioning requests as XML documents.

<request xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <data>
	<organizations>
	<organization name="OrgA" type="primary"/>
	<organization name="OrgB" type="secondary"/>
	<organization name="OrgC" type="secondary"/>
	</organizations>
  </data>
  <procedure>
	<!-- Procedure call to SignupOrg-->
	<execute namespace="New Namespace" procedure="New Request">
	<before source="data" destination="executeData" mode="merge"/>
	<after source="executeData" destination="data" mode="merge"/>
	</execute>
  </procedure>
</request>

In the above sample request, the data node supplies the source data. The procedure starts with a call (not shown) to SignupOrg, the downstream procedure that receives the response (in this case, the selected names) returned by the execution step, the call to New Request (execute). The before node merges the data from the data node into the executeData node for SignupOrg. The after node merges information from New Request's executeData node into the response data (see below). (In this simple example, the returned data is the same as what was originally passed by before.)

<executeXml>
  <context>
	<transactionContext 
	transactionId="{CE8E0B55-B582-4D95-A796-92FDDD8228B7}" />
	<executeContext procedure="Write Request" procedureExecId="2" 
	providerSource="Provisioning.SimpleProvider.1" namespace="Test Namespace" 
	type="write" />
  </context>
  <executeData>
	<primaryOrg>OrgA</primaryOrg>
	<secondaryOrg>OrgB</secondaryOrg>
	<secondaryOrg>OrgC</secondaryOrg>
  </executeData>
</executeXml>

When MPF executes the request, it passes the processed data to the Test Namespace provider as an executeXml document. In turn, the provider passes the data into the executeData node of Write Request.

<response>
  <data>
	<organizations>
	<organization name="OrgA" type="primary"/>
	<organization name="OrgB" type="secondary"/>
	<organization name="OrgC" type="secondary"/>
	</organizations>
	<orgSignup>
	<primaryOrg>OrgA</primaryOrg>
	<secondaryOrg>OrgB</secondaryOrg>
	<secondaryOrg>OrgC</secondaryOrg>
	</orgSignup>
  </data>
</response>

The response shows the merged organization data in data and the selected names in orgSignup.

See Also

XML Schema for Requests


Up Top of Page
© 1999-2002 Microsoft Corporation. All rights reserved.