【问题标题】:HTTP Redirect to SOAP WebserviceHTTP 重定向到 SOAP Web 服务
【发布时间】:2012-10-05 16:17:47
【问题描述】:

我需要将几个 ASP.net SOAP Web 服务移动到不同的服务器,但它们被广泛使用,我们不能中断客户端与它们之前位置的连接。客户端无法修改。

我已建立到新服务位置的 HTTP 重定向 (302),但 SOAP 客户端获取的是重定向广告而不是服务响应。

我已经看到了一些处理这个问题的方法,但它们都涉及修改客户端代码,这不是一种选择。我剩下的唯一想法是创建一个透明的代理 SOAP 服务来返回所需的响应,但我们并没有放松我们的耦合,而是实际上将它收紧了一个档次,这既愚蠢又难看。

还有更好的答案吗?

【问题讨论】:

    标签: asp.net web-services soap iis-7 http-redirect


    【解决方案1】:

    我认为使用 HttpServerUtility.Transfer 方法为旧服务创建一个使用旧 URL 的存根是最好的方法。这对任何客户端应该是 100% 透明的,这意味着它不会发送 HTTP 级别的重定向或任何让客户端正确接收和响应的内容。

    在服务器端,您可以将旧的 Web 服务调用映射到新的调用,并且它应该对客户端完全透明。这仅在来自新服务的响应仍然足够接近以验证旧服务的 WSDL 时才有效。如果 web 服务方法和响应的签名发生了太大的变化,那么您将无法透明地执行此操作。

    【讨论】:

    • 是的,这就是我害怕的,但我认为你是对的,应该可以解决这个问题。我想让它为其他替代方案开放一段时间,但这可能正是我必须做的。
    猜你喜欢
    • 2016-06-18
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多