Freiegeister
Morkin Member
'Blasphemy is a victimless crime' - Dawkins
Posts: 1,126
|
Post by Freiegeister on Jan 28, 2004 7:12:06 GMT
Version 1.1 of the Action API is available.
|
|
|
Post by sparrowhawk on Jan 28, 2004 9:57:22 GMT
Out of interest, in the web services world, as I understand it the service behaves much like an object in as much as the internal workings are hidden to the client, and only the API is visible. However, is the database access direct, or is this also via a public (or external but private) interface? I'm guessing the former? Purely wondering from a geek-interest point of view!
|
|
Freiegeister
Morkin Member
'Blasphemy is a victimless crime' - Dawkins
Posts: 1,126
|
Post by Freiegeister on Jan 28, 2004 12:57:18 GMT
Out of interest, in the web services world, as I understand it the service behaves much like an object in as much as the internal workings are hidden to the client, and only the API is visible. However, is the database access direct, or is this also via a public (or external but private) interface? I'm guessing the former? Purely wondering from a geek-interest point of view! You would normally set it up using the same MS DNA 3-tier model as for a .aspx web page, with an ADO connection to the database from the middle tier and the API as the presentation layer. You brought up the idea of running the service direct from the DB... www.microsoft.com/sql/reporting/productinfo/overview.asp
|
|
|
Post by sparrowhawk on Feb 16, 2004 13:43:31 GMT
Woopeee! My firm is paying for me to attend a 1 week course in ASP.NET
I finally get to play about with these web service thingammies!
|
|
Freiegeister
Morkin Member
'Blasphemy is a victimless crime' - Dawkins
Posts: 1,126
|
Post by Freiegeister on Jul 25, 2004 0:48:50 GMT
Here's the latest Action schema for my LoM multi-user web service.
Some example Action commands without SOAP wrapper:
<action uid="ajdj46dj693kfmh28dglei38jkhdw376ekd" character="12345"> <move direction="NE" /> <look direction="NE" /> </action>
<action uid="s2d3t6aj693krfh28tgleiy8jkhd13762kd" character="12345"> <recruit character="12442" /> <look direction="N" /> <think /> </action>
<action uid="bwd316au693irfh2gtgse1y8fkhg13h6d13" character="12345"> <seek /> <think /> </action>
Mandatory elements are the uid and character attributes for action.
look and think can be passed with any command, along with an optional choice of: move, seek, attack, approach, fight, hide, night, select, recruit, transfer, command or diplomacy.
The complete schema is below:
<?xml version="1.0" ?> <xs:schema id="mule_action" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="action"> <xs:complexType> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="1"> <xs:element name="move" minOccurs="0" maxOccurs="1"> <xs:complexType> <xs:attribute name="direction" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="N" /> <xs:enumeration value="NE" /> <xs:enumeration value="E" /> <xs:enumeration value="SE" /> <xs:enumeration value="S" /> <xs:enumeration value="SW" /> <xs:enumeration value="W" /> <xs:enumeration value="NW" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="seek" minOccurs="0" maxOccurs="1" /> <xs:element name="attack" minOccurs="0" maxOccurs="1"> <xs:complexType> <xs:attribute name="direction" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="N" /> <xs:enumeration value="NE" /> <xs:enumeration value="E" /> <xs:enumeration value="SE" /> <xs:enumeration value="S" /> <xs:enumeration value="SW" /> <xs:enumeration value="W" /> <xs:enumeration value="NW" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="approach" minOccurs="0" maxOccurs="1"> <xs:complexType> <xs:attribute name="direction" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="N" /> <xs:enumeration value="NE" /> <xs:enumeration value="E" /> <xs:enumeration value="SE" /> <xs:enumeration value="S" /> <xs:enumeration value="SW" /> <xs:enumeration value="W" /> <xs:enumeration value="NW" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="fight" minOccurs="0" maxOccurs="1" /> <xs:element name="hide" minOccurs="0" maxOccurs="1" /> <xs:element name="night" minOccurs="0" maxOccurs="1" /> <xs:element name="select" minOccurs="0" maxOccurs="1"> <xs:complexType> <xs:attribute name="character" type="xs:long" use="required" /> </xs:complexType> </xs:element> <xs:element name="recruit" minOccurs="0" maxOccurs="1"> <xs:complexType> <xs:attribute name="character" type="xs:long" use="required" /> </xs:complexType> </xs:element> <xs:element name="transfer" minOccurs="0" maxOccurs="1"> <xs:complexType> <xs:sequence> <xs:element name="army" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="origin" type="xs:long" use="required" /> <xs:attribute name="destination" type="xs:long" use="optional" /> <xs:attribute name="number" type="xs:integer" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="command" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:choice> <xs:element name="follow" minOccurs="0" maxOccurs="1"> <xs:complexType> <xs:attribute name="character" type="xs:long" use="required" /> </xs:complexType> </xs:element> <xs:element name="goto" minOccurs="0" maxOccurs="1"> <xs:complexType> <xs:attribute name="location" type="xs:long" use="required" /> <xs:attribute name="interest" type="xs:boolean" use="optional" /> </xs:complexType> </xs:element> <xs:element name="wander" minOccurs="0" maxOccurs="1" /> <xs:element name="cancel" minOccurs="0" maxOccurs="1" /> </xs:choice> </xs:complexType> </xs:element> <xs:element name="diplomacy" minOccurs="0" maxOccurs="1"> <xs:complexType> <xs:attribute name="character" type="xs:long" use="required" /> <xs:attribute name="relationship" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="alliance" /> <xs:enumeration value="war" /> <xs:enumeration value="truce" /> <xs:enumeration value="peace" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:choice> <xs:element name="look" minOccurs="0" maxOccurs="1"> <xs:complexType> <xs:attribute name="direction" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="N" /> <xs:enumeration value="NE" /> <xs:enumeration value="E" /> <xs:enumeration value="SE" /> <xs:enumeration value="S" /> <xs:enumeration value="SW" /> <xs:enumeration value="W" /> <xs:enumeration value="NW" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="think" minOccurs="0" maxOccurs="1" /> </xs:sequence> <xs:attribute name="uid" type="xs:string" use="required" /> <xs:attribute name="character" type="xs:long" use="required" /> </xs:complexType> </xs:element> </xs:schema>
|
|