Так что это моя ситуация.Мне нужно использовать стороннюю веб-службу (не wcf) из другой службы WCF, которая будет служить посредником между первой службой и моим веб-приложением.Проблема почти в каждом примере, который я видел при выполнении этого, требует добавления ссылки на Web / Service в приложение для генерации прокси, но я не могу добавить ссылку, она возвращает ошибку, возможно, из-за некоторой необходимой аутентификации,
Эта услуга может быть использована только GET или POST.Мне удалось использовать службу как GET, так и POST из ajax-вызова с jquery на веб-странице, но я не знаю, как использовать службу из службы wcf в c #.
ПримерGET-запрос от службы:
http://webservice.server.com/services/myservice?user=[username]&password=[password]&value1=[somevalue]&value2=[anothervalue]
Ответ представляет собой xml с кодом состояния операции и сообщением о состоянии, которое я затем продолжаю сохранять в базе данных.
Как мне это сделать?
Спасибо за любую помощь ...
РЕШЕНИЕ
Спасибо Шону за то, что он указал мнеправильное направление.Как я это сделал:
Справочная статья: Как использовать HttpWebRequest для отправки POST-запроса на другой веб-сервер
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = "username=" + username;
postData += ("&password=" + password);
postData += ("&value1=" + val1);
postData += ("&value2=" + val2);
byte[] data = encoding.GetBytes(postData);
// Prepare POST web request...
HttpWebRequest myRequest =
(HttpWebRequest)WebRequest.Create(new Uri("http://webservice.server.com/services/myservice"));
myRequest.Method = "POST";
myRequest.ContentType = "application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
Stream newStream = myRequest.GetRequestStream();
// Send the data.
newStream.Write(data, 0, data.Length);
newStream.Close();
// Get response
using (HttpWebResponse response = myRequest.GetResponse() as HttpWebResponse)
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());
// Read the whole contents and return as a string
result = reader.ReadToEnd();
}
XDocument doc = XDocument.Parse(result);
// Read XML
Пожалуйста, если у вас есть какие-либо комментарии к моему решению, возражения или улучшения, все комментарии приветствуются.