繁体   English   中英

使用 Forge DataManagement 在 BIM360 中创建新项目版本时出现 VER_MISMATCH_MIMETYPE 错误 API

[英]VER_MISMATCH_MIMETYPE error when creating new item version in BIM360 with Forge DataManagement API

我正在使用 Forge DesignAutomation API 更新 BIM360 上的 Revit 模型。 一切顺利,直到我希望在 BIM360 上为 DesignAutomation 应用程序返回的 Revit model 创建一个新版本。 对于许多 Revit 文件(但不是全部:似乎是在调用GET item时列出了 included.attributes.mimeType 属性的项目),Forge 服务器返回以下 400 BadRequest 错误:

{
    "jsonapi": {
        "version": "1.0"
    },
    "errors": [
        {
            "id": "37a8316e-661f-4ef0-9efd-121836bf27f1",
            "status": "400",
            "code": "ERR_WIP_ERROR",
            "title": "VER_MISMATCH_MIMETYPE",
            "detail": "The new version's MIME type must match the previous version's MIME type."
        }
    ]
}

要创建新的项目版本,我按照此处所示的示例进行操作。 这会将包含以下正文的请求发送到版本端点,如此所述:

{
    "jsonapi": {
        "version": "1.0"
    },
    "data": {
        "type": "versions",
        "attributes": {
            "name": "SomeModelName.rvt",
            "extension": {
                "type": "versions:autodesk.bim360:File",
                "version": "1.0"
            }
        },
        "relationships": {
            "item": {
                "data": {
                    "type": "items",
                    "id": "urn:adsk.wipprod:dm.lineage:FPh4mXHCTluhI-xxxxxxxx"
                }
            },
            "storage": {
                "data": {
                    "type": "objects",
                    "id": "urn:adsk.objects:os.object:wip.dm.prod/3db6fe47-xxxx-xxxx-xxxx-xxxxxxxxx.rvt"
                }
            }
        }
    }
}

我该如何解决这个问题? 在创建新的项目版本时,我是否应该更改 POST 请求中的某些内容,或者问题是否在于 DesignAutomation 应用程序如何创建新的 Revit model?

谢谢你的帮助!

编辑:我自己的印象是,过去我没有遇到过这个问题。 现在,其他人也已针对其他应用程序确认了这一点。 难道这个问题的源头是 Forge API 的更新? 尽管如此,我确实在二月份找到了另一个人提到它,不幸的是没有解决......

编辑:这是产生错误的 Revit model 的 json 响应(来自GET 项目)的一部分,显示 mimeType“application/vnd.autodesk.r360”:

"included": [
        {
            "type": "versions",
            "id": "urn:adsk.wipprod:fs.file:vf.FPh4mXHCTluhI-xyzxyzxyz?version=1",
            "attributes": {
                "name": "RevitModel.rvt",
                "displayName": "RevitModel.rvt",
                "createTime": "2021-07-09T12:18:24.0000000Z",
                "createUserId": "xyz",
                "createUserName": "xyz",
                "lastModifiedTime": "2021-07-09T12:18:25.0000000Z",
                "lastModifiedUserId": "xyz",
                "lastModifiedUserName": "xyz",
                "versionNumber": 1,
                "mimeType": "application/vnd.autodesk.r360",
                "storageSize": 491300637,
                "fileType": "rvt",
                "extension": {
                    "type": "versions:autodesk.bim360:C4RModel",
                    "version": "1.1.0",
                    "schema": {
                        "href": "https://developer.api.autodesk.com/schema/v1/versions/versions:autodesk.bim360:C4RModel-1.1.0"
                    },
                    "data": {
                        "modelVersion": 1475,
                        "isCompositeDesign": true,
                        "mimeType": "application/vnd.autodesk.r360",
                        "compositeParentFile": "RevitModel.rvt",
                        "projectGuid": "some-guid",
                        "originalItemUrn": "urn:adsk.wipprod:dm.lineage:xyzxyzxyzxyz",
                        "modelType": "multiuser",
                        "latestEpisodeGuid": "some-guid",
                        "modelGuid": "some-guid",
                        "processState": "PROCESSING_COMPLETE",
                        "extractionState": "SUCCESS",
                        "splittingState": "NOT_SPLIT",
                        "reviewState": "NOT_IN_REVIEW",
                        "revisionDisplayLabel": "1",
                        "sourceFileName": "RevitModel.rvt"
                    }
                }
            },
    [...]
]

这是 DesignAutomation 应用程序从上面的项目中生成的项目的相同 json 块,我想将其添加为新版本:

"included": [
        {
            "type": "versions",
            "id": "urn:adsk.wipprod:fs.file:vf.X5m1BYxDRw-xyzxyzxyz?version=1",
            "attributes": {
                "name": "RevitModel.rvt",
                "displayName": "RevitModel.rvt",
                "createTime": "2021-08-06T12:25:13.0000000Z",
                "createUserId": "xyz",
                "createUserName": "xyz",
                "lastModifiedTime": "2021-08-06T12:34:10.0000000Z",
                "lastModifiedUserId": "xyz",
                "lastModifiedUserName": "xyz",
                "versionNumber": 1,
                "storageSize": 198492160,
                "fileType": "rvt",
                "extension": {
                    "type": "versions:autodesk.bim360:File",
                    "version": "1.0",
                    "schema": {
                        "href": "https://developer.api.autodesk.com/schema/v1/versions/versions:autodesk.bim360:File-1.0"
                    },
                    "data": {
                        "processState": "PROCESSING_COMPLETE",
                        "extractionState": "SUCCESS",
                        "splittingState": "NOT_SPLIT",
                        "reviewState": "NOT_IN_REVIEW",
                        "revisionDisplayLabel": "1",
                        "sourceFileName": "RevitModel.rvt"
                    }
                }
            },
      [...]
]

您创建的没有mimeType的版本是可以的,因为您无法创建这种类型的项目/版本。

带有 mimeType application/vnd.autodesk.r360的项目表示此 model 是您的Revit 云工作共享 model已发布model 。 不幸的是,无法通过 Forge API 为此类项目/版本创建/附加版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM