事情是这样的:我有一个类库,它通过肥皂客户端调用 Web 服务。从控制台应用程序中调用时,它工作正常。当从由 http 调用调用的 WCF 服务中调用时,我收到“EndpointNotFoundException - 在http://blablabla.asmx处没有可以接受消息的端点侦听。这通常是由不正确的地址或 SOAP 操作引起的……”
app.config 和 web.config 都包含完全相同的客户端端点配置
发生什么了?顺便说一句,WCF 是从 Visual Studio 本地运行的。我试图调用的肥皂网络服务位于互联网上。
这就是服务模型配置的样子。它使用基本身份验证,并且用户和密码正在类库的代码中设置:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="VocalServerSoap">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://pseudourl.asmx"
binding="basicHttpBinding" bindingConfiguration="VocalServerSoap"
contract="VocalWebService.VocalServerSoap" name="VocalServerSoap" />
</client>