Since I'm not familiar with serializer, I modified the PostRequest method in the API to meet my needs. It seems like I am getting the response from Authorize.NET, and can see some XML, but I am having trouble capturing the responseReasonCode node's value (or for that matter -- I can't even get the node as it says it is NULL in the code below).
XNamespace ns = "AnetApi/xml/v1/schema/AnetApiSchema.xsd";
XDocument doc = new XDocument(
new XElement(ns + "getTransactionDetailsRequest",
new XAttribute("xmlns", "AnetApi/xml/v1/schema/AnetApiSchema.xsd"),
new XElement(ns + "merchantAuthentication",
new XElement(ns + "name", TEST_NAME),
new XElement(ns + "transactionKey", TEST_TRANS_KEY)),
new XElement(ns + "transId", TEST_TRANS_ID))
);
MemoryStream stream = new MemoryStream();
doc.Save(stream);
byte[] postBytes = new byte[stream.Length];
stream.Seek(0, SeekOrigin.Begin);
stream.Read(postBytes, 0, postBytes.Length);
WebClient WC = new WebClient();
ServicePointManager.ServerCertificateValidationCallback = TrustAllCertificateCallback;
HttpWebRequest wrequest = (HttpWebRequest)WebRequest.Create(IsLive ? LIVE_URL : TEST_URL);
wrequest.Timeout = 300000;
wrequest.Method = "POST";
wrequest.ContentType = "text/xml";
wrequest.ContentLength = stream.Length;
Stream lilriver = wrequest.GetRequestStream();
lilriver.Write(postBytes, 0, postBytes.Length);
WebResponse webResponse = wrequest.GetResponse();
XDocument xdoc = XDocument.Load(XmlReader.Create(webResponse.GetResponseStream()));
//var node = xdoc.Descendants().Where(n => n.Name == "responseReasonCode").FirstOrDefault();
var node = xdoc.Descendants("responseReasonCode").FirstOrDefault();
if (node != null)
{
reason = node.Value;
}