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 |
相关文档