【问题标题】:Is it possible to detect that a web service was written in .NET?是否可以检测到 Web 服务是用 .NET 编写的?
【发布时间】:2014-04-04 10:04:16
【问题描述】:

我正在尝试编写一个使用 ksoap2 使用 SOAP Web 服务的客户端程序。

我不知道如何确定 WSDL 是否基于 .NET。在我观看的视频教程中,他们说由于 URL 包含术语“asmx”(this one),代表 ASP.NET,因此它是基于 .Net 的 Web 服务。

但是,如果我有任何其他 Web 服务及其 WSDL,我看到的只是一个 XML 模式(并且我看到了不包含“asmx”的 WSDL 的 URL),我如何知道它是否是 . NET 的 web 服务与否?一般可以检测吗?

【问题讨论】:

  • 最重要的是:为什么你认为这很重要?如果 Web 服务实现得很好,那没关系,因为它们应该是可移植的。是的,至少在理论上。大多数工具中的扩展都可以更改(配置问题),并且可以重写 URL(例如,Apache 上的 ModRewrite)。
  • 这很重要,因为在编写 Android 客户端来使用 Web 服务时,有类似:soapEnvelope.dotNet=true;soapEnvelope.dotNet=!true;
  • 知道他们为什么需要制作那个标志会很有趣。在 Android 或 .NET 方面是否存在一些不兼容问题。但这意味着,XML 结构中存在一些问题,并且可以将某些东西用作签名......我会这样看。正如我所写的,理论上每个兼容 SOAP 的库都应该与每个兼容 SAOP 的 Web 服务合作,在实践中,一些语言存在问题,Java 就是其中之一。
  • 根据我的经验,最流行的 java/wcf 互操作性问题是安全标头中的时间戳。

标签: asp.net .net web-services soap wsdl


【解决方案1】:

.svc 扩展可以是 WCF 服务的一些指针。您还可以浏览服务 url(类似http://demos.telerik.com/aspnet-ajax/combobox/examples/loadondemand/wcf/ComboBoxWcfService.svc),WCF 服务显示信息页面。

【讨论】:

  • 如果有人不努力隐藏平台,检查 Server 和 X-Powered-By 标头应该足够了。
  • 你是对的,查看响应头是一个更好的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-22
相关资源
最近更新 更多