2017-11-30 7 views
1

3Dモデルのリクエストからの応答をManifestおよびMetadataオブジェクトにマッピングする際に、モデルDerivative APIからのレスポンスオブジェクトに対する更新がありました。Model Derivative APIレスポンスがジャクソンからマッピングされていない

どちらもジャクソンのエラーを投げています。

  1. GetManifestは
  2. GetMetadataForGuidが投げている未処理の役割列挙戻っている - 不正な文字((CTRL-CHAR、コード31))

おかげ

+1

JAVAを使用している他の顧客の中には、同様の問題が報告されています。私は調査中で、すぐにお返事します。 –

答えて

1

を私が問題と間違って何です。 Get Manifestエンドポイントのレスポンスは最近変更されました。 Revitで生成されたマニフェストのジオメトリノードとは別に、プロパティデータベースノードがあります。したがって、新しい役割の1つは 'Autodesk.CloudPlatform.PropertyDatabase'です。古いJavaオブジェクトManifestChildren.JAVAはロールを宣言しません。失敗を引き起こした。 enter image description here

修正するには、ManifestChildren.JAVAに新しい役割を追加するだけです。

enter image description here

私はJAVA SDKのコミットを要求しました。 SDKのソースコードをプロジェクトにマージすると、あなたの側で直接変更することができます。

これが役に立ちます。

+0

オブジェクトの形状がどのように変化するかをどのように追跡しますか?私は、どこに変更を詳述してもリリースノートを見つけることができませんでしたか?ありがとう –

+1

@Neil_Mこれは、発表するのに欠けている変更を聞いています。私たちはエンジニアチームにこのようなオブジェクトの変更に関する公開通知を将来的に投稿するよう依頼するよう依頼しました。あなたのプロジェクトに起因するすべてのトラブルについてお詫び申し上げます。 –

0

これは、第2の質問にすべての参考文献として答えることです。

問題は、GET:urn/metadata /:guidを呼び出すときにヘッダーが "gzip"形式に設定されているためです。 "gzip"でなければ、すべて正常に動作します。 Postmanのような他の方法では、gzipのヘッダーも使えます。

以前は、クライアントがgzipヘッダーを使用していたときに、実際にはgzipエンコーディングをトリガーしませんでした。だからすべてが問題ありません。最近リリースされた後、gzipが指定されていればコンテンツはgzipで返されますが、SDKはそれを正しく処理しません。 Postmanはgzipを自動的にjsonに解凍するので、動作しているように見えます。

したがって、115行目のApiClient.javaに1行追加することができます。client.addFilter(new GZIPContentEncodingFilter(false));

また、私の宇宙のソースgithubリポジトリを2つの問題のフィックスでフォークしました。プル要求はメイン・リポジトリにコミットされます。 APIコールの応答がgzipコンテンツを処理して解凍できるようにすることです。 https://github.com/xiaodongliang/forge-api-java-client

SDKを使用しているいくつかのプロジェクトに影響を与えた2つの問題についてお詫び申し上げます。

関連する問題