【问题标题】:Sending SOAP request using public IP使用公共 IP 发送 SOAP 请求
【发布时间】:2017-02-11 07:54:32
【问题描述】:

我在本地 Windows 服务器机器上有 Web 服务器,私有内部 IP 为 172.22.X.X 我想通过 SOAP 与使用我的公共 IP 151.253.X.X 的外部服务器进行通信

我的代码在 C# 中,我的问题是我的请求是通过我的私有 IP 发出的,而我的外部服务器只接收来自我的外部 IP 的消息。

如何发送/接收来自外部 IP 的请求?

【问题讨论】:

  • 如何使用 HttpWebRequest 发送 SOAP 请求?
  • 使用 SoapHttpClientProtocol

标签: c# .net web-services soap ip


【解决方案1】:

使用SoapHttpClientProtocol,我想(没有检查),您可以执行以下操作:从它继承(或从它继承的任何类,如果您已经拥有它),并覆盖GetWebRequest 方法,例如这个:

public class MyProtocol : SoapHttpClientProtocol {
    protected override WebRequest GetWebRequest(Uri uri) {
        var request = (HttpWebRequest) base.GetWebRequest(uri);
        request.ServicePoint.BindIPEndPointDelegate += (servicePoint, remoteEndPoint, retryCount) => {
            return new IPEndPoint(IPAddress.Parse("your external id here"), 0);
        };
        return request;
    }
}

【讨论】:

    猜你喜欢
    • 2021-05-28
    • 2013-08-13
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    • 2016-03-25
    • 2015-09-16
    相关资源
    最近更新 更多