Вложенный Json как вход в методе POST - PullRequest
0 голосов
/ 21 марта 2012

Я использую Fiddler для вызова моего метода. Вот параметры:

{"timestamp":"",
"json":
    {
        "something":[{"text":"bla","status":"1"},{"text":"sfdf","status":"1"}],
        "somethingElse":[{"description":"description""status":"1"}],
        "som1":[{"id":"1""status":"1"}]
    }
 }

Путь к методу правильный. Вот подпись:

public void MyMethod(string timestamp, string json)

Но его никогда не вызывают. Как изменить мой метод, чтобы он вызывался? Должен ли параметр 'json' не быть строкой?

Я звоню через Fiddler. Мой метод в C #. Проект Wcf service.

Я попытался изменить тип json со строки на объект, и метод вызывается, но json не имеет значения.

Ответы [ 2 ]

1 голос
/ 21 марта 2012

попробуйте это в вашем интерфейсе,

 public interface IRestFulWCF
{
    [OperationContract(Name = "MyMethod")]
    [WebInvoke(
        RequestFormat=WebMessageFormat.Json,
        UriTemplate="/Example",
        Method="POST",
        BodyStyle=WebMessageBodyStyle.WrappedResponse)
    ]
    public void MyMethod(string timestamp, string json) ;

}

пожалуйста, опубликуйте подробности вашего интерфейса в конце web.config здесь, если это вам не помогает.

0 голосов
/ 30 марта 2012

Я создал новый класс со следующими свойствами: List, List, List, и я изменил метод:

public void MyMethod(string timestamp, theNewClass json) ;

, и он работал.

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