System.IO.MemoryStream streamWriter = (System.IO.MemoryStream) req.GetRequestStream();>
// 1. Create a HttpWebRequest and get the RequestStream object (Works) HttpWebRequest req = (HttpWebRequest) WebRequest.Create(RemoteServiceURI); Stream httpStream = req.GetRequestStream(); // 2. Create XMLSerializer for object (Works) XmlSerializer xmltrans = new XmlSerializer(typeof(PaymentContainer),extraTypes); // 3. Create memory stream for object serialization (Works) MemoryStream memStream = new MemoryStream(); // 4. Serialize (Works) xmltrans.Serialize(memStream ,Payment); memStream.Seek(0, SeekOrigin.Begin); // 5. Create and load XML and XSL documents (Works) XPathDocument myXPathDocument = new XPathDocument(memStream); XslTransform myXslTransform = new XslTransform(); myXslTransform.Load(xsltDoc); // 6.(ALT 1) Create XmlTextWriter and call XSL.Transform() with it (Works) XmlTextWriter xwriter = new XmlTextWriter(xsltTestDoc , null); myXslTransform.Transform(myXPathDocument, null, xwriter, null); xwriter.Close(); // 6.(ALT 2) Call XSL.Transform() with the stream object from step 1 (NO GOOD!) myXslTransform.Transform(myXPathDocument, null, httpStream, null); // 6.(ALT 3) Create MemoryStream to use in Transform and examine contents (charArray has correct length, but all empty) MemoryStream memStreamToSend = new MemoryStream(); myXslTransform.Transform(myXPathDocument, null, memStreamToSend, null); memStreamToSend.Seek(0, SeekOrigin.Begin); byte[] byteArray = new byte[memStreamToSend.Length]; int count = memStreamToSend.Read(byteArray, 0, (int) memStreamToSend.Length); UnicodeEncoding uniEncoding = new UnicodeEncoding(); char[] charArray = new char[uniEncoding.GetCharCount(byteArray, 0, count)];Am I confused? You bet!