C# 使用DotCMIS连接到Alfresco时出现https错误

C# 使用DotCMIS连接到Alfresco时出现https错误,c#,alfresco,cmis,dotcmis,C#,Alfresco,Cmis,Dotcmis,我想用DotCMIS连接到Alfresco,但我似乎无法让它工作。我收到此错误“错误:提供的URI方案“http”无效;应为“https”。“我不使用https执行任何操作,也不想执行任何操作:) 当我搜索这个错误时,我得到了配置解决方案。。。但我不会将我的配置用于任何绑定,也不会在DotCMIS中定义绑定名称 我已经做了一个小的示例项目来创建错误。 代码: private static void Main(字符串[]args) { 字符串user=“admin”; 字符串password=“p

我想用DotCMIS连接到Alfresco,但我似乎无法让它工作。我收到此错误“错误:提供的URI方案“http”无效;应为“https”。“我不使用https执行任何操作,也不想执行任何操作:)

当我搜索这个错误时,我得到了配置解决方案。。。但我不会将我的配置用于任何绑定,也不会在DotCMIS中定义绑定名称

我已经做了一个小的示例项目来创建错误。 代码:

private static void Main(字符串[]args)
{
字符串user=“admin”;
字符串password=“pass”;
字符串serviceUrl=”http://localhost:port/alfresco/cmis/";
string objectType=“D:my:objectType”;
字符串repositoryid=“repositoryid”;
连接器con=新连接器();
con.Connect(用户、密码、serviceUrl、repositoryid、objectType);
}
}
公共类连接器
{
公共连接(
字符串用户、字符串密码、字符串服务,
字符串repositoryId,字符串objectTypeId_0)
{
//默认工厂实现
IDictionary参数=新字典();
//用户凭据
Add((System.String)(DotCMIS.SessionParameter.User),(System.String)(User));
Add((System.String)(DotCMIS.SessionParameter.Password),(System.String)(Password));
//连接设置
参数。添加(
(System.String)(DotCMIS.SessionParameter.BindingType),
(System.String)(DotCMIS.BindingType.WebServices.ToString());
参数。添加(
(System.String)(DotCMIS.SessionParameter.WebServicesAclService)(System.String)(servicesUrl)
+“ACLService?wsdl”);
参数。添加(
(System.String)(DotCMIS.SessionParameter.WebServicesDiscoveryService),
(System.String)(servicesUrl+“DiscoveryService?wsdl”);
参数。添加(
(System.String)(DotCMIS.SessionParameter.WebServicesMultifilingService),
(System.String)(servicesUrl+“MultiFilingService?wsdl”);
参数。添加(
(System.String)(DotCMIS.SessionParameter.WebServicesNavigationService),
(System.String)(servicesUrl+“NavigationService?wsdl”);
参数。添加(
(System.String)(DotCMIS.SessionParameter.WebServicesObjectService)(System.String)(servicesUrl)
+
“ObjectService?wsdl”);
参数。添加(
(System.String)(DotCMIS.SessionParameter.WebServicesPolicyService)(System.String)(servicesUrl)
+
"保单服务(wsdl);;
参数。添加(
(System.String)(DotCMIS.SessionParameter.WebServicesRelationshipService),
(System.String)(servicesUrl+“RelationshipService?wsdl”);
参数。添加(
(System.String)(DotCMIS.SessionParameter.WebServicesRepositoryService),
(System.String)(servicesUrl+“RepositoryService?wsdl”);
参数。添加(
(System.String)(DotCMIS.SessionParameter.WebServicesVersioningService),
(System.String)(servicesUrl+“VersioningService?wsdl”);
Add((System.String)(DotCMIS.SessionParameter.RepositoryId),(System.String)(RepositoryId));
ISessionFactory=DotCMIS.Client.Impl.SessionFactory.NewInstance();
ISession session=factory.CreateSession(参数);
}

检查DotCMIS自述文件:

Web服务绑定仅适用于HTTPS。 NET framework不允许通过普通HTTP使用UsernameToken进行调用


您必须在这里使用HTTPS。

您是否告诉过.Net某些类型的Web服务应该需要HTTPS?如果您切换到atompub,它可以工作吗?当我使用atompub时,它似乎可以工作…(但我需要使用Web服务)我没有设置任何东西来告诉.Net使用https…我创建了一个简单的控制台项目。谢谢,我将对此进行研究…我认为在DotCMIS示例页面中他们不使用https有点奇怪。()
private static void Main(string[] args)
        {
            string user = "admin";
            string password = "pass";
            string serviceUrl = "http://localhost:port/alfresco/cmis/";
            string objectType = "D:my:objectType";
            string repositoryid = "repositoryId";

            Connector con = new Connector();
            con.Connect(user, password, serviceUrl, repositoryid, objectType);
        }
    }

    public class Connector
    {
        public void Connect(
            string user, string password, string servicesUrl,
            string repositoryId, string objectTypeId_0)
        {
            // default factory implementation
            IDictionary<string, string> parameter = new Dictionary<string, string>();

            // user credentials
            parameter.Add((System.String) (DotCMIS.SessionParameter.User), (System.String) (user));
            parameter.Add((System.String) (DotCMIS.SessionParameter.Password), (System.String) (password));

            // connection settings
            parameter.Add(
                (System.String) (DotCMIS.SessionParameter.BindingType),
                (System.String) (DotCMIS.BindingType.WebServices.ToString()));

            parameter.Add(
                (System.String) (DotCMIS.SessionParameter.WebServicesAclService), (System.String) (servicesUrl
                                                                                                   + "ACLService?wsdl"));
            parameter.Add(
                (System.String) (DotCMIS.SessionParameter.WebServicesDiscoveryService),
                (System.String) (servicesUrl + "DiscoveryService?wsdl"));
            parameter.Add(
                (System.String) (DotCMIS.SessionParameter.WebServicesMultifilingService),
                (System.String) (servicesUrl + "MultiFilingService?wsdl"));
            parameter.Add(
                (System.String) (DotCMIS.SessionParameter.WebServicesNavigationService),
                (System.String) (servicesUrl + "NavigationService?wsdl"));
            parameter.Add(
                (System.String) (DotCMIS.SessionParameter.WebServicesObjectService), (System.String) (servicesUrl
                                                                                                      +
                                                                                                      "ObjectService?wsdl"));
            parameter.Add(
                (System.String) (DotCMIS.SessionParameter.WebServicesPolicyService), (System.String) (servicesUrl
                                                                                                      +
                                                                                                      "PolicyService?wsdl"));
            parameter.Add(
                (System.String) (DotCMIS.SessionParameter.WebServicesRelationshipService),
                (System.String) (servicesUrl + "RelationshipService?wsdl"));
            parameter.Add(
                (System.String) (DotCMIS.SessionParameter.WebServicesRepositoryService),
                (System.String) (servicesUrl + "RepositoryService?wsdl"));
            parameter.Add(
                (System.String) (DotCMIS.SessionParameter.WebServicesVersioningService),
                (System.String) (servicesUrl + "VersioningService?wsdl"));
            parameter.Add((System.String) (DotCMIS.SessionParameter.RepositoryId), (System.String) (repositoryId));


            ISessionFactory factory = DotCMIS.Client.Impl.SessionFactory.NewInstance();

            ISession session = factory.CreateSession(parameter);
        }