Dear Experts,
I am trying to invoke a RESTful WCF service programmatically.
This is the OperationContract method.
[WebInvoke(Method = "POST", UriTemplate = "submitPaymentToBankURI")]
[OperationContract]
Stream submitPaymentToBank(Stream
info);
This is the client code:
string baseAddress = "
http://localhost:1287/CreditCardWebServiceRESTSite/CreditCardServiceREST.svc";
HttpWebRequest req = (HttpWebRequest)HttpWebReq
uest.Creat
e(baseAddr
ess + "/submitPaymentToBankURI")
;
req.Method = "POST";
req.ContentType = "text/plain";
Stream reqStream = req.GetRequestStream();
string inputData = "MyData";
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding()
;
byte[] DataToSend = encoding.GetBytes(inputDat
a);
reqStream.Write(DataToSend
, 0, DataToSend.Length);
reqStream.Close();
HttpWebResponse resp = (HttpWebResponse)req.GetRe
sponse();
Console.WriteLine("Client:
Receive Response HTTP/{0} {1} {2}", resp.ProtocolVersion, (int)resp.StatusCode, resp.StatusDescription);
StreamReader loResponseStream = new StreamReader(resp.GetRespo
nseStream(
), encoding);
string lcHtml = loResponseStream.ReadToEnd
();
Console.WriteLine(lcHtml);
Console.ReadLine();
I am using WebHttpBinding.
I am getting an exception on this line:
HttpWebResponse resp = (HttpWebResponse)req.GetRe
sponse();
Exception Details:
System.Net.WebException was unhandled
Message="The remote server returned an error: (400) Bad Request."
Source="System"
StackTrace:
at System.Net.HttpWebRequest.
GetRespons
e()
at TestCreditCardWebServiceRE
ST.Program
.Main(Stri
ng[] args) in C:\MyProject\TestCreditCar
dWebServic
eREST\Prog
ram.cs:lin
e 61
at System.AppDomain._nExecute
Assembly(A
ssembly assembly, String[] args)
at System.AppDomain.ExecuteAs
sembly(Str
ing assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.Hos
tingProces
s.HostProc
.RunUsersA
ssembly()
at System.Threading.ThreadHel
per.Thread
Start_Cont
ext(Object
state)
at System.Threading.Execution
Context.Ru
n(Executio
nContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHel
per.Thread
Start()
InnerException:
Any clues on how to fix this?
Thanks in advance for your help.
Have you seen this link?
http://blogs.msdn.com/b/pedram/archive/2008/04/21/how-to-consume-rest-services-with-wcf.aspx
Cheers,
Darren