0

我有一个带有自定义类对象作为参数的 WCF 服务。

MyClass Call(MyParameter Parameter)

我需要将此对象 Parameter 传递给该服务并继续该服务中的其余操作。我需要通过 JQuery 调用此服务。我尝试了 JSON 对象,但它不起作用,如果它应该起作用,我一定做错了,也就是说。

我试过了

$.ajax({
            type: "GET",
            url: "http://localhost:56779/Service.svc/web/Call",
            data: { Parameter: parameter },
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            username: "xxxx",
            password: "yyyy",
            processData: true,
            success: function (msg) {
                console.log(msg);
            },
            error: function (e) {
                alert('Error!');
            }
        });

var parameter = {
            "Parameter": {
                "ID": "A5",
                "Var": "5",
                "Reference": {
                    "ID": "12345678"
                },
                "Order": {
                    "ID": 10,
                    "Category": {
                        "Price": {
                            "Value": "1000"
                        },
                        "Quantity": {
                            "Value": 4
                        },
                        "Date": "1/14/2013"
                    }
                }
            }
        };

我也试过

data: JSON.stringify(parameter)

但它不起作用,甚至没有调用服务并且发生错误。请让我知道如何去做。

我真正的任务是发送这样的对象作为 SOAP 消息并获得 SOAP 响应;如果我不需要通过JSON,那么请直接指导我实现我的目标。

PS 我想知道如何将对象发送到 WCF 服务,不管有没有 SOAP,所以,当我被引导到我的目标时,我很高兴有关于这个额外目标的另一个指导。

谢谢

4

1 回答 1

0

有一个很好的 SO 问题关于在此处创建一个接受 Json 请求的 WCF 服务。我想这会回答你的问题。

WCF Restful 服务的 Http Post 格式

您需要确保将 WCF 服务配置为预期 Json 请求。我还建议您使用SoapUi之类的工具来验证服务的预期请求(和响应)格式是否符合您的预期。

于 2013-01-14T12:56:33.133 回答