Web服务创建实例问题->找不到引用合约'MyWebService.ClassName'的默认端点元素

本文关键字:MyWebService ClassName 元素 端点 默认 实例 创建 服务 问题 引用 找不到 | 更新日期: 2023-09-27 18:03:00

我想使用下面的Web-Service:

https://acquirer.sb24.com/ref-payment/ws/ReferencePayment?WSDL

和添加->

后生成的配置文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="PaymentIFBinding" 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="Transport">
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="UserName" algorithmSuite="Default" />
                    </security>
                </binding>
                <binding name="PaymentIFBinding1" 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>
        </bindings>
        <client>
            <endpoint address="https://acquirer.sb24.com:443/ref-payment/ws/ReferencePayment"
                binding="basicHttpBinding" bindingConfiguration="PaymentIFBinding"
                contract="SB24Service.PaymentIF" name="PaymentIFPort" />
        </client>
    </system.serviceModel>
</configuration>  

我想调用这个WebService的verifyTransaction方法:

PaymentIFClient pic = new PaymentIFClient();  
double pic_result = pic.verifyTransaction(str1, str2);  

但是第一行抛出以下错误:

找不到引用契约的默认端点元素"SB24Service。ServiceModel客户端配置中的PaymentIF'部分。这可能是因为没有找到的配置文件您的应用程序,或者因为没有端点元素与此匹配合同可以在client元素中找到。

EDIT:

"如果在类中调用服务,可能会出现此错误并从另一个项目调用类库。"->我情况是这样的……

我应该如何修改我的配置文件?
提前感谢

Web服务创建实例问题->找不到引用合约'MyWebService.ClassName'的默认端点元素

手工编辑wcf配置是很棘手的,因为有许多部分需要正确且正确地相互引用。尝试在SvcConfigEditor(也可以从visual Studio的Tools菜单中获得)中打开app.config文件。当有GUI帮助时,更容易得到正确的东西。