从旧的 asmx webservice 发送和接收 json 对象

Posted

技术标签:

【中文标题】从旧的 asmx webservice 发送和接收 json 对象【英文标题】:sending and receiving json objects from old asmx webservice 【发布时间】:2012-10-11 14:26:21 【问题描述】:

我有一个外部 asmx webservice 的引用,它正在发出soap xml。如何使用 asp.net 客户端发送和接收 json 对象。仅限于 .net 框架版本 3.5。请分享代码sn-ps。

我们不能从 web 服务端改变任何东西,因为它是外部的。

【问题讨论】:

【参考方案1】:
[WebService]
[ScriptService]
public class MyWebService : WebService
    
  [WebMethod (Description="doc here")]    
  [ScriptMethod(UseHttpGet=false, ResponseFormat=ResponseFormat.Json)]     
  public MyObjectType responseMyObject() 
  
      Proxy pu = new Proxy(...);
      return pu.GetMyObject();
  

您不需要JSON serializer,使用 ScriptService 属性对其进行标记使其能够序列化 JSON。您正在对 JSON 进行预序列化,然后再次对其进行序列化:(

【讨论】:

我们不能从 web 服务端改变任何东西,因为它是外部的。 @john,你不能添加新方法吗? @nathangonzalez 我们正在使用外部 asmx 网络服务 @john,因此您实际上并没有“拥有”该服务。无法从客户端更改 asmx 文件的输出。您可以编写一个使用 xml 并将其转换为 json 的中介,但我不确定这是否真的值得。

以上是关于从旧的 asmx webservice 发送和接收 json 对象的主要内容,如果未能解决你的问题,请参考以下文章

当我们在webservice.asmx.cs中编写所有代码时,webservice.asmx有啥用?

WebService-asmx后缀接口调用

shell脚本怎么调用webservice接口

发送Http请求调用webService

使用 jquery ajax、webservice 和 c# 发送电子邮件

在 asp.net 中阻止对 WebService.asmx 的访问