我想用DotCMIS連接到Alfresco,但我似乎無法正常工作。我得到這個錯誤「錯誤:提供的URI方案'http'無效;期望'https'」我不會對https做任何事情,我也不想要:)使用DotCMIS連接到Alfresco會導致https錯誤
當我Google對於這個錯誤,我得到了配置解決方案...但我不使用我的配置來進行任何綁定,或者在DotCMIS中定義一個綁定名稱。
我做了一個創建錯誤的小例子項目。 CODE:
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);
}
你有沒有告訴.Net它應該要求HTTPS的某些類型的Web服務?如果你切換到atompub,它會工作嗎? – Gagravarr
當我使用AtomPub它似乎工作...(但我需要使用webservice) 我沒有設置任何告訴.net使用https ...我創建了一個簡單的控制檯項目。 – BvdVen