我收到了错误:
异常消息是'传入消息有意外消息 消息格式'Raw'。操作的预期消息格式 是'Xml','Json'。这可能是因为WebContentTypeMapper没有 已在绑定上配置。请参阅文档 WebContentTypeMapper获取更多详细信息。'。请参阅服务器日志了解更多 的信息。
我正在对WCF服务进行ajax调用,如下所示:
function WCFJSON() {
var now = new Date();
var getFromDate = dateToWcf(new Date(now - (60000 * 1440)));
var userid = "1";
m_Type = "POST";
m_Url = "https://dev-04.boldgroup.int/ManitouDashboard/DashboardProxyService.svc/GetStats"
m_Data = "{'fromdate':'" + getFromDate + "'getvaluelist':'[1,2,3]'}";
m_DataType = "json";
m_ProcessData = true;
CallService();
}
function dateToWcf(input) {
var d = new Date(input);
if (isNaN(d)) {
throw new Error("input not date");
}
var date = '\\\/Date(' + d.getTime() + '-0000)\\\/';
return date;
}
function CallService() {
$.ajax({
type: m_Type, //GET or POST or PUT or DELETE verb
url: m_Url, //Location of the service
data: m_Data,
dataType: m_DataType, //Expected data format from server
processdata: m_ProcessData, //True or False
crossdomain: true,
contentType: "application/json",
success: function (msg) { //On Successfull service call
ServiceSucceeded(msg);
},
error: function (jqXHR, textStatus, errorThrown) {
ServiceFailed("jqXHT: " + jqXHR.result + "Text Status: " + textStatus + " Error Thrown: " + errorThrown );
} // When Service call fails
});
}
我的服务合同声明如下:
[ServiceContract]
public interface IDashboardWCFService
{
[OperationContract]
[WebInvoke(UriTemplate = "GetStats", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
Dictionary<int,List<StatValue>> GetStats(DateTime getFromDate, List<int> getValueList);
[OperationContract]
[WebGet(UriTemplate = "GetStatTypes", ResponseFormat = WebMessageFormat.Json)]
List<StatType> GetStatTypes();
}
我在通话中做错了吗?
答案 0 :(得分:1)
m_Data
似乎有错误。两个项目之间没有逗号
(m_Data =“{'fromdate':'”+ getFromDate +“,'getvaluelist':'[1,2,3]'}”;)fromdate
- &gt; getFromDate
,getvaluelist
- &gt; getValueList
)JSON.stringify
。m_Data = JSON.stringify({ getFromDate: "'" + getFromDate + "'", getValueList: [1,2,3] });