2012-06-04 15 views
0

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

这里是我的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> 
+1

您是否检查过您正在运行此计算机的计算机是否可以解析MyServer? –

回答

0

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

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

+0

我已验证我可以访问wsdl ina浏览器。我也试过验证了IP地址,并尝试使用nslookup带回的完整主机名。 – user1435693

0

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

我们已经通过将服务器名称&的IP地址添加到Windows主机文件来解决了这个问题。

+0

我有两个测试服务器。一个和客户端在同一个盒子里。我已将两台机器添加到主机文件。所有的机器都在我们的内部网络上。 – user1435693