You can submit requests through the Simple Object Access Protocol (SOAP) Internet Server Application Programming Interface (ISAPI), which is a filter for the Microsoft Provisioning Framework (MPF) client. This approach supports communication between data centers for remote requests submitted over the Internet. The SOAP ISAPI can process synchronous requests (through the provisioning engine). MPF does not support the processing of asynchronous requests (with call-back, through the queue manager).
MPFsoapisapi.dll is a COM object that can be installed in the \Microsoft Provisioning\Isapi directory during MPF setup. You must install the MPFsoapisapi.dll on any computer that receives SOAP requests for MPF.
The SOAP ISAPI can be invoked from any source capable of sending SOAP requests. To invoke the SOAP ISAPI, send the SOAP payload to the full URL of MPFsoapisapi.dll. The default URL is http://server/mpf/soapisapi.dll; you can change the virtual directory name to the one for your application.
Requests sent to the SOAP ISAPI require a SOAP header in a specified format. Prior to transmission, the request must be encapsulated in a SOAP envelope, which supplies the SOAP ISAPI with the destination namespace and procedure.
You can use SOAP to submit a synchronous request to a local or remote Microsoft Provisioning Framework (MPF) computer. You submit the request to the following URL:
Prior to transmission, the request must be encapsulated in a SOAP envelope, which supplies the SOAP ISAPI filter with the namespace and procedure to be executed. When the SOAP ISAPI filter receives a synchronous SOAP request, it verifies that the MPF SOAP headers are present and then forwards the request to the provisioning engine. The SOAP response returns either provisioning results or an error.
Web addresses can change, so you might be unable to connect to the Web site or sites mentioned here.
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header SOAP-ENV:encodingStyle=""> <provisioning SOAP-ENV:encodingStyle="" SOAP-ENV:mustUnderstand="1"> <namespace>Test Namespace</namespace> <procedure>Write Request</procedure> </provisioning> </SOAP-ENV:Header> <SOAP-ENV:Body SOAP-ENV:encodingStyle=""> <organizations> <organization name="contoso.com"></organization> </organizations> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
The following input is valid when submitting a standard synchronous SOAP request:
In the <namespace> element, specify the namespace associated with the procedure.
<namespace>name of the namespace used</namespace>
In the <procedure> element, specify the procedure that the request will execute.
Within the <SOAP-ENV:Envelope> element, include all the data elements required for this procedure. These elements should match the elements included in either the <data> element or the <executeData> element of an XML request for this procedure. The following code provides an example of required data:
<SOAP-ENV:Body SOAP-ENV:encodingStyle=""> <organizations> <organization name="contoso.com"></organization> </organizations> </SOAP-ENV:Body>