Manipulate a Response
The Execute
method of an IConnection
sends an action to an ACI server and returns a structure containing the response.
For an example of how to obtain this structure, see Obtain a Response to a Query.
Obtain a Response to a Query
The following example shows how to run a command and retrieve the response.
Response response = connection.Execute(query);
If the request is successful, response.Data
provides access to an XMLDocument
containing the response from the server. If the request failed, an exception is thrown from connection.Execute
.
Consider the following example, which might be the result of the Query
action performed in Create an Action:
<autnresponse> <action>QUERY</action> <response>SUCCESS</response> <responsedata> <autn:numhits>2</autn:numhits> <autn:hit> <autn:reference>http://www.example.com/2</autn:reference> <autn:id>8</autn:id> <autn:section>0</autn:section> <autn:weight>96.00</autn:weight> <autn:database>Default</autn:database> </autn:hit> <autn:hit> <autn:reference>http://www.example.com/1</autn:reference> <autn:id>7</autn:id> <autn:section>0</autn:section> <autn:weight>96.00</autn:weight> <autn:database>Default</autn:database> </autn:hit> </responsedata> </autnresponse>
For an example of how to obtain a list of the references returned by the Query
action, see Obtain Response Data From an XML Document.
Obtain Response Data From an XML Document
The following example shows how to obtain a list of references returned by the Query
action by selecting the reference of each hit in the ACI response
XmlNamespaceManager namespaces = new XmlNamespaceManager(response.Data.NameTable); namespaces.AddNamespace( "autn", "http://schemas.autonomy.com/aci/"); XmlNodeList nodes = response.Data.SelectNodes( "/autnresponse/responsedata/autn:hit/autn:reference", namespaces); foreach (XmlNode node in nodes) { Console.WriteLine(node.InnerText); }