【发布时间】:2020-09-15 18:12:27
【问题描述】:
我有一个调用 asmx Web 服务的应用程序,但该服务不再存在。没有代码,没有 wsdl,什么都没有。
客户端是一个简单的控制台应用程序,它具有对不再存在的服务的服务引用。除了更改其 app.confing 中的 URL 和绑定数据外,不得以任何方式修改客户端。不允许重新编译。
如果我可以创建新服务,我就可以实现所需的调用。我怎样才能使服务适用于旧客户端?
【问题讨论】:
-
@RyanWilson 问题是如何创建服务以使其与客户端兼容。不仅仅是如何创建任何服务。
-
看看客户端在做什么,看看它创建了什么样的请求(如果需要可以使用工具检查请求的原始内容),然后会更容易编写一个可以接收该格式请求的服务器。如果您在那之后仍然在苦苦挣扎,请向我们展示您客户的相关代码,以及您收集的有关请求内容的任何信息,也许我们可以帮助您。现在我们不能给你一个明确的答案,我们所能做的就是告诉你,就像我所做的那样,去获取更多的信息。
-
WCF 客户端将调用服务器的方法。客户端只知道服务接口,接口的实现在WCF服务器上。如果没有服务器端代码,你将不知道接口是如何实现的。我认为您的需求无法实现。
-
这是一个很好的观点。除非您已经非常熟悉该服务在幕后所做的事情,否则除了表面上的替换之外,可能很难重新创建任何东西。您也许可以让它接受您的应用程序发送的请求,但您是否确切知道它对之后的数据做了什么?
-
@DingPeng 所以,我对服务方法的实现不感兴趣,我知道如何实现这些方法。我有兴趣制作具有相同服务合同的服务,因为无法重新编译和重新分发客户端。
标签: c# visual-studio web-services wcf