Samer_Azar
Samer_Azar

Reputation: 433

VB.NET The remote server returned an error: (405) Method Not Allowed

The below code works on some URLs, but some other URLs having parameters return the error: The remote server returned an error: (405) Method Not Allowed.

my work:

        Dim objHttpWebRequest As HttpWebRequest = Nothing
        Dim objHttpWebResponse As HttpWebResponse = Nothing
        Dim objRequestStream As Stream = Nothing
        Dim objResponseStream As Stream = Nothing
        Dim objXMLReader As XmlTextReader

        Try
        objHttpWebRequest = WebRequest.Create(URL)

        'Start HttpRequest
        objHttpWebRequest.Method = "POST"
        objHttpWebRequest.ContentType = "application/xml"

        'Get Stream Object
        objRequestStream = objHttpWebRequest.GetRequestStream()
        objRequestStream.Close()

        'Start HTTP Response
        objHttpWebResponse = objHttpWebRequest.GetResponse()

        If objHttpWebResponse.StatusCode = HttpStatusCode.OK Then
            objResponseStream = objHttpWebResponse.GetResponseStream()
            objXMLReader = New XmlTextReader(objResponseStream)

            Dim xmldoc As XmlDocument = New XmlDocument
            xmldoc.Load(objXMLReader)
            XMLResponse = xmldoc
            objXMLReader.Close()
        End If

Is the problem in the method I am using? or the content type?

Upvotes: 0

Views: 1154

Answers (1)

Markus
Markus

Reputation: 22456

Based on the status code, the problem is in the method. Not all of the URLs might be able to respond to POST requests.

Wikipedia states

405 Method Not Allowed

A request was made of a resource using a request method not supported by that resource; for example, using GET on a form which requires data to be presented via POST, or using PUT on a read-only resource.

Upvotes: 1

Related Questions