Возникла проблема с вызовом веб-сервиса из студии. Возвращает ошибку 404. Пример сервиса:
namespace Terrasoft.Configuration
{
using System;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.ServiceModel.Activation;
using Terrasoft.Core.DB;
using Terrasoft.Web.Common;
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class UpsertContactService : BaseService
{
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
ResponseFormat = WebMessageFormat.Json)]
public string GetTransformValue(string inputParam)
{
// Изменение значения входящего параметра.
var result = inputParam + " changed!";
return result;
}
}
}
Пример вызова:
HttpWebResponse authresponse = (HttpWebResponse)authRequest.GetResponse();
var myRequest = HttpWebRequest.Create("https://мой сайт/0/ServiceModel/UpsertContactService.svc/GetTransformValue") as HttpWebRequest;
myRequest.Method = "POST";
myRequest.ContentType = "application/json";
foreach (Cookie Cook in authresponse.Cookies)
{
myRequest.Headers.Add(Cook.Name, Cook.Value);
}
myRequest.CookieContainer = bpmCookieContainer;
using (var requestStream = myRequest.GetRequestStream())
{
using (var writer = new StreamWriter(requestStream))
{
writer.Write(@"111");
}
}
using (HttpWebResponse response = (HttpWebResponse)myRequest.GetResponse())
{
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.ASCII))
{
string s = reader.ReadToEnd();
Console.WriteLine(s);
}
}
Авторизация проходит успешно, БП получилось запустить. Как запустить сервис и получить от него ответ?