Услуги:
[OperationContract]
[WebInvoke(Method = "POST",BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "Upload", ResponseFormat= WebMessageFormat.Xml, RequestFormat= WebMessageFormat.Xml)]
public void Upload(Stream data)
{
StreamReader reader = new StreamReader(data);
String res = reader.ReadToEnd();
}
=========
Клиент:
private HttpClient m_RestHttpClient = new HttpClient("http://localhost:17471/CustomerService/");
var form = new HttpUrlEncodedForm();
form.Add("CustomerCode", txtCustomerCode.Text);
form.Add("CustomerName", txtCustomerName.Text);
form.Add("ContactName", txtContactName.Text);
form.Add("Country", txtCountry.Text);
form.Add("PostalCode", txtPostalCode.Text);
form.Add("ClassTemplate", txtClassTemplate.Text);
form.Add("BusinessType", cmbBusinessType.Text);
form.Add("IsProspect", cmbIsProspect.Text);
using (HttpResponseMessage response = m_RestHttpClient.Post("Upload", frm.CreateHttpContent()))
{
response.EnsureStatusIsSuccessful();
}
===============================
Вывод текстового файла, который был написан (кстати, это вообще не имеет ограничений: я могу передать столько параметров, сколько захочу):
CustomerCode=CUST001&CustomerName=Customer+One&ContactName=Fuebo+Gacia&Country=France&PostalCode=8234994&ClassTemplate=Class+Template&BusinessType=Wholesale&IsProspect=True
--- По сути, сейчас меня беспокоит вопрос о том, как правильно получить эти значения. Я попытался передать строку xml, но в ней также были значения с разными форматами символов, может быть, это нужно проанализировать или что-то в этом роде.
Надеюсь, это поможет нам решить проблему.
Спасибо