【发布时间】:2023-03-17 09:44:02
【问题描述】:
有一个只能通过 http 消费的 web 服务和一个只能消费 https web 服务的客户端。因此,我需要一些中介来转发在 https 中收到的请求并在 http 中返回响应。
假设中介完全愚蠢,除了它知道 Web 服务端点在哪里(即它不知道服务的签名是什么,它只知道它可以通过 http 与它通信web 请求,它监听一些 https uri,转发它收到的任何东西),实现这一点的最简单方法是什么?
我整天都在玩这个,不知道如何实现“愚蠢”位,即不知道传递回逐字响应的签名。
【问题讨论】:
-
您确定 HTTP/HTTPS 限制吗? HTTPS 仍然是 HTTP,只是通过安全连接。您也许可以通过使用从 443 到 80 的端口转发来解决您的问题(假设客户端接受纯 HTTP 响应)
-
有人告诉我,端口转发不是一种选择。不知道为什么会这样,但它是规范的一部分;可能是因为客户端不在公司内网所以无法通过http返回。
-
到目前为止你尝试过什么?它不只是使用原始 SOAP 有效负载从客户端(可能在删除客户端凭据之后)到最终端点执行 HTTP POST 并返回响应吗?
-
@muratgu:问题很可能是 WCF 端点已经通过将客户端转换为某种对象而消耗了来自客户端的有效负载。在这种情况下,WCF 很可能会与你作对。
-
@mellamokb:是的,这是我的问题。如何原封不动地返回“有效载荷”。
标签: c# wcf web-services