HTTP and SOAP Provider::WSDLRequestWithNoRollback
Sends Simple Object Access Protocol (SOAP) requests in Web Services Descriptor Language (WSDL) to COM objects on remote servers. This procedure supports requests such as queries that do not require rollback in the event of a failure. (A related procedure, WSDLRequest, provides rollback for requests that perform updates.) Used by Microsoft® Provisioning Framework (MPF).
XML Input Schema
The following code fragment shows the format for sending data to this procedure. For more information on individual elements and attributes, see the Elements and Attributes table.
<executeData>1..1 <requestInfo>1..1 <wsdlFile>1..1</wsdlFile> <method>1..1</method> <parameters>1..1 <parameter arrayType=".." isXML="..">0..unbounded</parameter> </parameters> <serviceName>0..1</serviceName> <port>0..1</port> <wsmlFile>0..1</wsmlFile> <userName>0..1</userName> <password>0..1</password> <retryTimes>0..1</retryTimes> <receiveTimeout>0..1</receiveTimeout> <connectionExclusionInterval>0..1</connectionExclusionInterval> <codePageAutoDetect>0..1</codePageAutoDetect/> <codePage>0..1</codePage> <errorCodePath>0..1</errorCodePath> <returnValue isXML="..">0..1</returnValue> </requestInfo> </executeData>XML Output Schema
The following code fragment shows the format for data this procedure returns. For more information on individual elements and attributes, see the Elements and Attributes table.
<executeData>1..1 <requestInfo>1..1</requestInfo> <parameters>1..1 <parameter arrayType=".." isXML="..">0..unbounded</parameter> </parameters> <returnValue arrayType=".." isXML="..">1..1</returnValue> </requestInfo> </executeData>Elements and Attributes
The following table describes the XML elements and attributes. Unless otherwise indicated, the data type is string.
Element Description, relationships, and attributes codePage Description:
Specifies the code page of the request.By default, the provider assumes that incoming HTTP is encoded as UTF-8. If it is, the provider automatically converts the HTTP to Unicode.
If the incoming stream is not UTF-8, you will have faster performance if you specify the codePage value (for example, "932" for Japanese). Alternately, you can set the provider to scan for the code page (codePageAutoDetect = 1), but this will slow down performance.
If the auto-detect is used, you can still specify a codePage value as a backup in case the auto-detect fails.
Parent:
RequestInfocodePageAutoDetect Description:
Boolean that determines whether the provider automatically detects the code page for the request.0 (default): The provider does not automatically detect the code page.
1: The provider invokes mlang.dll to scan the incoming HTTP stream and convert it to Unicode.By default, the provider assumes that incoming HTTP is encoded as UTF-8. If it is, the provider automatically converts the HTTP to Unicode, and there is no need to specify a value for codePageAutoDetect.
If the incoming stream is not UTF-8, you can set the provider to scan for the code page (codePageAutoDetect = 1), but note that this will slow down performance. You will have better performance if you specify the code page (for example, for Japanese, set codePage to "932").
If the auto-detect fails, the provider looks for a codePage value; if it does not find one, it converts the HTTP to UTF-8, then to Unicode.
Parent:
requestInfoconnectionExclusionInterval Description:
UI4 that specifies the interval (milliseconds) for re-attempting a failed connection with a server.Whenever the provider cannot successfully send requests to a server, it immediately places the server on a bad server list and returns an error to indicate that the remote service is currently unavailable. At periodic intervals (for example, every 50000 milliseconds), the provider re-attempts the connection.
This option mimimizes unnecessary resource consumption of network bandwidth, CPU cycles, and other system resources during a failure. It also enables the provider to generate a more immediate error to alert the caller that the server is not available.
If no value is specified in the request for connectionExclusionInterval, the provider uses the value for the ConnectionExclusionInterval registry key, defined in \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Provisioning\Providers\MPFSoapProv.
Note: The provider lists a server only for the provisioning engine that executes the provider. Other engines will not list the server unless they also fail to execute requests against it.
Parents:
requestInfoerrorCodePath Description:
Instead of returning an HRESULT based on the faultcode, a custom XML path such as "detail/ErrorCode" can be used to specify where to get the HRESULT within the soap:Fault node.Parents:
requestInfoexecuteData Description:
Element that encapsulates the procedure's input and output data.Children:
requestInfo (minOccurs="1" maxOccurs="1", input and output)method Description:
Name of the method to invoke in the COM object.Parent:
requestInfoparameters Description:
Encapsulates input and output data for the request.Parent:
requestInfo (input and output)Child:
parameter (minOccurs="0" maxOccurs="*", input and output)parameter Description:
Optional input/output element.If the parameter has multiple values, specify them using value nodes. The following example sends the method a VARIANT array of size two in which each VARIANT contains an integer.
<parameter> <value xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="int">1</value> <value xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="int">2</value> </parameter>To send XML as a string, specify isXML ="1". The next example sends the string value <rootNode><value>1</value><value>2</value></rootNode>.
<parameter isXML="1"> <rootNode> <value>1</value> <value>2</value> </rootNode> </parameter>Parent:
parametersAttributes:
arrayType Optional. Indicates that the parameter is an array and specifies the data type for all elements. If arrayType is not specified and there are multiple values, the default is "anyType," which means an array of VARIANT. On output, this attribute is either set to the array type or removed (if the response is not an array). isXML Optional. On input, if parameter contains well-formed XML, the method converts it to a string; otherwise, the provider fails the request. On output, if the response is well-formed XML, the method places this XML under the parameter element; otherwise, it removes the isXML attribute and returns the value in the response format. password Description:
User password that the Web server accepts for basic authentication.Parents:
requestInfo, rollbackInfoMaximum Length:
128port Description:
Name of the port in the WSDL file that contains the operation specified in the SOAP request. If this parameter is missing, null, or an empty string, the provider uses the first port in the specified service (serviceName node) when initializing the SOAP client.Parent:
requestInforeceiveTimeout Description:
UI4 that specifies the timeout interval in milliseconds. If the Web server does not return a response within the specified interval, the provider automatically retries the request. If the Web server does not return a response the second time within the specified interval, the provider generates a timeout error. If the retryTimes element is specified, that is the number of pairs of requests that will be attempted.The minimum value allowed is 1,000 and the maximum is 3,600,000. If a value outside this range is specified, the provider will fail with error c5000003. The default is 30,000.
Parents:
requestInforequestInfo Description:
Encapsulates the information the provider uses to send the WSDL request.Parent:
executeDataChildren:
method (minOccurs="1" maxOccurs="1", input only)
parameters (minOccurs="1" maxOccurs="1", input and output)
port (minOccurs="1" maxOccurs="1", input only)
returnValue (minOccurs="1" maxOccurs="1", input only)
serviceName (minOccurs="1" maxOccurs="1", input only)
wsdlFile (minOccurs="1" maxOccurs="1", input only)
wsmlFile (minOccurs="1" maxOccurs="1", input only)retryTimes Description:
UI4 that specifies the number of times the provider attempts to resend the provisioning request whenever it experiences difficulty establishing a connection to the Web server. A lower protocol layer already performs one retry, so the retryTimes element actually specifies how many extra pairs of retry attempts to perform.Parents:
requestInforeturnValue Description:
Value returned by the WSDL request. The element is created if not already there. The isXML attribute determines the format for the returned value.Parent:
Attributes:
requestInfo
arrayType Optional, output only. Specifies that the returned value is an array and specifies the data type for all elements. This attribute is either set to the array type or removed (if the response is not an array). isXML Optional. If specified and the response is well-formed XML, the method places the XML under the returnValue element; otherwise, it removes the isXML attribute and returns the value in the response format. serviceName Description:
Service in the WSDL file that contains the operation specified in the SOAP request. If this parameter is missing, null, or an empty string, the provider uses the first service in the specified WSDL file (wsdlFile node) when initializing the SOAP client.Parent:
requestInfouserName Description:
User name that the Web server accepts for basic authentication.Parents:
requestInfoMaximum Length:
128wsdlFile Description:
URL of the WSDL file that describes the services offered by the server.If the WSDL URL uses the HTTPS protocol then the POST URLs in the WSDL file must also use the HTTPS protocol.
Parent:
requestInfowsmlFile Description:
URL of a Web Services Meta Language (WSML) file. Required only when using custom type mappers to convert between XML and COM data types.Parent:
requestInfoRemarks
The following sample request XML describes a method call for a sample COM object. For detailed instructions on setting up DocSample1, refer to the MSDN® topic "Using a High Level API for SOAP Messages."
<request> <procedure> <execute namespace='HTTP and SOAP Provider' procedure='WSDLRequestWithNoRollback'> <executeData> <requestInfo> <wsdlFile>http://localhost/DocSample1/DocSample1.wsdl</wsdlFile> <method>AddNumbers</method> <parameters> <parameter xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="int">2</parameter> <parameter xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="int">3</parameter> </parameters> </requestInfo> </executeData> <after source='executeData' sourcePath='requestInfo/returnValue' destination='data'/> </execute> </procedure> </request>The response XML for the above example would be as follows.
<response> <data> <returnValue>5</returnValue> </data> </response>See Also
Top of Page
© 1999-2002 Microsoft Corporation. All rights reserved.