本文件记录 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。
所有动态表单方法都使用原路径前缀:
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)SSOHelper保留GetSsoUrlsV1~GetSsoUrlsV4、GetSSOLogoutap0StrV4、GetSSOLogoutap0StrV3、GetSSOLogoutap0StrV2V1和SSOExcuteLogout;AttachmentHelper保留文件/Base64 分块读取、两种上传入口、默认/自定义 chunk size、进度回调和上传模型校验;- C#
Action<T>/Action<T1,T2>分别映射为 JavaConsumer<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# 服务只能由使用者在自己的测试环境做最终集成验证。