WebReceive (XmlDoc function)
Deserialize Web request into this XmlDoc (XmlDoc class)
[Requires Janus SOAP]
WebReceive converts an HTTP request received on a "Janus Web Server" thread from the text representation of an XML document to an XmlDoc tree (this process is called deserialization, because the text representation of a document is called the serial form). It returns a zero value if the deserialization is successful or a non-zero value if unsuccessful and the ErrRet option is used and the particular error is tolerated.
Syntax
[%errorPosition =] doc:WebReceive[( [formFieldname], [fieldOccurrence], - [options])] Throws XmlParseError
Syntax terms
%errorPosition | A %variable set to 0 if the deserialization is successful, or, if the ErrRet option is used, to the position within the uploaded data at which an error is found. |
---|---|
doc | An expression that points to the XmlDoc to contain the deserialized representation of the XML document. |
formFieldName | The name of the form field associated with the "<input type=file>" tag in the HTML form, that is, the value of the "name" parameter in that tag. See the fieldname argument of $Web_Proc_Recv in the "Janus Web Server" reference manual. |
fieldOccurrence | The number of the form field associated with the "<input type=file>" tag in the HTML form. See the occurrence argument of $Web_Proc_Recv in the "Janus Web Server" reference manual.. |
options | See the options argument of LoadXml. |
Exceptions
This function can throw the following exception:
- XmlParseError
- If the method encounters a parsing error, properties of the exception object may indicate the location and type of problem. See "XMLParseError Exception Class".
Usage notes
- See the LoadXml function.
Examples
-
The following "Janus Web Server" program uses WebReceive to obtain the XML document from the HTTP request:
begin %d object xmlDoc %d = new %d:webReceive %d2 object xmlDoc %d2 = new %d2:loadXml('<sum>' With - %d:value('/*/*[1]') + %d:value('/*/*[2]') - with '</sum>') %d2:webSend end
Request-Cancellation Errors
- doc is not EMPTY.
- options is invalid.
- Insufficient free space exists in CCATEMP.
- A syntax error occurred in the text string representation of the XML document (these are tolerated if the ErrRet option is specified).
See also
- If you want to deserialize a string, use LoadXml.
- The subroutine that serializes an XmlDoc and sends it as a Web response is WebSend.