Strawman argument type definition language
Robert Olson
olson at mcs.anl.gov
Mon Jul 28 17:14:38 CDT 2003
What if we could add the following declaration to a class that exports SOAP
methods:
soap_types = """
struct Capability {
string role;
string type;
dict parms;
};
typedef string URIType;
typedef base64 IconType;
struct clientProfile {
string techSupportInformation;
string profileType;
string geoLocation;
string email;
string name;
string phoneNumber;
IconType icon;
URIType uri;
string publicId;
string distinguishedName;
Capability[] capabilities;
};
struct EnterReturn {
VenueState state;
string privateId;
StreamDescription[] streams;
};
"""
And then, when we export a method, we say
wsEnter.soap_export_as = "Enter"
wsEnter.soap_argument_types = ["clientProfile"]
wsEnter.soap_return_type = "EnterReturn"
This pretty much finishes the picture as far as completely defining what
SOAP methods are, what their arguments are, and what they return. This
syntax is easily parsable, can be used to auto-generate documentation, and
could be used in the future to generate WSDL or schema defs, or
interface/impl stub code.
--bob
More information about the ag-dev
mailing list