---
docStatus: current
---

# 示例：查询工作区成员与旧应用迁移

通过当前 Runtime 目录核对成员查询合同，并把旧跨包浏览器引用迁移到本包 Module 属性。

工作区成员查询能力以当前有权访问的 Runtime 服务目录与方法定义为准。本页保留旧示例 URL，说明如何核对真实方法及迁移旧应用。
作者配置 7.0.0 不允许平台应用直接引用其他 Bundle 的 Module；旧教程中把 `workspace-core` 直接填入业务应用
`methodDefinitions`、再向 SDK 传资源对象的做法不适用于当前合同。

## 核对真实能力

先逐级读取本机帮助，在明确来源环境与 Bundle 的范围内列出服务，再选择返回的准确 `businessId`：

```bash
baijimu runtime services list --help
baijimu runtime service get --help
baijimu runtime service call --help
```

若当前服务定义包含 `listWorkspaceMembers`，再回读精确方法：

```bash
baijimu runtime service get <businessId> --workspace-id <workspaceId> \
  --application-runtime-id <applicationRuntimeId> --method listWorkspaceMembers
```

只有方法仍存在、确认无业务参数且调用已获授权后，才执行：

```bash
baijimu runtime service call <businessId> listWorkspaceMembers \
  --workspace-id <workspaceId> --application-runtime-id <applicationRuntimeId> --params '{}'
```

前端不得提交 `workspaceId`、`userId`、模块凭据或服务后端地址作为调用身份。结果字段与返回类型以方法合同为准，
不能把文档中的历史 Bundle 版本、模块 ID 或返回示例当成当前资源目录。

## 平台应用接入

1. 在应用所属 Bundle 的 Module 声明匹配成员查询能力的 Interface 属性。
2. 从当前 Runtime 目录选择真实提供方，以 ServiceReference 显式绑定该属性；Bundle 不声明 `dependencies`。
3. 在本包 Module 实现供页面调用的方法，由该方法使用属性能力查询成员，并传递当前已验证用户。
4. 应用 `targets` 只引用这个已实现的本包 Module。SDK 10 使用声明的目标名称字符串，具体方法和参数从本包 Module 回读。
5. 创建并交付应用、Module 和 Bundle 的精确版本，完成安装、属性绑定、应用绑定及真实查询验证。

这里不虚构一个已发布的代理方法或本包资源 ID。没有对应业务方法时，必须先实现和发布它，不能修改前端请求绕过跨包边界。
完整作者配置与调用示例见[声明应用能力](/development/bundle-development/platform-application-development/capabilities/)和
[调用模块方法](/development/bundle-development/platform-application-development/module-method-calls/)。
属性声明、绑定与凭据交付见[ServiceReference](/development/bundle-development/module-development/service-reference/)。

## 验证

同时验证查询成功、未知目标名、无权限用户、提供方缺失和属性未绑定。权限拒绝保留原错误，不能恢复旧资源对象请求、
改用目标服务地址或以固定用户继续调用。升级已有应用须重新构建并创建新不可变版本，旧应用内容不原地覆盖。
