PLM 文档下载接口说明原创
金蝶云社区-loyalty
loyalty
7人赞赏了该文章 3392次浏览 未经作者许可,禁止转载编辑于2021年07月26日 14:48:48
封面
  • 下载文档

接口简介

获取星空 PLM的电子仓(物理文档服务器)文档流,支持从指定文档位置下载指定长度的文档流

接口详情

请求地址

http://{物理文档服务器地址}/Download ,

如 http://localhost/CloudPLMWarehouse/Download

 

请求类型

POST

请求头

参数

是否必须

编码

说明

FileID

Y

base64

下载的文档ID

FileHash

N

base64

当前文档hash值,用来校验电子仓文档的hash值是否跟当前hash值一致,不一致返回错误信息。为空时不作校验

Offset

N

base64

偏移值,即文件中的位置,将从该位置开始将内容写入到 HTTP 输出中。为空时即从头开始。

TotalLength

N

base64

要传输的字节数,为空则默认为 文档总长度-偏移值

CTX

Y

base64

FTP上下文,格式:LoginUrl=http://{星空站点URL}/&UserToken=

token

Y


电子仓的访问凭证,下面详细说明获取方法

PLM_ACCESS_TYPE

N


值为“pure”时获取不压缩的文档,否则默认获取压缩的文档的流

 

返回参数说明

正常:返回指定文档流

异常:返回错误信息,格式为 “[Base64]{base64编码的内容}[/Base64]”

 

  • 获取文档hash值

接口简介

获取电子仓文档的hash值

接口详情

请求地址

http://{物理文档服务器地址}/ GetHash ,

如http://localhost/CloudPLMWarehouse/ GetHash

 

请求类型

POST

请求头(参数值统一使用base64编码)

参数

是否必须

编码

说明

FileID

Y

base64

请求下载的文档ID

CTX

Y

base64

FTP上下文,格式:LoginUrl=http://K3Cloud站点/&UserToken=

token

Y


电子仓的访问凭证

 

返回参数说明

正常:返回文档hash值,不支持hash的文档返回-1

异常:返回错误信息,格式为 “[Base64]{base64编码的内容}[/Base64]”

 

 

  • 获取文档长度

接口简介

获取电子仓的文件长度

接口详情

请求地址

http://{物理文档服务器地址}/ GetLength  ,

如http://localhost/CloudPLMWarehouse/ GetLength

 

请求类型

POST

 

请求头(参数值统一使用base64编码)

参数

是否必须

编码

说明

FileID

Y

base64

请求下载的文档ID

CTX

Y

base64

FTP上下文,格式:LoginUrl=http://K3Cloud站点/&UserToken=

token

Y


电子仓的访问凭证

 

返回参数说明

正常:返回文档hash值,不支持hash的文档返回-1

异常:返回错误信息,格式为 “[Base64]{base64编码的内容}[/Base64]”

 

  • 获取电子仓访问凭证

说明

使用http访问plm电子仓时需要访问凭证token,该凭证可以通过服务端注册一个电子仓访问凭证而获取。

 

服务端获取方式

通过使用反射或引用dll调用以下方法获取,为了不依赖该dll,建议使用反射。

DLL:

Kingdee.K3.PLM.Common.Core.dll

类:

AccessorTokenCenter

方法:

GetRegisterToken

参数:

userId,用户ID

accessType,访问类型,暂时用不上,写死”1000”

  • DEMO(仅供参考)

  1. 请求前的参数准备image.png
  2. 获取响应对象image.png
  3. 响应结果处理image.pngimage.png
  4. 代码注意事项:

    1、AcctID(数据库ID)、Username(用户名)、Password(密码)、https://172.19.71.71/k3cloud/Kingdee.BOS.ServiceFacade.ServicesStub.User.UserService.ValidateLoginInfo.common.kdsvc中的“172.17.71.71”需要替换成自己的站点IP。

    2、如果发生报错,请捕获报错信息并检查其中详细信息,找到类似于“[Base64]MDAwIDEwMSBwYXJhbWV0ZXJzIGlzIG5vdCBhIGJhc2U2NHN0cmluZyE=[/Base64]”这种信息,转换一下就是报错的具体原因。

    3、请在header中加上{"PLM_ACCESS_TYPE","pure"}参数,如果不加,获取的数据将是加密的。 

    4、如果会使用POSTMAN等HTTP请求模拟工具,更推荐使用POSTMAN获取API结果。

    5、文章属于对于之前文章的整合,原贴:https://vip.kingdee.com/article/58226413765246720


赞 7