我正在尝试在VS2010中运行一个在本地调用2个Web服务的项目,我将app.config
文件设置如下,并将2个Web服务添加到服务引用中,但是我收到以下错误当我尝试进入其中一个Web服务的代码时。
只是想知道你能帮忙吗,我知道这个错误可能已经出现在此处,但所给出的解决方案似乎并没有解决我的问题。
错误讯息:
在ServiceModel客户端配置部分找不到名称为“XXXXXX”且合同为“IcxnService.IIcxnService”的端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此名称匹配的端点元素。
App.Config
档案:
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IIcxnService"
closeTimeout="00:10:00" openTimeout="00:30:00"
receiveTimeout="00:30:00" sendTimeout="00:30:00"
bypassProxyOnLocal="false" transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8"
useDefaultWebProxy="true" allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192"
maxArrayLength="16384" maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
<reliableSession ordered="true"
inactivityTimeout="00:10:00" enabled="false" />
<security mode="Message">
<transport clientCredentialType="Windows"
proxyCredentialType="None" realm="" />
<message clientCredentialType="Windows"
negotiateServiceCredential="true"
algorithmSuite="Default" />
</security>
</binding>
<binding name="WSHttpBinding_ICznzrzctZzzzsService"
closeTimeout="00:10:00" openTimeout="00:10:00"
receiveTimeout="00:10:00" sendTimeout="00:10:00"
bypassProxyOnLocal="false" transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8"
useDefaultWebProxy="true" allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192"
maxArrayLength="16384" maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
<reliableSession enabled="false"
ordered="true" inactivityTimeout="00:10:00" />
<security mode="Message">
<transport clientCredentialType="Windows"
proxyCredentialType="None" realm="" />
<message clientCredentialType="Windows"
negotiateServiceCredential="true"
algorithmSuite="Default" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint name="WSHttpBinding_ICznzrzctZzzzsService"
address="http://localhost:1600/ContractNotes.svc"
binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_ICznzrzctZzzzsService"
contract="ContractNotes.ICznzrzctZzzzsService" />
<endpoint name="WSHttpBinding_IIcxnService"
address="http://localhost:1000/IcxnService.svc"
binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_IIcxnService"
contract="IcxnService.IIcxnService">
<identity>
<userPrincipalName value="john@xxxxxxx.COM" />
</identity>
</endpoint>
</client>
</system.serviceModel>
答案 0 :(得分:0)
在浏览器http://localhost:1600/ContractNotes.svc中插入此字符串,如果您没有得到任何内容,则需要运行本地Web服务(单击Web应用程序,设置为StartUp Project并调试它们(单击ctrl + F5) )),之后设置为StartUp Project您运行这些服务的项目并运行它们。
编辑1: 是否使用关键字(ServiceContract和OperationContract)标记了您的服务?像这样:
[ServiceContract]
public interface IIcxnService
{
[OperationContract]
void NameMethod(some parameters);
}
答案 1 :(得分:0)
确保您要查找的配置名称为WSHttpBinding_IIcxnService
。
如果未明确指定端点配置名称,则可以检查Reference.cs文件上ConfigurationName
上的ServiceContractAttribute
属性。