通过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服务?
创建的app.config是正确的。我需要在代码中设置URL,如下所示:
CerberusFTPService client = new CerberusFTPService();
client.Url = "http://ipaddressoftheserver:10000/wsdl/Cerberus.wsdl";
在代码中指定WSDL的URL后,我可以毫无问题地进行连接。