2013-05-20 44 views
1

所以我有一个web服务服务引用,它工作localhost,可以从它的生产url中ping通,但是我无法通过服务访问它生产中的参考呼叫。我相信这个问题是我的防火墙。我有两个网站在同一台服务器上,每台都有自己的专用IP地址。我正尝试从第一个网站拨打第二个网站上的网络服务。如果我在生产服务器上打开浏览器,则无法导航到任一网站。Web服务错误“没有端点在......监听”防火墙关注

错误描述:没有端点监听http:// [209.112.245.103] /Services/OfferService.asmx可以接受该消息。这通常是由不正确的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。

内部异常:无法连接到远程服务器

主叫网站是相同的服务器上(不同当然IP)和被呼叫经由服务引用web服务:

Dim offerService As New ServiceReferenceOffer.OfferServiceSoapClient("OfferServiceSoap") 

offerService.BroadcastOfferChange(offer.PropertyID, offer.OfferID, offer.ResultResponse) 

我的web.config包含以下服务端点信息:

<system.serviceModel> 
     <bindings> 
      <basicHttpBinding> 
       <binding name="OfferServiceSoap" /> 
       <binding name="ConversationServiceSoap" /> 
      </basicHttpBinding> 
      <customBinding> 
       <binding name="OfferServiceSoap12"> 
        <textMessageEncoding messageVersion="Soap12" /> 
        <httpTransport /> 
       </binding> 
       <binding name="ConversationServiceSoap12"> 
        <textMessageEncoding messageVersion="Soap12" /> 
        <httpTransport /> 
       </binding> 
      </customBinding> 
     </bindings> 
     <client> 
      <endpoint address="http://209.112.245.103/Services/ConversationService.asmx" 
       binding="basicHttpBinding" bindingConfiguration="ConversationServiceSoap" 
       contract="ServiceReferenceConversation.ConversationServiceSoap" 
       name="ConversationServiceSoap" /> 
      <endpoint address="http://209.112.245.103/Services/ConversationService.asmx" 
       binding="customBinding" bindingConfiguration="ConversationServiceSoap12" 
       contract="ServiceReferenceConversation.ConversationServiceSoap" 
       name="ConversationServiceSoap12" /> 
      <endpoint address="http://209.112.245.103/Services/OfferService.asmx" 
       binding="basicHttpBinding" bindingConfiguration="OfferServiceSoap" 
       contract="ServiceReferenceOffer.OfferServiceSoap" name="OfferServiceSoap" /> 
      <endpoint address="http://209.112.245.103/Services/OfferService.asmx" 
       binding="customBinding" bindingConfiguration="OfferServiceSoap12" 
       contract="ServiceReferenceOffer.OfferServiceSoap" name="OfferServiceSoap12" /> 
     </client> 
    </system.serviceModel> 
+0

检查终端设置是否在web.config上。另外,尝试连接一个不同的工具,如SOAPUI。 –

+0

我确实在web.config中有我的端点设置。并纠正我,如果我错了,但因为我可以在浏览器中ping http:// [209.112.245.103] /Services/OfferService.asmx我不认为SoapUI可以进一步帮助我... –

回答

0

您的配置是正确的。我只是访问你的服务器,一切都很好(所以它不是代码相关的)。由于网站和网站位于同一服务器,因此您可能需要使用不同的IP或地址才能访问wcf(尝试127.0.0.1,本地主机或内部服务器ip)。

+0

本地IP得到它非常感谢! –

+1

我也可以修改localhosts文件来解析dns名称到本地ip ... –

+0

是的,将dns名称添加到主机是一个不错的选择,因为您可以在任何地方使用相同的配置。 – lstern