利用这种服务,我想使用senchatouch2..Service POST方法被写入阵列值存储到数据库(WCF)
服务声明:
[OperationContract]
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "/Check1")]
int Psngr(string[] FirstName);
服务定义:
public static int Psngr(string[] FirstName)
{
List<Psgr> psgr = new List<Psgr>();
var getVal = from s in FirstName select s;
int count = getVal.Count();
SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["db"].ToString());
con.Open();
using (var cmd = new SqlCommand("SP_InsertCheck1", con))
{
int result;
cmd.CommandType = CommandType.StoredProcedure;
for (int i = 0; i < count; i++)
{
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@FirstName", FirstName[i]);
using (var Da = new SqlDataAdapter(cmd))
using (var Ds = new DataSet())
{
Da.Fill(Ds);
result = Convert.ToInt16(Ds.Tables[0].Rows[0]["Result"].ToString());
}
}
return 1;
}
}
我通过Ajax请求accesssed这项服务如下:
Ext.Ajax.request({
url:'http://ws.easy4booking.com/E4b.svc/Check1',
method:'POST',
disableCaching: false,
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
params: {
FirstName:fname_toString, //FirstName:["Sam","Paul"],
},
success:function(response) {
console.log(response);
}
});
当我访问该服务LIK上面提到我有以下错误
请求错误:
服务器遇到一个错误处理请求。 异常消息是“格式化引发了异常,而试图反序列化消息:错误在反序列化请求消息的主体进行操作‘Psngr’。 遇到意外的字符'F'。 请参阅服务器日志的更多细节。 异常堆栈跟踪是:
在System.ServiceModel.Dispatcher.OperationFormatter.DeserializeRequest(消息信息,对象[]参数)在System.ServiceModel.Dispatcher.DemultiplexingDispatchMessageFormatter.DeserializeRequest(消息信息,对象[]参数)在System.ServiceModel.Dispatcher.UriTemplateDispatchFormatter.DeserializeRequest(消息消息,对象[]参数)在System.ServiceModel.Dispatcher.CompositeDispatchFormatter.DeserializeRequest(消息信息,对象[]参数)在System.ServiceModel.Dispatcher.DispatchOperationRuntime.DeserializeInputs(MessageRpc&RPC)在System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin (MessageRpc&RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc&RPC)(MessageRpc&RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&RPC)在System.ServiceModel .Dispatcher.ImmutableDispatchRuntime.Proc essMessage31(MessageRpc&RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11在系统(MessageRpc&RPC)(MessageRpc&RPC)(MessageRpc&RPC)。在System.ServiceModel.Dispatcher.MessageRpc.Process ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&RPC)(布尔isOperationContextSet)