使用Fiddler命中WCF Rest服务时出现400错误

时间:2013-12-18 18:06:41

标签: c# jquery wcf-rest

使用Fiddler和客户端测试页面进行测试,在向我的WCF服务进行Ajax POST时收到400错误。对同一个网址的GET工作正常。我在服务的C#代码中设置了一个断点,但它甚至没有进入该方法。我需要一些帮助来确定什么是错的,因为我现在还不知道。一个类似的POST之前工作正常,但我不得不重写我的Ajax调用,我假设我错过了一些东西?非常困惑和沮丧。

    [OperationContract]
    [WebGet(UriTemplate = "/{appName}/{custCode}/{custUserName}/",
        ResponseFormat = WebMessageFormat.Json,
        BodyStyle = WebMessageBodyStyle.Bare)]
    IList<Url> GetUrls(string appName, string custCode, string custUserName);

    [OperationContract]
    [WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped,
        Method = "POST",
        ResponseFormat = WebMessageFormat.Json,
        UriTemplate = "/{appName}/{custCode}/{custUserName}/")]
    ResponseAction SaveDeviceInfo(string appName, string custCode, string custUserName, DeviceInfo deviceInfo);

这是我在客户端的Ajax调用:

            var jsDeviceInfo = {
                deviceUuid: 'Unique660',
                deviceModel: 'Mark3',
                deviceCordova: '2.3.3',
                devicePlatform: 'Android',
                deviceVersion: '3.3.0'
            };
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                url: "http://localhost:xxx/Service.svc/testApp/custCode/userId",
                data: JSON.stringify({ deviceInfo: jsDeviceInfo }),
                processdata: false,
                success: function (msg) {
                    alert(msg);
                    alert('Posted successfully');
                },
                error: function (msg) {
                    alert('Failed ' + msg.status);
                }
            });

0 个答案:

没有答案