2017-02-25 219 views
0

我已经在remonte机器上创建iis服务器(Windows Server 2008 R2)。这是我的web.config:无法连接到远程机器上的IIS服务器

<system.serviceModel> 
<bindings> 
    <wsHttpBinding> 
    <binding name="Binding" closeTimeout="00:05:00" sendTimeout="00:10:00" /> 
    </wsHttpBinding> 
</bindings> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="DictionaryServiceBehaviors"> 
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<services> 
    <service behaviorConfiguration="DictionaryServiceBehaviors" name="BandD.Serwis.SerwisISS.Service.DictionariesService"> 
    <endpoint address="" 
       binding="wsHttpBinding" 
       contract="BandD.Serwis.SerwisISS.Interface.IDictionariesService" 
       bindingConfiguration="Binding"/> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://xxx.xxx.199.89:7833/BandD.Serwis.SerwisISS.Service/DictionariesService/"/> 
     </baseAddresses> 
    </host> 
    </service> 
</services> 

即App.config中的客户端应用程序:

<system.serviceModel> 
<bindings> 
    <wsHttpBinding> 
    <binding name="WSHttpBinding_IDictionariesService" /> 
    </wsHttpBinding> 
</bindings> 
<client> 
    <endpoint address="http://xxx.xxx.199.89:7833/Service/DictionariesService.svc" 
     binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IDictionariesService" 
     contract="DictionariesService.IDictionariesService" name="WSHttpBinding_IDictionariesService"> 
    </endpoint> 
</client> 

我有添加IIS服务器角色到我的远程机器,我设置物理路径从服务器应用程序中找到公开的文件(从VS发布)。我将所有身份验证设置为已禁用,只有匿名身份验证已启用。

,当我尝试连接用的soapUI到WSDL我去错误:

Error getting response; java.net.UnknowsHostException: winserver2008 

当我想和客户端应用程序连接到服务器,我必须写用户名和密码(管理员密码不工作)。 我必须做什么才能连接到服务器而无需身份验证。我应该在服务器(Windows服务器)或app.config上更改以正确连接。

可能是我的床网/的app.config

+0

[上IIS主机WCF服务应用程序]的可能的复制(HTTP:/ /stackoverflow.com/questions/20674398/host-wcf-service-application-on-iis) – David

+0

这是somthin others,因为我已经创建了WCF servis并且我托管它,但是我无法连接到它。 – Newer

回答

0

好吧,我找到解决办法: 在MS服务器更改我现在的网站连接为(以巴西奇设置)管理员。这只是现在,我以后改变它。 其次,我改变web.config中的服务器:

<system.serviceModel> 
<bindings> 
    <wsHttpBinding> 
    <binding name="Binding" closeTimeout="00:05:00" sendTimeout="00:10:00"> 
     <security mode="None" /> 
     <reliableSession enabled="true" /> 
    </binding> 
    </wsHttpBinding> 
</bindings> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="DictionaryServiceBehaviors"> 
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<services> 
    <service behaviorConfiguration="DictionaryServiceBehaviors" name="BandD.Serwis.SerwisISS.Service.DictionariesService"> 
    <endpoint address="" binding="wsHttpBinding" bindingConfiguration="Binding" 
     contract="BandD.Serwis.SerwisISS.Interface.IDictionariesService" /> 
    <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" 
     name="mex" contract="IMetadataExchange" /> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://http://xxx.xxx.199.89:7833/Service/DictionariesService" /> 
     </baseAddresses> 
     <timeouts closeTimeout="00:01:00" openTimeout="00:10:00" /> 
    </host> 
    </service> 
</services> 

最后我改变客户端应用程序配置:

<system.serviceModel> 
    <bindings> 
     <wsHttpBinding> 
      <binding name="WSHttpBinding_IDictionariesService"> 
       <reliableSession enabled="true" /> 
       <security mode="None" /> 
      </binding> 
     </wsHttpBinding> 
    </bindings> 
    <client> 
     <endpoint address="http://xxx.xxx.199.89:7833/Service/DictionariesService.svc" 
      binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IDictionariesService" 
      contract="DictionariesService.IDictionariesService" name="WSHttpBinding_IDictionariesService" /> 
    </client> 
</system.serviceModel> 
相关问题