WebService XML 接口优化
待补充
支持调试
标准XML接口
说明:
XML里面的@字符后面,必须是集成平台中间对象的apiName
XML里面的$符号,代表变量,必须用集成平台中间对象的字段apiName,集成平台运行时,会用真实的值替换掉对应的变量
标准API接口名称 | URL | Header | Request Body | response |
---|---|---|---|---|
create | 客户手动输入 | 1.通过连接配置页面的 获取header的函数 来读取2.手动输入header | <request> <master> <field1>#(master_obj_api_name.field1)</field1> <field2>#(master_obj_api_name.field2)</field2> <field3>#(master_obj_api_name.field3)</field3> </master> <detail_1> #for(detailData : detail_1_obj_api_name) <item> <field1>#(detailData.field1)</field1> <field2>#(detailData.field2)</field2> <field3>#(detailData.field3)</field3> </item> #end </detail_1> <detail_2> #for(detailData : detail_2_obj_api_name) <item> <field1>#(detailData.field1)</field1> <field2>#(detailData.field2)</field2> <field3>#(detailData.field3)</field3> </item> #end </detail_2></request>XML模板,由客户手动输入,XML支持字段变量,变量的值取集成平台字段映射表转换后的值master_obj_api_name 代表ERP主对象的中间对象的apiName,这个需要替换成主对象的中间对象apiNamedetail_1_obj_api_name 和 detail_2_obj_api_name 代表明细对象对应的中间对象apiName,这个需要替换成明细对象的中间对象apiName | <?xml version="1.0" encoding="UTF-8"?><response> <code>0</code> <msg>success</msg> <master> <id>a1000</id> <name>n1000</name> </master> <details> <detail_1> <item> <id>a100</id> <name>n100</name> </item> <item> <id>a101</id> <name>n101</name> </item> </detail_1> <detail_2> <item> <id>a100</id> <name>n100</name> </item> <item> <id>a101</id> <name>n101</name> </item> </detail_2> </details></response>错误码XPATH表达式://response/code错误信息XPATH表达式://response/msg场景1:返回结果有主对象ID和从对象ID方案:1.客户提供主对象ID的XPATH2.客户提供每一个明细对象的XPATH场景2:返回结果只有主对象的ID,没有从对象的ID方案:1.客户提供主对象ID的XPATH2.取明细对象的主键字段对应的数据作为ID值,如果不存在,取_id字段的值当作明细对象的ID值场景3:返回结果 没有主对象的ID,也没有从对象的ID方案:1.取主对象的主键字段对应的数据作为ID值,如果不存在,取_id字段的值作为主对象的ID值2.取明细对象的主键字段对应的数据作为ID值,如果不存在,取_id字段的值当作明细对象的ID值 |
createDetail | 客户手动输入 | 1.通过连接配置页面的 获取header的函数 来读取2.手动输入header | <request> <detail> <field1>#(detailObjApiName.field1)</field1> <field2>#(detailObjApiName.field2)</field2> <field3>#(detailObjApiName.field3)</field3> </detail></request> | <?xml version="1.0" encoding="UTF-8"?><response> <code>0</code> <msg>success</msg> <detail> <id>a1000</id> <name>n1000</name> </detail></response>错误码XPATH表达式://response/code错误信息XPATH表达式://response/msgID XPATH表达式://response/detail/idname XPATH表达式://response/detail/name |
update | 客户手动输入 | 1.通过连接配置页面的 获取header的函数 来读取2.手动输入header | <request> <master> <field1>#(master_obj_api_name.field1)</field1> <field2>#(master_obj_api_name.field2)</field2> <field3>#(master_obj_api_name.field3)</field3> </master> <detail_1> #for(detailData : detail_1_obj_api_name) <item> <field1>#(detailData.field1)</field1> <field2>#(detailData.field2)</field2> <field3>#(detailData.field3)</field3> </item> #end </detail_1> <detail_2> #for(detailData : detail_2_obj_api_name) <item> <field1>#(detailData.field1)</field1> <field2>#(detailData.field2)</field2> <field3>#(detailData.field3)</field3> </item> #end </detail_2></request>XML模板,由客户手动输入,XML支持字段变量,变量的值取集成平台字段映射表转换后的值master_obj_api_name 代表ERP主对象的中间对象的apiName,这个需要替换成主对象的中间对象apiNamedetail_1_obj_api_name 和 detail_2_obj_api_name 代表明细对象对应的中间对象apiName,这个需要替换成明细对象的中间对象apiName | <?xml version="1.0" encoding="UTF-8"?><response> <code>0</code> <msg>success</msg> <master> <id>a1000</id> <name>n1000</name> </master> <details> <detail_1> <item> <id>a100</id> <name>n100</name> </item> <item> <id>a101</id> <name>n101</name> </item> </detail_1> <detail_2> <item> <id>a100</id> <name>n100</name> </item> <item> <id>a101</id> <name>n101</name> </item> </detail_2> </details></response>错误码XPATH表达式://response/code错误信息XPATH表达式://response/msg场景1:返回结果有主对象ID和从对象ID方案:1.客户提供主对象ID的XPATH2.客户提供每一个明细对象的XPATH场景2:返回结果只有主对象的ID,没有从对象的ID方案:1.客户提供主对象ID的XPATH2.取明细对象的主键字段对应的数据作为ID值,如果不存在,取_id字段的值当作明细对象的ID值场景3:返回结果 没有主对象的ID,也没有从对象的ID方案:1.取主对象的主键字段对应的数据作为ID值,如果不存在,取_id字段的值作为主对象的ID值2.取明细对象的主键字段对应的数据作为ID值,如果不存在,取_id字段的值当作明细对象的ID值 |
updateDetail | 客户手动输入 | 1.通过连接配置页面的 获取header的函数 来读取2.手动输入header | <request> <detail> <field1>#(detailObjApiName.field1)</field1> <field2>#(detailObjApiName.field2)</field2> <field3>#(detailObjApiName.field3)</field3> </detail></request> | <?xml version="1.0" encoding="UTF-8"?><response> <code>0</code> <msg>success</msg> <detail> <id>a1000</id> <name>n1000</name> </detail></response>错误码XPATH表达式://response/code错误信息XPATH表达式://response/msgID XPATH表达式://response/detail/idname XPATH表达式://response/detail/name |
invalid | 客户手动输入 | 1.通过连接配置页面的 获取header的函数 来读取2.手动输入header | get方式,拼接到url里面invalid?objAPIName=#(objAPIName)&dataId=#(dataId)post方式,放在请求体里面<request> <field1>#(objAPIName)</field1> <field2>#(dataId)</field2></request> | <?xml version="1.0" encoding="UTF-8"?><response> <code>0</code> <msg>success</msg></response>错误码XPATH表达式://response/code错误信息XPATH表达式://response/msg |
invalidDetail | 客户手动输入 | 1.通过连接配置页面的 获取header的函数 来读取2.手动输入header | get方式,拼接到url里面invalidDetail?objAPIName=#(objAPIName)&dataId=#(dataId)&detailDataId=#(detailObjApiName.dataId)post方式,放在请求体里面<request> <field1>#(objAPIName)</field1> <field2>#(dataId)</field2> <field3>#(detailObjApiName.dataId)</field3></request>XML模板,由客户手动输入,XML支持字段变量,变量的值取集成平台字段映射表转换后的值集成平台需要提供对应的输入框 | <?xml version="1.0" encoding="UTF-8"?><response> <code>0</code> <msg>success</msg></response>错误码XPATH表达式://response/code错误信息XPATH表达式://response/msg |
queryMasterBatch | 客户手动输入 | 1.通过连接配置页面的 获取header的函数 来读取2.手动输入header | get方式,拼接到url里面queryMasterBatch?startTime=#(startTime)&endTime=#(endTime)&offset=#(offset)&limit=#(limit)&objAPIName=#(objAPIName)&includeDetail=#(includeDetail)post方式,放在请求体里面<request> <field1>#(startTime)</field1> <field2>#(endTime)</field2> <field3>#(offset)</field3> <field4>#(limit)</field4> <field4>#(objAPIName)</field4> <field5>#(includeDetail)</field5></request> | <?xml version="1.0" encoding="UTF-8"?><response> <code>0</code> <msg>success</msg> <dataList> <data> <master> <id>a1000</id> <name>n1000</name> </master> <details> <detail_1> <item> <id>a100</id> <name>n100</name> </item> <item> <id>a101</id> <name>n101</name> </item> </detail_1> <detail_2> <item> <id>a2_100</id> <name>n2_100</name> </item> <item> <id>a2_101</id> <name>n2_101</name> </item> </detail_2> </details> </data> <data> <master> <id>a1000</id> <name>n1000</name> </master> <details> <detail_1> <item> <id>a105</id> <name>n105</name> </item> <item> <id>a106</id> <name>n106</name> </item> </detail_1> <detail_2> <item> <id>a2_105</id> <name>n2_105</name> </item> <item> <id>a2_106</id> <name>n2_106</name> </item> </detail_2> </details> </data> </dataList></response>方案:1.客户需要提供主数据XPATH表达式2.客户需要提供所有明细对象的XPATH表达式错误码XPATH表达式://response/code错误信息XPATH表达式://response/msg主对象的xpath: //response/dataList/data/master从对象1的xpath: //response/dataList/data/details/detail_1/item从对象2的xpath: //response/dataList/data/details/detail_2/item |
queryMasterById | 客户手动输入 | 1.通过连接配置页面的 获取header的函数 来读取2.手动输入header | get方式,拼接到url里面queryMasterById?objAPIName=#(objAPIName)&dataId=#(dataId)post方式,放在请求体里面<request> <dataId>#(dataId)</dataId> <objAPIName>#(objAPIName)</objAPIName></request> | <?xml version="1.0" encoding="UTF-8"?><response> <code>0</code> <msg>success</msg> <master> <id>a1000</id> <name>n1000</name> </master> <details> <detail_1> <item> <id>a100</id> <name>n100</name> </item> <item> <id>a101</id> <name>n101</name> </item> </detail_1> <detail_2> <item> <id>a105</id> <name>n105</name> </item> <item> <id>a106</id> <name>n106</name> </item> </detail_2> </details></response>方案:1.客户需要提供主数据XPATH表达式2.客户需要提供所有明细对象的XPATH表达式错误码XPATH表达式://response/code错误信息XPATH表达式://response/msg主对象的xpath: //response/master从对象1的xpath: //response/details/detail_1/item从对象2的xpath: //response/details/detail_2/item |
queryInvalid | 客户手动输入 | 1.通过连接配置页面的 获取header的函数 来读取2.手动输入header | get方式,拼接到url里面queryInvalid?startTime=#(startTime)&endTime=#(endTime)&offset=#(offset)&limit=#(limit)&objAPIName=#(objAPIName)&includeDetail=#(includeDetail)post方式,放在请求体里面<request> <field1>#(startTime)</field1> <field2>#(endTime)</field2> <field3>#(offset)</field3> <field4>#(limit)</field4> <field4>#(objAPIName)</field4> <field5>#(includeDetail)</field5></request> | <response> <master> <field1>a1000</field1> <field2>n1000</field2> </master> <details> <detail_1> <item> <field1>a100</field1> <field2>n100</field2> </item> <item> <field1>a101</field1> <field2>n101</field2> </item> </detail_1> <detail_2> <item> <field1>a100</field1> <field2>n100</field2> </item> <item> <field1>a101</field1> <field2>n101</field2> </item> </detail_2> </details></response>方案:1.客户需要提供主数据XPATH表达式2.客户需要提供所有明细对象的XPATH表达式错误码XPATH表达式://response/code错误信息XPATH表达式://response/msg主对象的xpath: //response/master从对象1的xpath: //response/details/detail_1/item从对象2的xpath: //response/details/detail_2/item |
asyncpush(不需要处理,集成平台提供的接口,客户需要适配集成平台) |