在Web服务中导入数据GI

时间:2019-01-05 20:14:59

标签: acumatica

我需要使用Web服务使用Web服务将自定义数据导入Acumatica。

我创建了一个自定义表,该表具有2个字符串字段和一个ntext字段,用于保存XML数据。 为此创建了一个GI,并在Web服务终结点中公开了它。

导入JSON数据格式如下。

    [
  {
    "OrderNbr": "1",
    "CommandValue": "8",
    "Xmldata": "<?xml version=\"1.0\" encoding=\"utf-8\"?><MLW Cmd=\"8\" TStamp=\"2018-12-21T11:38:25\" Id=\"dsgx1\" OrgId=\"157035408\" DevId=\"b9d863ca-REG-4825e4aa-566b5fc7\" RouteId=\"Resource-879-1\" StopId=\"Location230\" LocationKey=\"Location230\" StopType=\"67\"> <GPS Altitude=\"278.46383285522461\" Latitude=\"34.0487467032243\" Longitude=\"-84.673757432107507\" NoOfSat=\"7\" Speed=\"1.3679999828338623\" SatTStamp=\"2018-12-21T11:37:26\" Direction=\"0\" FixQuality=\"A\" /> <FieldData LCode=\"1\" OwnerId=\"Location230\"> <Field FId=\"89815\" Value=\"No\" /> <Field FId=\"89817\" Value=\"No\" /> <Field FId=\"89816\" Value=\"Patrick N\" /> </FieldData> <Job Id=\"Order-878-4\" Status=\"4\"> <Item Status=\"4\" Id=\"TIFTUF\" Mode=\"Manual\" /> </Job></MLW>"
  }
]

我已经在POSTMAN中使用基本身份验证进行了尝试。

我遇到以下错误

输入:400错误的请求 GET:500内部服务器错误。

更新:我已经创建了一个自定义列表页面,并在端点中对其进行了配置。

我已经在POSTMAN中进行了测试,

以下是用于创建记录的端点和JSON字符串

http://localhost/XYZ/(W(3))/entity/XYZ/17.200.001.001/MyResposeImport



{
    "OrderNbr": {value :"b"},
    "CommandValue": {value :"8"},
    "Xmldata": {value :"<?xml version='1.0' encoding='utf-8'?><MLW Cmd='8' TStamp='2018-12-21T11:38:25' Id='dsgx1' OrgId='157035408' DevId='b9d863ca-REG-4825e4aa-566b5fc7' RouteId='Resource-879-1' StopId='Location230' LocationKey='Location230' StopType='67'> <GPS Altitude='278.46383285522461' Latitude='34.0487467032243' Longitude='-84.673757432107507' NoOfSat='7' Speed='1.3679999828338623' SatTStamp='2018-12-21T11:37:26' Direction='0' FixQuality='A' /> <FieldData LCode='1' OwnerId='Location230'> <Field FId='89815' Value='No' /> <Field FId='89817' Value='No' /> <Field FId='89816' Value='Patrick N' /> </FieldData> <Job Id='Order-878-4' Status='4'> <Item Status='4' Id='TIFTUF' Mode='Manual' /> </Job></MLW>"}
  }

PUT返回OK,并在下面给出响应

{
    "id": "94a00013-37bf-4077-bfb6-2e8662988547",
    "rowNumber": 1,
    "note": null,
    "OrderNbr": {
        "value": "b"
    },
    "ShippingStatus": {},
    "XMLData": {},
    "custom": {},
    "files": []
}

我已经检查了后端,并且没有在表中添加任何记录。

由于屏幕仅是API调用,因此我已在隐藏部分下创建了站点地图。

记录未添加到表中的原因可能是什么?

1 个答案:

答案 0 :(得分:0)

我已经解决了问题。 JSON数据字段名称与DAC标签不同,API看起来是DAC标签而不是字段名称。

我已将JSON数据更改为following,并且效果很好

{
    "OrderNbr": {value :"b"},
    "ShippingStatus": {value :"8"},
    "XMLData": {value :"<?xml version='1.0' encoding='utf-8'?><MLW Cmd='8' TStamp='2018-12-21T11:38:25' Id='dsgx1' OrgId='157035408' DevId='b9d863ca-REG-4825e4aa-566b5fc7' RouteId='Resource-879-1' StopId='Location230' LocationKey='Location230' StopType='67'> <GPS Altitude='278.46383285522461' Latitude='34.0487467032243' Longitude='-84.673757432107507' NoOfSat='7' Speed='1.3679999828338623' SatTStamp='2018-12-21T11:37:26' Direction='0' FixQuality='A' /> <FieldData LCode='1' OwnerId='Location230'> <Field FId='89815' Value='No' /> <Field FId='89817' Value='No' /> <Field FId='89816' Value='Patrick N' /> </FieldData> <Job Id='Order-878-4' Status='4'> <Item Status='4' Id='TIFTUF' Mode='Manual' /> </Job></MLW>"}
  }