读书人

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

发布时间: 2012-07-28 12:25:13 作者: rapoo

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); 

读书人网 >Web Service

热点推荐