我正在尝试对业务合作伙伴托管的 Web 服务进行 Soap 调用。我遇到的问题是我们的客户端托管在具有多个 IP 的虚拟 PC 上。我想用不同的(非默认)IP 地址调用托管的 Web 服务。这是为什么?我们的客户端应用程序和托管 Web 服务之间存在 VPN 连接,但它是在两个 IP 之间设置 LAN2LAN。现在我必须更改本地源 IP 地址以匹配 VPN 要求。
我曾尝试使用 SoapHttpClientProtocol 的 WebProxy,将其值设置为新 IP,但它似乎不起作用。我收到 HTTP 404 错误。
这是一些代码:
//soapApiClient is typeof SoapHttpClientProtocol
//endpoint url -> webservice, url from appSettings
var url = SettingsProvider.ClientSapGetUserDataUrl;
soapApiClient.Url = url;
//proxy settings -> setting new IP, defined in appSettings
var proxy = SettingsProvider.ClientProxyAddress;
soapApiClient.Proxy = new WebProxy(proxy);
//credentials
soapApiClient.Credentials = GetCredentials();
我 HTTP 发布用户代码和返回值应该是来自 SAP 的用户数据,目前我收到 404 http 错误代码。相比之下,它就像来自 SoapUI 的魅力。也许设置代理不是我想要的?任何帮助将非常感激。
编辑:为了更清楚目前,默认情况下从默认 ip 91.185.201.88 调用服务。服务的 IP 是 10.67.145.70。我想这样改变它:从 192.168.4.2 调用服务到服务的 10.67.145.70。