2017-12-12 14 views
0

Test-Java-API für IBM Watson Discovery-Dienstibm watson Discovery.adDocument Fehler

Discovery discovery = new Discovery("2017-09-01"); 

System.out.println("Creating a new document..."); 
String documentJson = "{\"field\":\"value\"}"; 
InputStream documentStream = new ByteArrayInputStream(documentJson.getBytes()); 

AddDocumentOptions.Builder createDocumentBuilder = 
     new AddDocumentOptions.Builder(environmentId, collectionId); 
createDocumentBuilder.file(documentStream).fileContentType(HttpMediaType.APPLICATION_JSON); 
DocumentAccepted createDocumentResponse = discovery.addDocument(createDocumentBuilder.build()).execute(); 

Sollte funktionieren, ohne eine Ausnahme zu werfen.

Eine Ausnahme wird auf die letzte Anweisung "discovery.addDocument" geworfen; Fehlermeldung "Dateiname darf nicht null sein, wenn Datei nicht null ist"

Antwort

0

Da Sie documentJson-Parameter verwenden, sind Sie sicher, dass JSON-Metadaten fileName haben. Wenn nicht, definieren Sie eine Zeichenfolge mit dem Variablennamen dateiname. EJR Add Document to Discovery

Discovery discovery = new Discovery("2017-11-07"); 
discovery.setEndPoint("https://gateway.watsonplatform.net/discovery/api/"); 
discovery.setUsernameAndPassword("{username}", "{password}"); 
String environmentId = "{environment_id}"; 
String collectionId = "{collection_id}"; 
String documentId = "{document_id}"; 
String fileName = "<fileName>"; 

FYI - Sie können nicht documentStream und filename Parameter zusammen

verwenden