当前位置: 代码迷 >> Web Service >> wcf rest 接收 表单数据的有关问题
  详细解决方案

wcf rest 接收 表单数据的有关问题

热度:358   发布时间:2016-05-02 02:50:52.0
wcf rest 接收 表单数据的问题
我写了一个
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);