consume web service using httpwebrequest


H

hharry

hello all,

trying to consume a simple web service using httpwebrequest instead of
generating a proxy class.

code for simple web service:

Imports System.Web.Services

<System.Web.Services.WebService(Namespace :=
"http://tempuri.org/SoapServer/Service1")> _
Public Class Service1
Inherits System.Web.Services.WebService

<WebMethod()> _
Public Function HelloWorld() As String
Return "Hello World"
End Function
End Class

code to consume web service using httpwebrequest object:

Dim sTmp As String
sTmp = "" & _
"<?xml version=" + Chr(34) + "1.0" + Chr(34) + " encoding="
+ Chr(34) + "utf-8" + Chr(34) + "?>" & _
"<soap:Envelope xmlns:xsi=" + Chr(34) +
"http://www.w3.org/2001/XMLSchema-instance" + Chr(34) + " xmlns:xsd=" +
Chr(34) + "http://www.w3.org/2001/XMLSchema" + Chr(34) + " xmlns:soap="
+ Chr(34) + "http://schemas.xmlsoap.org/soap/envelope/" + Chr(34) + ">"
& _
"<soap:Body>" & _
"<HelloWorld xmlns=" + Chr(34) +
"http://tempuri.org/SoapServer/Service1" + Chr(34) + " />" & _
"</soap:Body>" & _
"</soap:Envelope>"

objHttpRequest =
WebRequest.Create("http://localhost/SoapServer/Service1.asmx")
objHttpRequest.Method = "POST"
objHttpRequest.ContentType = "text/xml"
objHttpRequest.ContentLength = sTmp.Length
objHttpRequest.Headers.Add("SOAPAction",
"http://tempuri.org/SoapServer/Service1/HelloWorld")

myWriter = New StreamWriter(objHttpRequest.GetRequestStream())
myWriter.Write(sTmp)

objHttpResponse = objHttpRequest.GetResponse
objResponseStream = New
StreamReader(objHttpResponse.GetResponseStream())
sResult = objResponseStream.ReadToEnd
objResponseStream.Close()

=================================================================
=================================================================

the code fails at objHttpResponse = objHttpRequest.GetResponse, an
exception is thrown stating the request timed out.

pointers appreciated..

thanks in advance
 
Ad

Advertisements


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top