无法在ServiceModel客户端配置部分中找到名称为''和contract''的端点元素

时间:2014-08-22 09:04:48

标签: c# asp.net web-services wcf sharepoint

我已经尝试了几天来解决这个该死的错误。我在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中运行不正常。 我在同一个项目中调用该服务。

1 个答案:

答案 0 :(得分:0)

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

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