Добрый день! Создал по инструкции веб-сервис, опубликовал его на проде, так же по той же инструкции тех. поддержка Terrasoft зарегистрировала мне этот анонимный веб-сервис, т.к. прод находится в облаке. После отправки запроса на сервис, заметил, что параметры, которые я передаю в итоге оказываются пустыми (в случае, если передаю Guid, то в сервисе обрабатывается пустой Guid, если передаю строку, то обрабатывается пустая строка)
Код сервиса:
namespace Terrasoft.Configuration.UsrUnsubscribeFromNewslettersService
{
using System;
using System.IO;
using System.Net;
using System.Collections.Generic;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.ServiceModel.Activation;
using Terrasoft.Web.Common;
using Terrasoft.Common;
using Terrasoft.Core.Entities;
using Terrasoft.Core;
using Terrasoft.Core.Process;
using Terrasoft.Core.Process.Configuration;
using Newtonsoft.Json;
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class UsrUnsubscribeFromNewslettersService: BaseService
{
private SystemUserConnection _systemUserConnection;
private SystemUserConnection SystemUserConnection {
get {
return _systemUserConnection ?? (_systemUserConnection = (SystemUserConnection)AppConnection.SystemUserConnection);
}
}
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
ResponseFormat = WebMessageFormat.Json)]
public UnsubscribeRequest UnsubscribeFromNewsletters(UnsubscribeRequest request){
SessionHelper.SpecifyWebOperationIdentity(HttpContextAccessor.GetInstance(), SystemUserConnection.CurrentUser);
ProcessSchema schema = SystemUserConnection.ProcessSchemaManager.GetInstanceByName("UsrUnsubscribeUserFromNewsletters");
var flowEngine = new FlowEngine(SystemUserConnection);
var param = new Dictionary<string, object>();
param["ContactId"] = request.ContactId;
param["NewslettersId"] = request.NewslettersId;
flowEngine.RunProcess(schema, param);
return request;
}
}
public class UnsubscribeRequest {
public Guid ContactId {get; set;}
public Guid NewslettersId {get; set;}
}
}
Если переделать POST на GET, то сервис работает.