Hello people, I want to do the same that works previously on HTML but now via .NET Windows Forms.
When I submit this HTML it works :
<html>
<head>
</head>
<body>
<form name="TestForm" action="http://staging.csatravelprotection.com/ws/policyrequest" method="POST">
<input type="hidden" name="xmlrequeststring" value="
<quoterequest>
<aff>COSTAMAR</aff> <!-- required -->
<producer>10527930</producer> <!-- optional -->
<productclass>85FL</productclass> <!-- required -->
<bookingreservno>0123456789AB</bookingreservno> <!-- optional -->
<numinsured>3</numinsured> <!-- required -->
<tripcost>5000.00</tripcost> <!-- required -->
<departdate>2010-11-01</departdate> <!-- required -->
<returndate>2010-11-20</returndate> <!-- required -->
<triptype>Cruise</triptype> <!-- optional -->
<destination>Europe/ Mediterranean</destination> <!-- required -->
<supplier>Carnival Cruise Lines</supplier> <!-- optional -->
<airline>American</airline> <!-- optional-->
<travelers>
<traveler>
<age>45</age> <!-- required -->
</traveler>
<traveler>
<age>43</age> <!-- required -->
</traveler>
<traveler>
<age>15</age> <!-- required -->
</traveler>
</travelers>
</quoterequest>
">
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
but when I try to send the XML via POST using .NET it appear to fail cause I dont know how to post via Hidden Input on the URI.
Imports System.IO
Imports System.Text
Imports System.Net
Public Class Form2
Private Shared URL As String = "http://staging.csatravelprotection.com/ws/policyrequest"
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim oHttpWebRequest As WebRequest = WebRequest.Create(New Uri(URL))
oHttpWebRequest.Method = "POST"
oHttpWebRequest.ContentType = "text/xml"
Dim oStream As Stream = oHttpWebRequest.GetRequestStream()
Dim Reader As StreamReader = New StreamReader("C:\TEST.XML", Encoding.Default)
Dim Postdata As String = String.Format("xmlrequeststring={0}", Reader.ReadToEnd)
oStream.Write(Encoding.ASCII.GetBytes(Postdata), 0, Postdata.Length)
oStream.Close()
Dim oHttpWebResponse As HttpWebResponse = CType(oHttpWebRequest.GetResponse(), HttpWebResponse)
Dim oStreamResponse As Stream = oHttpWebResponse.GetResponseStream()
Dim oStreamRead As StreamReader = New StreamReader(oStreamResponse, Encoding.UTF8)
Dim strReturnedXML As String = oStreamRead.ReadToEnd()
MessageBox.Show(strReturnedXML)
oStreamResponse.Close()
oStreamRead.Close()
oHttpWebResponse.Close()
End Sub
End Class
XML :
<quoterequest>
<aff>COSTAMAR</aff>
<producer>10527930</producer>
<productclass>TBD</productclass>
<bookingreservno>0123456789AB</bookingreservno>
<numinsured>3</numinsured>
<tripcost>5000.00</tripcost>
<departdate>2009-11-01</departdate>
<returndate>2009-11-20</returndate>
<initdate>2008-09-30</initdate>
<finalpaymentdate>2008-10-30</finalpaymentdate>
<triptype>Cruise</triptype>
<destination>Europe/ Mediterranean</destination>
<supplier>Carnival Cruise Lines</supplier>
<airline>American</airline>
</quoterequest>
Is there a way to make it work as expected on .NET?
Thanks