wcf json-клиент, завершающий прямую косую черту, сбежал - PullRequest
1 голос
/ 09 февраля 2012

Я использую 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);
}

1 Ответ

1 голос
/ 09 февраля 2012

Ах ... Я не правильно использую тэг config. Вы указываете это только на конечных точках службы, а не на конечных точках клиента. Нет смысла указывать его на конечной точке, которую вы реализуете на клиенте.

«Этот элемент включает поведение конечной точки, которое позволяет использовать службу с веб-страниц ASP.NET AJAX» http://msdn.microsoft.com/en-us/library/bb675191.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...