datai/datai-scenes/datai-scene-salesforce/docs/api-docs/2026-02-05-002-07-api.md

11 KiB
Raw Permalink Blame History

API 文档 - WSDL 转换功能

元数据

  • 需求编号002-07
  • 需求名称WSDL 转换
  • 创建时间2026-02-05
  • 创建人AI Assistant
  • 版本v1.0.0

API 概述

WSDL 转换 API 提供将 WSDL 文件转换为 Apex 类的功能,支持从 URL 和 XML 两种方式进行转换,并提供转换历史查询、转换详情查询、删除转换记录等功能。

基础路径/wsdl

模块datai-salesforce-apex

接口列表

1. 从 URL 转换 WSDL

  • 功能描述:从 WSDL URL 转换 WSDL 到 Apex 类
  • 请求方式POST
  • 请求路径/wsdl/conversion/convertFromUrl
  • 权限要求apex:wsdl:convert

请求参数

参数名 类型 必填 说明
wsdlUrl String WSDL URL长度 1-500 字符
packageName String 包名称,长度 0-255 字符
generateAsync Boolean 是否生成异步方法,默认 false

请求示例

{
  "wsdlUrl": "https://example.com/service?wsdl",
  "packageName": "com.example",
  "generateAsync": true
}

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
message String 提示信息
data Object 转换结果
data.conversionId Long 转换记录 ID
data.success Boolean 转换是否成功
data.apexClasses Array 生成的 Apex 类列表
data.warnings Array 警告信息列表
data.errors Array 错误信息列表

成功响应示例

{
  "code": 200,
  "message": "WSDL 转换成功",
  "data": {
    "conversionId": 1,
    "success": true,
    "apexClasses": [
      {
        "classId": 1,
        "className": "ExampleService",
        "classType": "Class",
        "classBody": "public class ExampleService { ... }"
      },
      {
        "classId": 2,
        "className": "ExampleServiceRequest",
        "classType": "Class",
        "classBody": "public class ExampleServiceRequest { ... }"
      }
    ],
    "warnings": [
      "警告:某些类型可能无法完全转换"
    ],
    "errors": []
  }
}

失败响应示例

{
  "code": 400,
  "message": "WSDL URL 不能为空",
  "data": null
}

2. 从 XML 转换 WSDL

  • 功能描述:从 WSDL XML 内容转换 WSDL 到 Apex 类
  • 请求方式POST
  • 请求路径/wsdl/conversion/convertFromXml
  • 权限要求apex:wsdl:convert

请求参数

参数名 类型 必填 说明
wsdlXml String WSDL XML 内容
packageName String 包名称,长度 0-255 字符
generateAsync Boolean 是否生成异步方法,默认 false

请求示例

{
  "wsdlXml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>...",
  "packageName": "com.example",
  "generateAsync": false
}

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
message String 提示信息
data Object 转换结果
data.conversionId Long 转换记录 ID
data.success Boolean 转换是否成功
data.apexClasses Array 生成的 Apex 类列表
data.warnings Array 警告信息列表
data.errors Array 错误信息列表

成功响应示例

{
  "code": 200,
  "message": "WSDL 转换成功",
  "data": {
    "conversionId": 2,
    "success": true,
    "apexClasses": [
      {
        "classId": 3,
        "className": "MyService",
        "classType": "Class",
        "classBody": "public class MyService { ... }"
      }
    ],
    "warnings": [],
    "errors": []
  }
}

失败响应示例

{
  "code": 400,
  "message": "WSDL XML 内容不能为空",
  "data": null
}

3. 查询转换历史列表

  • 功能描述:分页查询 WSDL 转换历史记录,支持多种筛选条件
  • 请求方式GET
  • 请求路径/wsdl/conversion/list
  • 权限要求apex:wsdl:list

请求参数

参数名 类型 必填 说明
pageNum Integer 当前页码,默认 1
pageSize Integer 每页记录数,默认 10
status String 转换状态success/failed
startTime String 开始时间格式yyyy-MM-dd HH:mm:ss
endTime String 结束时间格式yyyy-MM-dd HH:mm:ss

请求示例

GET /wsdl/conversion/list?status=success&pageNum=1&pageSize=20

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
message String 提示信息
data Object 分页数据
data.total Long 总记录数
data.rows Array 转换记录列表
data.rows[].conversionId Long 转换记录 ID
data.rows[].orgType String 组织类型
data.rows[].orgId String 组织 ID
data.rows[].wsdlUrl String WSDL URL
data.rows[].packageName String 包名称
data.rows[].generateAsync Boolean 是否生成异步方法
data.rows[].status String 转换状态
data.rows[].errorMessage String 错误消息
data.rows[].createTime String 创建时间
data.rows[].updateTime String 更新时间

成功响应示例

{
  "code": 200,
  "message": "查询成功",
  "data": {
    "total": 50,
    "rows": [
      {
        "conversionId": 1,
        "orgType": "source",
        "orgId": "00Dxx0000001GWP",
        "wsdlUrl": "https://example.com/service?wsdl",
        "packageName": "com.example",
        "generateAsync": true,
        "status": "success",
        "errorMessage": null,
        "createTime": "2026-02-05 10:00:00",
        "updateTime": "2026-02-05 10:00:30"
      }
    ]
  }
}

4. 查询转换记录详情

  • 功能描述:根据 ID 查询单个 WSDL 转换记录的详细信息
  • 请求方式GET
  • 请求路径/wsdl/conversion/{conversionId}
  • 权限要求apex:wsdl:query

请求参数

参数名 类型 必填 说明
conversionId Long 转换记录 ID路径参数

请求示例

GET /wsdl/conversion/1

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
message String 提示信息
data Object 转换记录详情
data.conversionId Long 转换记录 ID
data.orgType String 组织类型
data.orgId String 组织 ID
data.wsdlUrl String WSDL URL
data.wsdlXml String WSDL XML 内容
data.packageName String 包名称
data.generateAsync Boolean 是否生成异步方法
data.status String 转换状态
data.errorMessage String 错误消息
data.createTime String 创建时间
data.updateTime String 更新时间
data.apexClasses Array 生成的 Apex 类列表
data.apexClasses[].classId Long 类 ID
data.apexClasses[].className String 类名称
data.apexClasses[].classType String 类类型
data.apexClasses[].classBody String 类代码
data.apexClasses[].namespace String 命名空间
data.apexClasses[].isAsync Boolean 是否异步
data.apexClasses[].createTime String 创建时间

成功响应示例

{
  "code": 200,
  "message": "查询成功",
  "data": {
    "conversionId": 1,
    "orgType": "source",
    "orgId": "00Dxx0000001GWP",
    "wsdlUrl": "https://example.com/service?wsdl",
    "wsdlXml": null,
    "packageName": "com.example",
    "generateAsync": true,
    "status": "success",
    "errorMessage": null,
    "createTime": "2026-02-05 10:00:00",
    "updateTime": "2026-02-05 10:00:30",
    "apexClasses": [
      {
        "classId": 1,
        "className": "ExampleService",
        "classType": "Class",
        "classBody": "public class ExampleService { ... }",
        "namespace": "com.example",
        "isAsync": false,
        "createTime": "2026-02-05 10:00:00"
      }
    ]
  }
}

失败响应示例

{
  "code": 404,
  "message": "转换记录不存在",
  "data": null
}

5. 删除转换记录

  • 功能描述:删除指定的 WSDL 转换记录
  • 请求方式DELETE
  • 请求路径/wsdl/conversion/{conversionId}
  • 权限要求apex:wsdl:delete

请求参数

参数名 类型 必填 说明
conversionId Long 转换记录 ID路径参数

请求示例

DELETE /wsdl/conversion/1

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
message String 提示信息
data Integer 删除的记录数

成功响应示例

{
  "code": 200,
  "message": "删除成功",
  "data": 1
}

失败响应示例

{
  "code": 404,
  "message": "转换记录不存在",
  "data": null
}

6. 批量删除转换记录

  • 功能描述:批量删除 WSDL 转换记录
  • 请求方式DELETE
  • 请求路径/wsdl/conversion/batch
  • 权限要求apex:wsdl:delete

请求参数

参数名 类型 必填 说明
conversionIds Array 转换记录 ID 列表

请求示例

{
  "conversionIds": [1, 2, 3]
}

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
message String 提示信息
data Integer 删除的记录数

成功响应示例

{
  "code": 200,
  "message": "批量删除成功,删除 3 条记录",
  "data": 3
}

失败响应示例

{
  "code": 400,
  "message": "转换记录 ID 列表不能为空",
  "data": null
}

错误码

错误码 错误名称 说明 HTTP 状态码
WSDL_001 WSDL_URL_EMPTY WSDL URL 不能为空 400
WSDL_002 WSDL_XML_EMPTY WSDL XML 内容不能为空 400
WSDL_003 WSDL_CONVERT_FAILED WSDL 转换失败 500
WSDL_004 CONVERSION_NOT_FOUND 转换记录不存在 404
WSDL_005 CONVERSION_ID_EMPTY 转换记录 ID 不能为空 400
WSDL_006 BATCH_DELETE_IDS_EMPTY 批量删除 ID 列表不能为空 400
WSDL_007 WSDL_PARSE_FAILED WSDL 解析失败 500
WSDL_008 APEX_CLASS_GENERATE_FAILED Apex 类生成失败 500

相关文档