我有一个名为“test
”的简单wcf方法(为webHttpBinding
配置了wcf服务)
我可以在没有参数的情况下对它进行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);
答案 0 :(得分:1)
将test(string s)
更改为test(Stream s)
修复此问题。
答案 1 :(得分:-1)
您可以尝试将此帖子作为请求正文的一部分发布:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">Hello World</string>
你可以从小提琴手那里试试。或者,如果要从.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);
您需要下载名为RestSharp的API才能使上述代码正常工作