在服务模型客户端配置部分找不到具有名称和协定的终结点元素



我已经尝试了几天来解决这个该死的错误。我在asp.net中调用相同的服务,它工作得很好,但是当我在sharepoint解决方案中调用它时,它不起作用。这是我收到的错误。

Could not find endpoint element with name 'WeatherSoap' and contract 'WeatherService.WeatherSoap' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this name could be found in the client element.

这是我在库中的app.config:

<configuration>
<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding name="WeatherSoap" closeTimeout="00:01:00" openTimeout="00:01:00"
                receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
                bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                useDefaultWebProxy="true">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <security mode="None">
                    <transport clientCredentialType="None" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="UserName" algorithmSuite="Default" />
                </security>
            </binding>
        </basicHttpBinding>
        <customBinding>
            <binding name="WeatherSoap12">
                <textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
                    messageVersion="Soap12" writeEncoding="utf-8">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                </textMessageEncoding>
                <httpTransport manualAddressing="false" maxBufferPoolSize="524288"
                    maxReceivedMessageSize="65536" allowCookies="false" authenticationScheme="Anonymous"
                    bypassProxyOnLocal="false" decompressionEnabled="true" hostNameComparisonMode="StrongWildcard"
                    keepAliveEnabled="true" maxBufferSize="65536" proxyAuthenticationScheme="Anonymous"
                    realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false"
                    useDefaultWebProxy="true" />
            </binding>
        </customBinding>
    </bindings>
    <client>
        <endpoint address="http://wsf.cdyne.com/WeatherWS/Weather.asmx"
            binding="basicHttpBinding" bindingConfiguration="WeatherSoap"
            contract="WeatherService.WeatherSoap" name="WeatherSoap" />
        <endpoint address="http://wsf.cdyne.com/WeatherWS/Weather.asmx"
            binding="customBinding" bindingConfiguration="WeatherSoap12"
            contract="WeatherService.WeatherSoap" name="WeatherSoap12" />
    </client>
</system.serviceModel>

这是我的c#代码
WeatherService.WeatherSoapClient client = new WeatherService.WeatherSoapClient("WeatherSoap");
 WeatherService.WeatherReturn result = client.GetCityWeatherByZIP(txtZip.Text);

这是我在sharepoint可视化web部件和asp.net网页中使用的代码。奇怪的是,它在asp.net中工作得很好,但在sharepoint中却不行。我在同一个项目中调用该服务

看这个链接:http://msdn.microsoft.com/en-us/library/ff647110.aspx

您可能需要为sharepoint web部件以编程方式添加配置wcf端点

最新更新