Solved

Send XML Read Xml ASP Page

Posted on 2006-11-16
8
1,780 Views
Last Modified: 2008-01-09
I have an ASP Page

Visual Studio 2005, CF2 , C#

When i call my website i have to send a bunch of XML nodes , Probably coming from an exe (VS 2005 C#).

How do i do I send the XML and how does my Web Page Read the XML?


0
Comment
Question by:Mikal613
8 Comments
 
LVL 35

Expert Comment

by:YZlat
ID: 17957335
send to where? read from where?
0
 
LVL 48

Author Comment

by:Mikal613
ID: 17957534
Heres the scenario

on 69.23.23.23 i have a webPage  Default.aspx

I wanna send parameters FROM 213.345.234.122 to 69.23.23.23 and it will populate the info based on the parameters.

0
 
LVL 9

Expert Comment

by:deathtospam
ID: 17957573
Mikal613 --

I just want to make sure I understand your question:

1) You have a Classic ASP page that needs to send some XML-formatted data to another website, and then interpret the XML that is returned.
2) The website that you are trying to communicate with, which is receiving the data and returning output, is running ASP.NET / C# (Visual Studio 2005).

Please tell us if this is accurate or not, so we can better assist you.


-= DeathToSpam =-
0
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

 
LVL 48

Author Comment

by:Mikal613
ID: 17957602
1)Its a desktop App that will call the web page like

69.23.23.23\MyWebPage\Default.aspx?Id=23,23,23Name=45,45,45,45

and then my webpage some how should retrieve the Id's and Names

0
 
LVL 48

Author Comment

by:Mikal613
ID: 17957606
Pref using XML
0
 
LVL 22

Expert Comment

by:_TAD_
ID: 17988308


You will want to use the HttpWebRequest and HttpWebResponse classes to create a proxy that can read the uri streams (which, of course, will be in XML format).

The request (calling function) will look something like:



   byte[] buff = System.Text.Encoding.ASCII.GetBytes(myXML);

   HttpWebRequest myHttpRequest = (HttpWebRequest)HttpWebRequest.Create(<URL>);
   myHttpRequest.Method = "POST";
   myHttpRequest.KeepAlive = false;
   myHttpRequest.ContentType = "application/x-www-form-urlencoded";
   myHttpRequest.ContentLength = buff.Length;
   NetworkCredential cred = new NetworkCredential("user","password","myDomain");;
   CredentialCache credCache = new CredentialCache();
   credCache.Add(new Uri(serviceURI), "Basic", cred);
   myHttpRequest.Credentials = credCache;
   myHttpRequest.Timeout = 30000;
           
   HttpWebResponse myHttpResponse = null;
   string response = string.Empty;

   Stream myRequestStream = null;
   Stream baseStream = null;
   try
   {
         myRequestStream = myHttpRequest.GetRequestStream();
         myRequestStream.Write(buff,0,buff.Length);   // Sends the XML to web page - waits for response
                   
         myHttpResponse = (HttpWebResponse)myHttpRequest.GetResponse();  //  reads the response
         baseStream = myHttpResponse.GetResponseStream();
         
         XmlTextReader xmlRdr = new XmlTextReader(baseStream);
               
         xmlRdr.MoveToContent();
         response = HttpUtility.HtmlDecode(xmlRdr.ReadInnerXml());
   }

0
 
LVL 22

Expert Comment

by:_TAD_
ID: 17988309


You will want to use the HttpWebRequest and HttpWebResponse classes to create a proxy that can read the uri streams (which, of course, will be in XML format).

The request (calling function) will look something like:



   byte[] buff = System.Text.Encoding.ASCII.GetBytes(myXML);

   HttpWebRequest myHttpRequest = (HttpWebRequest)HttpWebRequest.Create(<URL>);
   myHttpRequest.Method = "POST";
   myHttpRequest.KeepAlive = false;
   myHttpRequest.ContentType = "application/x-www-form-urlencoded";
   myHttpRequest.ContentLength = buff.Length;
   NetworkCredential cred = new NetworkCredential("user","password","myDomain");;
   CredentialCache credCache = new CredentialCache();
   credCache.Add(new Uri(serviceURI), "Basic", cred);
   myHttpRequest.Credentials = credCache;
   myHttpRequest.Timeout = 30000;
           
   HttpWebResponse myHttpResponse = null;
   string response = string.Empty;

   Stream myRequestStream = null;
   Stream baseStream = null;
   try
   {
         myRequestStream = myHttpRequest.GetRequestStream();
         myRequestStream.Write(buff,0,buff.Length);   // Sends the XML to web page - waits for response
                   
         myHttpResponse = (HttpWebResponse)myHttpRequest.GetResponse();  //  reads the response
         baseStream = myHttpResponse.GetResponseStream();
         
         XmlTextReader xmlRdr = new XmlTextReader(baseStream);
               
         xmlRdr.MoveToContent();
         response = HttpUtility.HtmlDecode(xmlRdr.ReadInnerXml());
   }

0
 
LVL 22

Accepted Solution

by:
_TAD_ earned 500 total points
ID: 17988310


You will want to use the HttpWebRequest and HttpWebResponse classes to create a proxy that can read the uri streams (which, of course, will be in XML format).

The request (calling function) will look something like:



   byte[] buff = System.Text.Encoding.ASCII.GetBytes(myXML);

   HttpWebRequest myHttpRequest = (HttpWebRequest)HttpWebRequest.Create(<URL>);
   myHttpRequest.Method = "POST";
   myHttpRequest.KeepAlive = false;
   myHttpRequest.ContentType = "application/x-www-form-urlencoded";
   myHttpRequest.ContentLength = buff.Length;
   NetworkCredential cred = new NetworkCredential("user","password","myDomain");;
   CredentialCache credCache = new CredentialCache();
   credCache.Add(new Uri(serviceURI), "Basic", cred);
   myHttpRequest.Credentials = credCache;
   myHttpRequest.Timeout = 30000;
           
   HttpWebResponse myHttpResponse = null;
   string response = string.Empty;

   Stream myRequestStream = null;
   Stream baseStream = null;
   try
   {
         myRequestStream = myHttpRequest.GetRequestStream();
         myRequestStream.Write(buff,0,buff.Length);   // Sends the XML to web page - waits for response
                   
         myHttpResponse = (HttpWebResponse)myHttpRequest.GetResponse();  //  reads the response
         baseStream = myHttpResponse.GetResponseStream();
         
         XmlTextReader xmlRdr = new XmlTextReader(baseStream);
               
         xmlRdr.MoveToContent();
         response = HttpUtility.HtmlDecode(xmlRdr.ReadInnerXml());
   }

0

Featured Post

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:  The Exchange of information …
Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question