Simple object access protocol
First Claim
1. A computer-readable medium have stored thereon a data structure for marshaling data between a client computer and a server computer through the Internet, wherein the marshaled data is associated with a method of an Automation object to be instantiated on the server computer, the data structure comprising:
- (a) a header section comprising;
(1) a first header data field containing data representing a name (progid) of the Automation object to be instantiated on the server computer;
(2) a second header data field containing data representing a name of a method of the Automation object to invoke;
(b) a body section comprising;
(1) at least one first body data field containing data representing input parameters for the method to process; and
(c) a trailer section comprising a checksum value;
wherein (d) the data structure is packaged as an HTTP message in multipart MIME packets.
3 Assignments
0 Petitions
Accused Products
Abstract
An application layer protocol is provided on top of HTTP 1.0/1.1 to allow for COM Automation objects to be invoked over the Internet through IIS/ISAPI servers. The format essentially encodes the automation object'"'"'s name, method to invoke, and any [in], [out], [in, out] parameters that the method signature requires, packages them up into a custom MIME type and marshals it to the ISAPI dynamic link library (DLL) on the IIS/HTTP server. There, the ISAPI DLL contains the logic to unpack the SOAP request, parses it, creates the Automation object, invokes the method with the marshaled parameters, and then returns any [out] parameters to the caller/client using the SOAP protocol. It is a stateless protocol, meaning that object lifetimes only extend to one method, and are recreated between multiple calls to the object.
243 Citations
4 Claims
-
1. A computer-readable medium have stored thereon a data structure for marshaling data between a client computer and a server computer through the Internet, wherein the marshaled data is associated with a method of an Automation object to be instantiated on the server computer, the data structure comprising:
-
(a) a header section comprising;
(1) a first header data field containing data representing a name (progid) of the Automation object to be instantiated on the server computer;
(2) a second header data field containing data representing a name of a method of the Automation object to invoke;
(b) a body section comprising;
(1) at least one first body data field containing data representing input parameters for the method to process; and
(c) a trailer section comprising a checksum value;
wherein(d) the data structure is packaged as an HTTP message in multipart MIME packets. - View Dependent Claims (2, 3, 4)
(a) the data structure is for marshaling data from the client computer to the server computer, and is packaged as an HTTP POST message; and
wherein(b) the header comprises a third header data field containing data representing an HTTP POST request, and a fourth header data field containing data representing a name of an Applications Programming Interface (API) for unpackaging multipart MIME packets.
-
-
3. The data structure of claim 2, wherein the header further comprises a fifth header data field containing data representing an identifier of an HTTP version.
-
4. The data structure of claim 1, wherein:
-
(a) the data structure is for marshaling data from the server computer to the client computer, and is packaged as an HTTP Response message;
(b) the header section comprises a third header data field containing data representing an identifier of an HTTP version, and a fourth header data field containing data representing a status code; and
wherein(c) the body section further comprises at least one second body data field containing data representing return parameters from the method.
-
Specification