0

我正在从我的 Asp.net MVC Web 应用程序调用 Java Web 服务。如果 web.config 中的端点地址使用其 ip 地址或 localost 引用服务器,则 Web 服务工作。但是当我用主机名替换 ip adderess 时,它找不到服务器。

这是我的 web.config 的服务部分

<system.serviceModel>
  <bindings>
    <basicHttpBinding>
      <binding name="TestInterfaceBeanServiceSoapBinding" closeTimeout="00:01:00"
        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
        allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
        useDefaultWebProxy="true">
        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
          maxBytesPerRead="4096" maxNameTableCharCount="16384" />
        <security mode="None">
          <transport clientCredentialType="None" proxyCredentialType="None"
            realm="" />
          <message clientCredentialType="UserName" algorithmSuite="Default" />
        </security>
      </binding>
    </basicHttpBinding>
  </bindings>
  <client>
    <endpoint address="http://MyServer:8080/ets-impl-2.0/TestInterfaceBean"
      binding="basicHttpBinding" bindingConfiguration="TestInterfaceBeanServiceSoapBinding"
      contract="TestService.TestInterfaceBean" name="TestInterfaceBeanPort" />
  </client>
</system.serviceModel>
4

2 回答 2

0

当您在 DMZ 中部署到生产环境并访问内部 Web 服务时,通常会发生这种情况。您的 DMZ 服务器可能没有使用内部 DNS,因此它不知道如何解析 IP 地址。

我们过去通过将服务器名称和 IP 地址添加到 Windows 主机文件中解决了这个问题。

于 2012-06-04T18:26:07.243 回答
0

http://MyServer:8080/ets-impl-2.0/TestInterfaceBean在浏览器中尝试 URL ( )。主机是否正确解析?

您可以使用nslookup myserver来确定服务器名称是否被解析为您期望的相同 IP 地址。

于 2012-06-04T18:15:56.623 回答