Я использую WCF в качестве клиента для связи со службой REST, которая принимает и возвращает данные JSON.
Служба расположена по адресу http://127.0.0.1/REST/get_details/ - обратите внимание на конечный слеш
К сожалению, WCF избегает завершающей косой черты перед вызовом URL, поэтому вызов не удался. Я не могу использовать UriTemplate свойства WebInvoke, потому что это вызов webscript, поэтому он не разрешен, а Action и ReplyAction из [OperationContract] предназначены для SOAP, а не для REST, поэтому я тоже не могу их использовать.
Неправильный URL-адрес, который вызывает этот вызов: / REST / get_details_x002F_
Как я могу помешать WCF испортить URL?
[ServiceContract(Namespace="http://127.0.0.1/REST/")]
public interface IDetailsSvc
{
[OperationContract(Name = "get_details/")]
[WebInvoke(
Method = "POST",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json)]
DetailsResponse GetDetails(string id);
}