WCF с помощью webHttpBinding - как получить параметры? - PullRequest
0 голосов
/ 13 декабря 2011

У меня есть простой метод wcf под названием 'test' (служба wcf настроена для webHttpBinding)

Я могу сделать HTTP POST без каких-либо параметров, но я хочу отправить ему только строку в качестве одного параметра, но, кажется, не могу этого достичь?

Например, метод test(string s){};

Я попытался отправить на test с данными 'hello world' и '&s=hello world' безрезультатно.

Редактировать: интерфейс для test выглядит примерно так:

[OperationContract]
[WebInvoke(UriTemplate = "test", Method = "POST", RequestFormat = WebMessageFormat.Xml, BodyStyle = WebMessageBodyStyle.Bare)]
string test(string s);

Ответы [ 2 ]

1 голос
/ 13 декабря 2011

Изменение test(string s) на test(Stream s) исправило это.

0 голосов
/ 13 декабря 2011

Вы можете попытаться опубликовать это как часть вашего запроса:

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">Hello World</string>

Вы можете попробовать это из fiddler.Или, если вы хотите отправлять сообщения из .NET CLient, используйте приведенный ниже код @

var client = new RestClient();  
client.BaseUrl = serviceBaseUrl;  
var request = new RestRequest(method){RequestFormat = DataFormat.Xml};      
request.Resource = resourceUrl;  
request.AddParameter("text/xml", requestBody,  ParameterType.RequestBody);  
var response = client.Execute(request);

. Вам нужно скачать API RestSharp, чтобы вышеуказанный код работал

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