By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,837 Members | 1,766 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,837 IT Pros & Developers. It's quick & easy.

Updating an XML file from a URL

P: n/a
Hi,

I have an XML file at http://localhost/test.xml that I want to read and then
update.
I can get and read the file no problem with GetResponseStream etc...

The code (see 2 examples below) I am using to write the new xml to that same
location does not give me any error but the file never updates. When I open
the file from XMLSPY with Open URL ... I can read and update it.

Thanks for your help.

First example

Dim myRequest As HttpWebRequest =
CType(WebRequest.Create("http://localhost/test.xml"), HttpWebRequest)

myRequest.Method = "POST"
myRequest.PreAuthenticate = True
Dim networkCredential As New NetworkCredential("myName", "MyPassword",
"MyDomain")

myRequest.Credentials = networkCredential

' this one doesn't work either myRequest.ContentType =
"application/x-www-form-urlencoded"
myRequest.ContentType = "text/xml"

Dim newStream As Stream = myRequest.GetRequestStream()
Dim sw As New StreamWriter(newStream)
sw.Write("<test></test>")
sw.Flush()
sw.Close()

Second example

Dim myRequest As WebRequest =
HttpWebRequest.Create("http://localhost/test.xml")
myRequest.Method = "POST"
myRequest.ContentType = "text/xml"
myRequest.PreAuthenticate = True
Dim networkCredential As New NetworkCredential("myName", "myPassword",
"MyDomain")

myRequest.Credentials = networkCredential

Dim postData As String = "<test></test>"
Dim encoder As New ASCIIEncoding
Dim byteArray As Byte() = encoder.GetBytes(postData)
myRequest.ContentLength = byteArray.Length

Dim readStream As Stream = myRequest.GetRequestStream()

readStream.Write(byteArray, 0, postData.Length)
readStream.Close()

Nov 19 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Try writing to a file location on the server instead of the RequestStream
coming from the browser.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Ambiguity has a certain quality to it.

"Joel" <Jo**@discussions.microsoft.com> wrote in message
news:CA**********************************@microsof t.com...
Hi,

I have an XML file at http://localhost/test.xml that I want to read and
then
update.
I can get and read the file no problem with GetResponseStream etc...

The code (see 2 examples below) I am using to write the new xml to that
same
location does not give me any error but the file never updates. When I
open
the file from XMLSPY with Open URL ... I can read and update it.

Thanks for your help.

First example

Dim myRequest As HttpWebRequest =
CType(WebRequest.Create("http://localhost/test.xml"), HttpWebRequest)

myRequest.Method = "POST"
myRequest.PreAuthenticate = True
Dim networkCredential As New NetworkCredential("myName", "MyPassword",
"MyDomain")

myRequest.Credentials = networkCredential

' this one doesn't work either myRequest.ContentType =
"application/x-www-form-urlencoded"
myRequest.ContentType = "text/xml"

Dim newStream As Stream = myRequest.GetRequestStream()
Dim sw As New StreamWriter(newStream)
sw.Write("<test></test>")
sw.Flush()
sw.Close()

Second example

Dim myRequest As WebRequest =
HttpWebRequest.Create("http://localhost/test.xml")
myRequest.Method = "POST"
myRequest.ContentType = "text/xml"
myRequest.PreAuthenticate = True
Dim networkCredential As New NetworkCredential("myName", "myPassword",
"MyDomain")

myRequest.Credentials = networkCredential

Dim postData As String = "<test></test>"
Dim encoder As New ASCIIEncoding
Dim byteArray As Byte() = encoder.GetBytes(postData)
myRequest.ContentLength = byteArray.Length

Dim readStream As Stream = myRequest.GetRequestStream()

readStream.Write(byteArray, 0, postData.Length)
readStream.Close()

Nov 19 '05 #2

P: n/a
I can try but I was testing this because I'm planning to access xml files
stored in a sharepoint document library and the link to those isn't a file
location.

"Kevin Spencer" wrote:
Try writing to a file location on the server instead of the RequestStream
coming from the browser.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Ambiguity has a certain quality to it.

"Joel" <Jo**@discussions.microsoft.com> wrote in message
news:CA**********************************@microsof t.com...
Hi,

I have an XML file at http://localhost/test.xml that I want to read and
then
update.
I can get and read the file no problem with GetResponseStream etc...

The code (see 2 examples below) I am using to write the new xml to that
same
location does not give me any error but the file never updates. When I
open
the file from XMLSPY with Open URL ... I can read and update it.

Thanks for your help.

First example

Dim myRequest As HttpWebRequest =
CType(WebRequest.Create("http://localhost/test.xml"), HttpWebRequest)

myRequest.Method = "POST"
myRequest.PreAuthenticate = True
Dim networkCredential As New NetworkCredential("myName", "MyPassword",
"MyDomain")

myRequest.Credentials = networkCredential

' this one doesn't work either myRequest.ContentType =
"application/x-www-form-urlencoded"
myRequest.ContentType = "text/xml"

Dim newStream As Stream = myRequest.GetRequestStream()
Dim sw As New StreamWriter(newStream)
sw.Write("<test></test>")
sw.Flush()
sw.Close()

Second example

Dim myRequest As WebRequest =
HttpWebRequest.Create("http://localhost/test.xml")
myRequest.Method = "POST"
myRequest.ContentType = "text/xml"
myRequest.PreAuthenticate = True
Dim networkCredential As New NetworkCredential("myName", "myPassword",
"MyDomain")

myRequest.Credentials = networkCredential

Dim postData As String = "<test></test>"
Dim encoder As New ASCIIEncoding
Dim byteArray As Byte() = encoder.GetBytes(postData)
myRequest.ContentLength = byteArray.Length

Dim readStream As Stream = myRequest.GetRequestStream()

readStream.Write(byteArray, 0, postData.Length)
readStream.Close()


Nov 19 '05 #3

P: n/a
Well, the Request Stream isn't a file location either. Worse, you can't
write to it. It's like an email that you receive. You can't write a reply to
an email by opening the email and writing into it. You have to send an email
reply. Request is one way. So is Response (the other way). If these files
are in a SharePoint document library, I suggest you use the SharePoint
services API to replace them. Otherwise, you'll be in worse trouble than you
are now, because you'll break your SharePoint Services.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Ambiguity has a certain quality to it.

"Joel" <Jo**@discussions.microsoft.com> wrote in message
news:79**********************************@microsof t.com...
I can try but I was testing this because I'm planning to access xml files
stored in a sharepoint document library and the link to those isn't a file
location.

"Kevin Spencer" wrote:
Try writing to a file location on the server instead of the RequestStream
coming from the browser.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Ambiguity has a certain quality to it.

"Joel" <Jo**@discussions.microsoft.com> wrote in message
news:CA**********************************@microsof t.com...
> Hi,
>
> I have an XML file at http://localhost/test.xml that I want to read and
> then
> update.
> I can get and read the file no problem with GetResponseStream etc...
>
> The code (see 2 examples below) I am using to write the new xml to that
> same
> location does not give me any error but the file never updates. When I
> open
> the file from XMLSPY with Open URL ... I can read and update it.
>
> Thanks for your help.
>
> First example
>
> Dim myRequest As HttpWebRequest =
> CType(WebRequest.Create("http://localhost/test.xml"), HttpWebRequest)
>
> myRequest.Method = "POST"
> myRequest.PreAuthenticate = True
> Dim networkCredential As New NetworkCredential("myName",
> "MyPassword",
> "MyDomain")
>
> myRequest.Credentials = networkCredential
>
> ' this one doesn't work either myRequest.ContentType =
> "application/x-www-form-urlencoded"
> myRequest.ContentType = "text/xml"
>
> Dim newStream As Stream = myRequest.GetRequestStream()
> Dim sw As New StreamWriter(newStream)
> sw.Write("<test></test>")
> sw.Flush()
> sw.Close()
>
> Second example
>
> Dim myRequest As WebRequest =
> HttpWebRequest.Create("http://localhost/test.xml")
> myRequest.Method = "POST"
> myRequest.ContentType = "text/xml"
> myRequest.PreAuthenticate = True
> Dim networkCredential As New NetworkCredential("myName",
> "myPassword",
> "MyDomain")
>
> myRequest.Credentials = networkCredential
>
> Dim postData As String = "<test></test>"
> Dim encoder As New ASCIIEncoding
> Dim byteArray As Byte() = encoder.GetBytes(postData)
> myRequest.ContentLength = byteArray.Length
>
> Dim readStream As Stream = myRequest.GetRequestStream()
>
> readStream.Write(byteArray, 0, postData.Length)
> readStream.Close()
>


Nov 19 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.