首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Primavera WebServices不返回任何数据

Primavera WebServices不返回任何数据
EN

Stack Overflow用户
提问于 2014-10-17 00:53:48
回答 1查看 1.2K关注 0票数 1

我正在使用primavera webservices (版本6.2.1)从winform应用程序(c#)中的primavera数据库(Sqlserver2008R2)读取数据。我使用http cookie容器身份验证模式。在我将数据库移动到新服务器之前,我能够成功地登录并从primavera数据库读取数据,但是当我移动数据库(使用备份和恢复)时,我仍然可以登录到DB,但是primavera webservices对于任何请求都会返回null。

这是我的登录代码:

代码语言:javascript
复制
AuthenticationService authService = new AuthenticationService( );  
authService.CookieContainer = new System.Net.CookieContainer( );  
authService.Url = _P6wsAuthenticationService;  
Login loginObj = new Login( );  
loginObj.UserName = pv_Username;  
loginObj.Password = pv_Password;  
loginObj.DatabaseInstanceId = 1;  
loginObj.DatabaseInstanceIdSpecified = true;  
loginObj.VerboseFaults = true;  
loginObj.VerboseFaultsSpecified = true;  
LoginResponse loginReturn = authService.Login( loginObj );     
ReadDatabaseInstancesResponseDatabaseInstance[] readdbInstances = authService.ReadDatabaseInstances("");    
cookieContainer = authService.CookieContainer;

当我运行这段代码时,新数据库的登录响应是"true“,它在"readdbInstances”中显示了正确的数据库实例信息。

我运行以下代码从DB读取一些项目信息:

代码语言:javascript
复制
ProjectPortBinding pbProject = new ProjectPortBinding( );    
pbProject.CookieContainer = cookieContainer;  
pbProject.Url = _P6wsProjectService;     
ReadProjects readProject = new ReadProjects( );      
Primavera.Ws.P6.Project.ProjectFieldType[] pfProject = new Primavera.Ws.P6.Project.ProjectFieldType[6];     
pfProject[0] = Primavera.Ws.P6.Project.ProjectFieldType.ObjectId;  
pfProject[1] = Primavera.Ws.P6.Project.ProjectFieldType.Id;  
pfProject[2] = Primavera.Ws.P6.Project.ProjectFieldType.Name;  
pfProject[3] = Primavera.Ws.P6.Project.ProjectFieldType.Status;  
pfProject[4] = Primavera.Ws.P6.Project.ProjectFieldType.StartDate;  
pfProject[5] = Primavera.Ws.P6.Project.ProjectFieldType.FinishDate;     
readProject.Filter = pv_ProjectList.Equals( String.Empty ) ? String.Empty : "Id IN (" + pv_ProjectList + ")";  
readProject.Field = pfProject;     
Primavera.Ws.P6.Project.Project[] aProject = pbProject.ReadProjects( readProject );

它将请求发送到服务器,但我收到的消息不包含项目。

在我移动数据库之前,我能够用相同的代码读取数据。我使用primavera web服务的数据库配置更改了它的数据库实例,我确信它连接到正确的DB,我只是搞不懂为什么它不能从其中读取数据。当我使用primavera客户端模块连接到新数据库并从其中读取数据时,它工作得很好,而且我可以看到我的所有项目。

EN

回答 1

Stack Overflow用户

发布于 2017-10-31 19:09:30

检查您在用户管理员前端使用的凭据,您将需要在模块级别或项目级别上增加那里的权限。一旦您启用了这些,您应该会看到一些数据。

太好了,JK。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26409850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档