我有一个Web服务,它接受XML输入。我想要做的是设置一个aspx页面,将xml发布到服务中。这是到目前为止我的代码,但我得到一个错误400(错误的请求),当我试图提交...将XML发布到Web服务
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服务方法,这也将是一个很大的帮助,并会回答这个问题,因为我可以重新这样工作。
谢谢。
P.S在上次编辑时,我修改了代码以使其具有.contentlength(感谢您的帮助)。不幸的是,在此之后,我仍然收到'不良要求'。如果任何人可以确认/否认我的代码应该工作,我将开始调查服务本身。
运行时的错误是:远程服务器返回错误:(400)错误的请求。 – Phil 2010-02-23 12:43:50