我写了一个
wcf rest的服务
今天公司项目的外包公司反应说
无法通过
<form id="form1" runat="server" action="XXXXXXXXX">
<div>
<input type="hidden" id="mid" value="5" />
<input type="hidden" id="property" value="Email" />
<input type="submit" value="搜索" />
</div>
</form>
的方式来调用 服务
可以使用JsonPost的方式来调用 是没问题的,但是对方希望通过form标签或者java后台的Http Request方式来实现,
请问怎么处理,
- C# code
[WebInvoke(UriTemplate = "/Member/Info", BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, Method = "POST")] public string GetUserInfo(string mid,string property) { string result; MemberBusiness business = new MemberBusiness(); result = business.GetUserInfo(mid, property); return result; }
------解决方案--------------------
是用JAVA调用WCF么
其实就2个方法GET 和POST
你这个方法只能接收POST的请求
改为GET就应该好了Method = "GET",或者完全不写方法,就是GET了
只要你能在C#的程序用get方法请求,JAVA的后台就应该能通过了
------解决方案--------------------
那么服务端直接从 HttpRequest 里取吧,服务设计无参数。
------解决方案--------------------
post提交需要从httpServletRequest中拿到paramMap(),get方式就直接在httpServletRequest中了,直接通过.get拿
------解决方案--------------------
给你个例子,是从我做的系统中抽出来的,用Jason Format Serialized.
- C# code
[OperationContract, WebGet(UriTemplate = "/Customers/{cityID}", ResponseFormat = WebMessageFormat.Json)]Customer[] GetCustomers(string cityID);