какой URL для поста WCF? - PullRequest
0 голосов
/ 11 марта 2010

Что такое URL для сообщения WCF?

Я создаю метод VS 2008, WCF, как этот

[WebMethod]
public string TestMethod(string param)
{
    return "param:" + param;
}

, поэтому я перехожу к

http://localhost:57000/Service1.asmx?op=TestMethod

Но как мне сделать сообщение на это?

На тестовой странице написано

HTTP POST

Ниже приведен примерHTTP POST запрос и ответ.Показанные заполнители необходимо заменить фактическими значениями.

POST /Service1.asmx/TestMethod HTTP / 1.1 Хост: localhost Content-Type: application / x-www-form-urlencoded Content-Length: длина

param = string

HTTP / 1.1 200 OK Тип содержимого: text / xml;charset = utf-8 Content-Length: length

string

Я бы ожидал, что смогу набрать в URL что-то вроде http://localhost:57000/Service1.asmx?op=TestMethod?param=teststring Но это возвращает

Метод 'TestMethod? Param = teststring' не найден в сервисе Service1.

Какой URL-адрес используется для передачи параметра в wcf или это невозможно илимне нужно сделать что-то еще, чтобы заставить это работать

1 Ответ

1 голос
/ 11 марта 2010

Я не могу ответить на ваш конкретный вопрос, но понимаете ли вы, что «WebMethod» является атрибутом из библиотеки .Net 1.1. Я должен был посмотреть это в документах, потому что я никогда не видел это раньше. Это определенно не вещи WCF.

Из полученного сообщения об ошибке необходимо поместить параметр в тело POST и установить тип содержимого application / x-www-form-urlencoded. Для этого вам понадобится такой инструмент, как Fiddler.

Вы действительно должны взглянуть на некоторые из более новых библиотек для работы с веб-сервисами, поскольку то, что вы используете, ДЕЙСТВИТЕЛЬНО старо Выполните поиск по атрибутам WebGet WebInvoke, чтобы найти более новые средства веб-службы HTTP в WCF.

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