通过C#连接到Cerberus FTP API

本文关键字:FTP API Cerberus 连接 通过 | 更新日期: 2023-09-27 18:03:39

我目前正在尝试将Cerberus FTP的功能集成到我们的应用程序中。因为我无法在我的应用程序中使用它,所以我下载了可用的示例,您可以在他们的网站上下载。不幸的是,我也无法让它发挥作用。

添加引用后,将创建app.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<system.serviceModel>
    <bindings>
        <customBinding>
            <binding name="CerberusFTPServiceSoapBinding">
                <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="Basic"
                    bypassProxyOnLocal="true" hostNameComparisonMode="StrongWildcard"
                    keepAliveEnabled="true" maxBufferSize="65536" proxyAuthenticationScheme="Anonymous"
                    realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false"
                    useDefaultWebProxy="true">
                    <extendedProtectionPolicy policyEnforcement="Never" />
                </httpTransport>
            </binding>
        </customBinding>
    </bindings>
    <client>
        <endpoint address="http://localhost:10000/service/cerberusftpservice"
            binding="customBinding" bindingConfiguration="CerberusFTPServiceSoapBinding"
            contract="ServiceCerberusFtpSoap.CerberusFTPServicePort" name="CerberusFTPServicePort" />
    </client>
</system.serviceModel>

我已将端点地址更改为"https://ipaddressofourserver:10000/service/cerberusftpservice但随后我得到以下错误:"未处理的异常:系统。ArgumentException:提供的URI方案"https"无效;应为"http"。"(是的,它需要HTTPS(。

如果我搜索这个主题,你会得到很多文章,但其中大多数都提到要将以下内容添加到app.config中:<security mode="Transport">但我不能选择这个模式,我甚至不能选择"模式"。。。唯一的选项是authenticationMode。一些可能性包括CertificateOverTransport、KerberosOverTransport和UsernameOverTransport。

如果我选择UsernameOverTransport,我会得到以下错误:"未处理的异常:System.InvalidOperationException:"CustomBinding"。"http://tempuri.org/'CerberusFTPServicePort'的绑定。'http://cerberusllc.com/service/cerberusftpservice'协定配置的身份验证模式需要传输级别的完整性和机密性。但是,传输不能提供完整性和机密性。">

是否有人已经使用Cerberus FTP API?如何使用HTTPS连接到Web服务?

通过C#连接到Cerberus FTP API

创建的app.config是正确的。我需要在代码中设置URL,如下所示:

CerberusFTPService client = new CerberusFTPService();
client.Url = "http://ipaddressoftheserver:10000/wsdl/Cerberus.wsdl";

在代码中指定WSDL的URL后,我可以毫无问题地进行连接。