【问题标题】:How can I send an object to wcf service?如何将对象发送到 wcf 服务?
【发布时间】:2013-01-14 09:35:49
【问题描述】:

我有一个以自定义类对象为参数的 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,那么请直接指导我实现我的目标。

附:我想知道如何使用或不使用 SOAP 将对象发送到 WCF 服务,因此,当我被引导到我的目标时,我很高兴有关于这个额外目标的另一个指导。

谢谢

【问题讨论】:

  • 我建议你使用 ASP.NET WebAPI 和 JQuery asp.net/web-api
  • 这个服务也被一个windows应用程序使用,它是一个自定义的用户名密码认证服务,需要使用。还有其他方法吗?需要使用 WCF 服务!

标签: jquery json wcf


【解决方案1】:

这里有一个很好的关于制作一个接受 Json 请求的 WCF 服务的问题。我想这会回答你的问题。

Http Post Format for WCF Restful Service

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

【讨论】:

  • 我不需要使用 RESTful 服务。我的要求发生了变化,我被要求使用 HttpWebRequest 来使用服务,而不是 JQuery AJAX;当然,使用 HTTP POST 请求。如果您对此有任何建议,我很高兴知道。感谢您的回复!
  • 好的。这听起来像是一个新问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多