JAXRS: Kein message-body-reader in einem einfachen Beispiel?

Verstehe ich nicht, warum das passiert: wenn ich erkläre ausdrücklich den Dateinamen der input in meinem annotierten java-Klasse namens "verarbeiten", alles funktioniert perfekt:

@GET
public static void process() throws IOException {
    File file = new File("a.pdf");
    FileUtils.writeStringToFile(new File("a.pdf" + ".exported"), menu.parseToString(file));
}

Jedoch, wenn ich versuche, übergeben Sie den Dateinamen als argument, und konfigurieren auch eclipse über "Konfigurationen ausführen" zu geben, das entsprechende argument (Pfad zur "ein.pdf"):

@GET
public static void process(String[] args) throws IOException {
    File file = new File(args[0]);
    FileUtils.writeStringToFile(new File(args[0] + ".exported"), menu.parseToString(file));
}

wenn ich den service rufen es mit einem Fehler fehlschlägt:

Oct 09, 2014 9:44:55 AM org.apache.cxf.jaxrs.utils.JAXRSUtils readFromMessageBody
WARNING: No message body reader has been found for request class String[], ContentType :    
application/octet-stream.

Ich bin neu in jax-rs. Mache ich irgendwelche Anmerkungen? Vielen Dank...

  • 1), Die public static void process("a.pdf") ist keine gültige Java -. Bitte geben Sie den richtigen code, die Sie verwenden. 2) "übergeben Sie den Dateinamen als argument:" Wie machst du dies mit einem HTTP-request?
  • Wenn der service veröffentlicht wird, bekomme ich einen link. Wenn ich auf diesen link.pdf geparst wird. Also, wenn ich explizit definieren Sie den Namen der Datei und klicken Sie auf den link auf den veröffentlichten service-es funktioniert. Allerdings, wenn ich-Punkt heraus, den Speicherort der Datei (eine.pdf-Datei) und klicken Sie auf den veröffentlichten web-service-link bekomme ich die genannten Fehler. Das ist mein code der btw. und 1) funktioniert/kompiliert toll auf meiner Seite...
  • Was du schreibst macht keinen Sinn. "Wenn der service veröffentlicht wird, bekomme ich eine Verbindung." Was link? Wo? Ich sehe keinen HTML-Code, links, überall. ", wenn ich Sie zum Speicherort der Datei". Wie machst du das? Zusammenfassung: Bitte zeigen Sie uns, wie Sie dies nennen JAX-RS-Ressource.
  • "link" = identifiziert die URI-Pfad-Vorlage, die die Ressource reagiert. Dieser Teil der code, den ich gepostet ist eine Ressource, die habe ich entsprechend kommentiert und veröffentlicht es als jax-rs (siehe zum Beispiel docs.oracle.com/cd/E19798-01/821-1841/ginpw/index.html um zu verstehen, was meine ich mit link). Es tut mir Leid, wenn das verärgert dich, mein Freund. Wahrscheinlich ja, ich sollte nicht benutzt haben, "link" sondern "Ressourcen-URI" statt.
  • Ich weiß, die @Path annotation. Bitte sagen Sie uns die details der HTTP-Anforderung, die Sie machen. Die Informationen, die Sie zur Verfügung gestellt, so weit ist nicht genug, zu verstehen, Ihr problem.
  • Wie erkläre ich in meinem ersten post, wenn ich den service veröffentlichen, und senden Sie eine GET-Anforderung, um es A., wenn mit dem Namen ausdrücklich erklärt alles Super funktioniert, B. wenn es erklärt wird, als zweite option schlägt es mit den vor genannten Fehler. Warum verhält sich anders als B?

InformationsquelleAutor pebox11 | 2014-10-09
Schreibe einen Kommentar