Skip to content

Latest commit

 

History

History
103 lines (82 loc) · 4.82 KB

API_MAPPING.md

File metadata and controls

103 lines (82 loc) · 4.82 KB

C# → Java API 对照

本文件记录 YiKdWebClient C# 1.0.0.32 与 Java 1.0.0 基线的功能映射。除语言运行时差异外,Java 版优先保留原命名、参数顺序和服务路径。

模块映射

C# 项目 Java Maven 模块 状态
YiKdWebClient YiKdWebClient 已移植
YiKdWebClient.Tests YiKdWebClient.Tests 已移植为 JUnit 5
ConsoleTestNet80 ConsoleTestJava8 已移植为完整的 Java 8 可执行 fat JAR
ConsoleTestNet48 ConsoleTestJava8Simple 已移植为 Java 8 精简验证示例
GlobalServiceCustom.WebApi 无 按要求排除;这是金蝶/.NET 侧 C# 服务端

认证和公共组件

以下命名空间/包与类名保持一致:

  • YiKdWebClient.AuthService: LoginByApiSignHeaders、LoginByAppSecret、LoginBySign、LoginBySimplePassport、ValidateLogin、ValidateUserEnDeCode;
  • YiKdWebClient.CommonService: JsonHelperServices、WebHelperServices、XmlConfigHelper;
  • YiKdWebClient.ComWebHelper: WebHelper、MultipartFormData、HttpMethod、BodyType、CustomMediaTypeNames;
  • YiKdWebClient.Model: 配置、登录、请求、操作和自定义服务模型;
  • YiKdWebClient.SSO: SSOHelper 及 SSO 参数/结果模型;
  • YiKdWebClient.ToolsHelper: AttachmentHelper、FileChunk、UploadModel、UploadModelData;
  • 根包:YiK3CloudClient、CommonFunctionHelper、EnDecode。

认证枚举值完整保留:LoginByAppSecret、LoginByApiSignHeaders、ValidateLogin、LoginBySimplePassport、ValidateUserEnDeCode、LoginBySignSHA256、LoginBySignSHA1。

YiK3CloudClient 方法与路径

所有动态表单方法都使用原路径前缀:

Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.<Method>.common.kdsvc
Java/C# 方法 业务参数形式 路径中的 <Method>
ExecuteOperation formId、opNumber、json ExecuteOperation
View formId、json View
Save formId、json Save
BatchSave formId、json BatchSave
Submit formId、json Submit
Audit formId、json Audit
UnAudit formId、json UnAudit
Delete formId、json Delete
ExecuteBillQuery json ExecuteBillQuery
Draft formId、json Draft
Allocate formId、json Allocate
Push formId、json Push
GroupSave formId、json GroupSave
FlexSave formId、json FlexSave
SendMsg json SendMsg
SwitchOrg json SwitchOrg
WorkflowAudit json WorkflowAudit
GetSysReportData formId、json GetSysReportData
AttachmentUpLoad raw json AttachmentUpLoad
AttachmentDownLoad raw json AttachmentDownLoad
UploadFile raw json UploadFile
GroupDelete json GroupDelete
CancelAllocate formId、json CancelAllocate
CancelAssign formId、json CancelAssign
Disassembly formId、json Disassembly
QueryBusinessInfo json QueryBusinessInfo
QueryGroupInfo json QueryGroupInfo

其他路径:

  • 登录/登出:保留各认证类中的 Kingdee AuthService 路径;
  • GetDataCenterList: Kingdee.BOS.ServiceFacade.ServicesStub.Account.AccountService.GetDataCenterList.common.kdsvc;
  • 自定义服务:CustomBusinessService 和 CustomBusinessServiceByParameters 接受原服务 stub 或 CustomServicesStubpath;
  • ExecApiDynamicFormService 保留自定义 stub、自动登录、自动退出和 raw JSON 开关;
  • EnsureSuffixServicesStub 保留 .common.kdsvc 补全行为。

C# 可选参数在 Java 中用同名重载表示。以 View 为例:

View(formId, json)
View(formId, json, autoLogin)
View(formId, json, autoLogin, autoLogout)

SSO 和附件

  • SSOHelper 保留 GetSsoUrlsV1~GetSsoUrlsV4、GetSSOLogoutap0StrV4、GetSSOLogoutap0StrV3、GetSSOLogoutap0StrV2V1 和 SSOExcuteLogout;
  • AttachmentHelper 保留文件/Base64 分块读取、两种上传入口、默认/自定义 chunk size、进度回调和上传模型校验;
  • C# Action<T>/Action<T1,T2> 分别映射为 Java Consumer<T>/BiConsumer<T1,T2>。

运行时类型映射

.NET 类型 Java 类型
Task<string> CompletableFuture<String>
CookieContainer java.net.CookieManager
TimeSpan java.time.Duration
Dictionary<K,V> Map<K,V>
Action<T> Consumer<T>
IDisposable AutoCloseable
System.Text.Json Jackson 2.x

验证边界

自动化测试在 JDK 8 上覆盖算法、报文、请求头、Cookie、服务路径、所有公共业务封装、SSO 和附件上传,且不使用真实密钥。目标金蝶版本、补丁、网络、许可和自定义 C# 服务只能由使用者在自己的测试环境做最终集成验证。