返回JSON的.NET soap Web服务 - 它是如何工作的?

时间:2017-06-27 21:56:51

标签: asp.net web-services soap

我没有特别需要实施的东西,我只是想了解一些概念。

据我所知,.NET Web方法(例如)在Web服务中,正在使用SOAP协议。这意味着接收到服务器的数据需要是XML格式,从Web方法返回的数据也应该是XML格式。

我知道我可以这样写:

[WebMethod]
public static Object someMethod(Object josn)
{
    Console.Write(json("someProperty"));
    return new {name = "John"}
}

我知道发送回客户端的数据是JSON格式的...... 但是如果我们使用SOAP协议,它不应该返回XML吗? 我想了解幕后发生的事情或我遗漏的是什么,请求是以xml格式发送的,.NET框架知道如何提取已发送的参数,如果是这样的话 - 如何检索完整的xml代表提出的请求?

1 个答案:

答案 0 :(得分:0)

您所指的是SOAP信封。看看这里:

Sample SOAP Envelope

查看请求或响应中使用的SOAP信封的最简单方法之一是使用FiddlerPostman

修改

以下是使用JSON的WCF SOAP信封的示例(不确定您是使用WCF还是使用带有ASMX文件的旧.NET Web服务):

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
  <s:Header></s:Header>
  <s:Body>[{"DateOfBirth":"\/Date(286801200000+1300)\/","FirstName":"Foo","Id":1,"LastName":"Bar"},{"DateOfBirth":"\/Date(333720000000+1200)\/","FirstName":"Foo","Id":1,"LastName":"Bar"}]</s:Body>
</s:Envelope>