H
hharry
Hi All,
I have asimple web service:
<WebMethod()> _
Public Function ReSample(ByVal sInput As Integer) As String
Return sInput * 5
End Function
I am trying to call this service from a second service by sending a
soap message using the HTTPWebRequest object.
Public Function CallReSample(ByVal y As Integer) As String
Dim SoapEnv As String = ""
Dim url As String =
"http://localhost/AcxiomRequest/Service1.asmx/ReSample"
Dim result As String = ""
Dim myWriter As StreamWriter
SoapEnv = "" & _
"<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>" & _
" <ReSample xmlns:m=" + Chr(34) +
"http://tempuri.org/message/" + Chr(34) + ">" & _
"<sInput>50</sInput>" & _
" </ReSample>" & _
" </soap:Body>" & _
" </soap:Envelope>"
Dim objRequest As HttpWebRequest = WebRequest.Create(url)
If Not objRequest Is Nothing Then
objRequest.Method = "POST"
objRequest.ContentLength = SoapEnv.Length
objRequest.ContentType =
"application/x-www-form-urlencoded"
objRequest.Headers.Add("SOAPAction", "ReSample")
myWriter = New StreamWriter(objRequest.GetRequestStream())
myWriter.Write(SoapEnv)
If Not myWriter Is Nothing Then
myWriter.Close()
End If
Dim objResponse As HttpWebResponse
Dim esr As StreamReader
Try
objResponse = objRequest.GetResponse()
Catch ex As WebException 'Exception
esr = New StreamReader(ex.Response.GetResponseStream())
result = esr.ReadToEnd()
Catch ex As Exception
End Try
Dim sr As StreamReader
sr = New StreamReader(objResponse.GetResponseStream())
result = sr.ReadToEnd()
sr.Close()
objResponse.Close()
sr.Close()
objResponse = Nothing
sr = Nothing
objRequest.Abort()
End If
objRequest = Nothing
myWriter = Nothing
End Function
////////////////////////////////////////////////////////////////////////
I keep getting the following error:
System.InvalidOperationException: Missing parameter: sInput.
I'm not sure how to include a parameter in the soap envelope.
Pointers appreciated
Thanks in advance!
I have asimple web service:
<WebMethod()> _
Public Function ReSample(ByVal sInput As Integer) As String
Return sInput * 5
End Function
I am trying to call this service from a second service by sending a
soap message using the HTTPWebRequest object.
Public Function CallReSample(ByVal y As Integer) As String
Dim SoapEnv As String = ""
Dim url As String =
"http://localhost/AcxiomRequest/Service1.asmx/ReSample"
Dim result As String = ""
Dim myWriter As StreamWriter
SoapEnv = "" & _
"<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>" & _
" <ReSample xmlns:m=" + Chr(34) +
"http://tempuri.org/message/" + Chr(34) + ">" & _
"<sInput>50</sInput>" & _
" </ReSample>" & _
" </soap:Body>" & _
" </soap:Envelope>"
Dim objRequest As HttpWebRequest = WebRequest.Create(url)
If Not objRequest Is Nothing Then
objRequest.Method = "POST"
objRequest.ContentLength = SoapEnv.Length
objRequest.ContentType =
"application/x-www-form-urlencoded"
objRequest.Headers.Add("SOAPAction", "ReSample")
myWriter = New StreamWriter(objRequest.GetRequestStream())
myWriter.Write(SoapEnv)
If Not myWriter Is Nothing Then
myWriter.Close()
End If
Dim objResponse As HttpWebResponse
Dim esr As StreamReader
Try
objResponse = objRequest.GetResponse()
Catch ex As WebException 'Exception
esr = New StreamReader(ex.Response.GetResponseStream())
result = esr.ReadToEnd()
Catch ex As Exception
End Try
Dim sr As StreamReader
sr = New StreamReader(objResponse.GetResponseStream())
result = sr.ReadToEnd()
sr.Close()
objResponse.Close()
sr.Close()
objResponse = Nothing
sr = Nothing
objRequest.Abort()
End If
objRequest = Nothing
myWriter = Nothing
End Function
////////////////////////////////////////////////////////////////////////
I keep getting the following error:
System.InvalidOperationException: Missing parameter: sInput.
I'm not sure how to include a parameter in the soap envelope.
Pointers appreciated
Thanks in advance!