我正在尝试使用c#调用Web服务方法,并且得到响应
在https://sub.example.com/Service/Services.svc上没有端点可以接受该消息。这通常是由不正确的地址或SOAP操作引起的。有关更多详细信息,请参见InnerException(如果存在)。
内部异常如下
远程服务器返回错误:(404)找不到。
我认为这是由于代理或其他问题。当我使用Visual Studio添加引用时,它将自动生成肥皂地址
所以关键的问题是服务可以通过外部不同的地址获得,但是IIS响应使用内部地址。
我尝试使用不同的方法将Web服务方法与代理地址建立连接,但这没有用。有没有办法解决这个问题,或者服务提供商需要更改IIS配置?
配置如下
<behaviors>
<serviceBehaviors>
<behavior name="ServiceLibrary.Service1Behavior">
<serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="True" />
<serviceAuthorization principalPermissionMode="None" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBindingConfiguration" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
使用http访问站点时,该服务将返回IP或名称,与地址栏中的相同。但是,使用https服务访问时会返回计算机名称。
答案 0 :(得分:0)
因此事实证明,绑定是此方法不起作用的原因
<binding name="BasicHttpBindingConfiguration" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
安全模式错误,应该是
安全模式=“运输”
如果需要在http和https一侧添加内容,则需要添加多个绑定。
How can I combine the WCF services config for both http and https in one web.config?