【发布时间】:2011-01-19 23:04:07
【问题描述】:
我有一个接受 XML 输入的网络服务。我想要做的是设置一个将 xml 发布到服务的 aspx 页面。到目前为止,这是我的代码,但是当我尝试提交时收到错误 400(错误请求)...
Imports System.Net
Imports System.IO
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Submit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Submit.Click
Dim strDataToPost As String
Dim myWebRequest As WebRequest
Dim myRequestStream As Stream
Dim myStreamWriter As StreamWriter
Dim myWebResponse As WebResponse
Dim myResponseStream As Stream
Dim myStreamReader As StreamReader
' Create a new WebRequest which targets the web service method
myWebRequest = WebRequest.Create("http://foo/p09SoapHttpPort")
' Data to send
strDataToPost = DataToSend.Text & Server.UrlEncode(Now())
' Set the method and content type
With myWebRequest
.Method = "POST"
.ContentType = "text/xml"
.Timeout = -1
.ContentLength = strDataToPost.Length()
End With
' write our data to the Stream using the StreamWriter.
myRequestStream = myWebRequest.GetRequestStream()
myStreamWriter = New StreamWriter(myRequestStream)
myStreamWriter.Write(strDataToPost)
myStreamWriter.Flush()
myStreamWriter.Close()
myRequestStream.Close()
' Get the response from the remote server.
myWebResponse = myWebRequest.GetResponse()
' Get the server's response status
myResponseStream = myWebResponse.GetResponseStream()
myStreamReader = New StreamReader(myResponseStream)
ResponseLabel.Text = myStreamReader.ReadToEnd()
myStreamReader.Close()
myResponseStream.Close()
' Close the WebResponse
myWebResponse.Close()
End Sub
End Class
如果有人知道任何关于如何将 .xml 文件上传到 Web 服务方法的好的网络资源,这也将是一个很大的帮助,并且会回答这个问题,因为我可以用这种方式重新工作。
谢谢。
PS 在上次编辑中,我将代码修改为 .contentlength(感谢您的帮助)。不幸的是,在此之后我仍然收到“错误请求”。如果有人可以确认/确认我的代码应该正常工作,我将开始调查服务本身。
【问题讨论】:
-
运行的错误是:远程服务器返回错误:(400) Bad Request.
标签: asp.net xml web-services post