Добрый день!
Реализовал простейший Wcf сервис в BPM Online. Прописал все конфиги, по ссылке стало доступно описание сервиса http://localhost:89/0/ServiceModel/NewWebService.svc.
Создал консольное клиентское приложение, привожу код ниже. Получаю данные авторизации CookieContainer согласно примеру на академии. А вот дальше в ответ на запрос получаю ошибку: Удаленный сервер возвратил ошибку:403 запрещено. При этом аналогичный сервис размещенный в IIS работает корректно. Подскажите, как можно решить проблему.
Console.WriteLine("Успешна ли аутентификация?: {0}", TryLogin("Supervisor", "Supervisor"));
string uri = "http://localhost:89/0/ServiceModel/NewWebService.svc/getCurrencyList";
var currencyRequest = new NewWebService.request();
currencyRequest.Id = "22";
currencyRequest.operation = "getCurrencyList";
currencyRequest.getCurrencyListParameters = new List();
XmlSerializer serializer = new XmlSerializer(typeof(NewWebService.request));
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.CookieContainer = AuthCookie;
//request.KeepAlive = true;
request.Method = "POST";
request.ContentType = "text/xml";
using (Stream requestStream = request.GetRequestStream())
{
serializer.Serialize(requestStream, currencyRequest);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
var responseStr = new StreamReader(responseStream).ReadToEnd();
responseStr = HttpUtility.HtmlDecode(responseStr);
XmlSerializer deserializer = new XmlSerializer(typeof(CurrencyServiceResponse.Response));
using (TextReader reader = new StringReader(responseStr))
{
var responseObj = (CurrencyServiceResponse.Response)deserializer.Deserialize(reader);
}
}
response.Close();