RITE API呼び出しを作成してNiFi UIポストにテンプレートをインポートしようとしています。以下apacheでテンプレートをアップロードするJavaでRest APIを使用するNiFi
以下
String siteUrl = "localhost";
String portNumber = "8080";
String pId = "f80896d4-c71f-3395-d527-8c6bd69f44d0";
String pathname = "D:\\Users\\bramasam\\Downloads\\BalaBackUp.xml";
String restString = "http://" + siteUrl + ":" + portNumber + "/nifi-api/process-groups/" + pId + "/templates/upload";
HttpPost httpPost = new HttpPost(restString);
File fileObj = new File(pathname);
httpPost.addHeader("Content-type", "multipart/form-data");
FileEntity fileEntity = new FileEntity(fileObj, ContentType.MULTIPART_FORM_DATA);
httpPost.setEntity(fileEntity);
HttpClient httpClient = HttpClientBuilder.create().build();
HttpResponse response = httpClient.execute(httpPost);
StatusLine status = response.getStatusLine();
System.out.println(status.getStatusCode());
、私が試した符号である{ID}はI応答を取得しています私は
<?xml version="1.0" ?>
<template encoding-version="1.1">
<description></description>
<groupId>bd5dba8b-015d-1000-1fd5-450ede38b7a5</groupId>
<name>BalaBackUp</name>
<snippet>
<processGroups>
<id>f80896d4-c71f-3395-0000-000000000000</id>
<parentGroupId>29a5776d-9728-3fee-0000-000000000000</parentGroupId>
<position>
<x>0.0</x>
<y>0.0</y>
</position>
<comments></comments>
<contents>
<connections>
<id>c0d0e26d-5ee2-3d60-0000-000000000000</id>
<parentGroupId>f80896d4-c71f-3395-0000-000000000000</parentGroupId>
<backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>10000</backPressureObjectThreshold>
<destination>
<groupId>f80896d4-c71f-3395-0000-000000000000</groupId>
<id>1f9e926a-71fc-356f-0000-000000000000</id>
<type>PROCESSOR</type>
からインポートしようとしていBalaBackUp.xmlファイルからのものですコード500、以下の応答
HttpResponseProxy{HTTP/1.1 500 Internal Server Error [Date: Thu, 28 Sep 2017 09:43:28 GMT, X-Frame-Options: SAMEORIGIN, Content-Type: text/plain, Transfer-Encoding: chunked, Server: Jetty(9.4.3.v20170317)] ResponseEntityProxy{[Content-Type: text/plain,Chunked: true]}}
あなたは私が逃しているものについて私を助けてくれますか?
については、以下のテンプレート
参考URLは私がXMLファイルを検証し、それが完了した(そして、私がいたとしても、あなたはそれを認識するnifiの名前「テンプレート」を
addPart
する必要が手動でアップロードすることができます)。また、nifi-app.logを確認しましたが、HTTP 500例外でエラーが見つかりませんでした。 XMLファイルを「multipart/form-data」に構築する方法です。 –たぶんそれはそうですが、あなたのXMLファイルは24行しか表示せず、開始タグのいずれも閉じません。私に見えるものは有効なXMLではありません。内部NiFiフレームワークまたはプロセッサの実行中にエラーが発生すると、エラースタックトレースがnifi-appログに出力されます。なぜHTTP 500エラーの原因となるエラーが表示されないのかわかりません。 – Andy
コミュニケーションに欠けて申し訳ありません。 {id}フィールドがどこから得られたかを示すXMLサンプルだけを貼り付けました。完全なXMLです。 –