ERLEDIGT
JA
JA
ANTWORTEN
1
1
ZUGRIFFE
881
881
EMPFEHLEN
-
Hallo,
ich erstelle zurzeit eine Webapplication mit SmartGWT / GWT. Den Datentransfer möchte ich über Restful mit JPA und Jersey realisiert. @Get und @Delete habe ich bereichts realisiert und funktioniert hervorragend. Ich hab jetzt das Problem, dass ich nicht weiss, wie ich den neu anzulegenden Datensatz an den Application Server übermittele:
Ich habe die folgenden Methode geschrieben, die den Webservice aufruft und den XML Inthalt "<Benutzer><ID>1</ID><Name>Andy</NAME></Benutzer>" als String versendet:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
private void storeNewRecord() { /*Daten die als String via Webservice versendet werden sollen*/ String sendData = "<Benutzer><ID>1</ID><Name>Andy</NAME></Benutzer>"; /*URL zum Aufruf des Webservices...Adresse => [url]http://127.0.0.1:8888/rest/emails/create/email/*/[/url] String dataUrl = GWT.getHostPageBaseURL() + "rest/emails/create/email/"; System.out.println( "DataUrl: " + dataUrl ); RequestBuilder builder = new RequestBuilder( RequestBuilder.POST, dataUrl ); builder.setHeader( "content-type", "application/xml" ); try { Request response = builder.sendRequest( sendData, /*data String wich will be send via restful*/ new RequestCallback() { @Override public void onResponseReceived( Request request, Response response ) { int statusCode = response.getStatusCode(); if ( statusCode == Response.SC_OK ) { String responseBody = response.getText(); System.out.println( "RestResponse: " + responseBody ); } else { SC.say( "An unexpected error occured: Code " + statusCode ); } } @Override public void onError( Request request, Throwable exception ) { SC.say( String.valueOf( exception ) ); } } ); } catch ( RequestException e ) { e.printStackTrace(); SC.say( String.valueOf( e ) ); } editorForm.saveData(); if ( sectionContents != null ) { sectionContents.setExpanded( true ); sectionDetails.setExpanded( true ); } else { closeWindow(); } }
Der Aufruf ansich funktioniert, beim debuggen springt er in die @post Methode. Diese sieht wie folgt aus:
Code java:1 2 3 4 5 6 7 8 9
@POST @Path( "create/email" ) @Consumes(MediaType.APPLICATION_XML) @Produces( MediaType.APPLICATION_XML ) public DEmail createEmail( @PathParam( "xml" ) String xml) { // Hier muss ich den XML entgegennehmen, weiss aber nicht wie? Der Übergabeparameter xml ist immer NULL. Weiss jemand die Lösung meines Problemes? }
Mir ist nicht klar, wie ich in der Post Methode den xml Inhalt, den ich in Als String "sendData" versende aufrufen kann? Weiss jemand weiter?
-
ok habe es selbst herausgefunden. Die Post Methode muss wie folgt aussehen:
Code java:1 2 3 4 5 6 7 8 9 10 11
@POST @Path( "create/email" ) @Consumes(MediaType.APPLICATION_XML) @Produces( MediaType.APPLICATION_XML ) public DEmail createEmail(String xml) { // Hier muss ich den XML entgegennehmen, weiss aber nicht wie? Der Übergabeparameter xml ist immer NULL. Weiss jemand die Lösung meines Problemes? System.out.println("XML: " + xml); DEmail email = new DEmail(); return email; }
Ähnliche Themen
-
Variablen an URL anhängen auf Post Methode
Von son gohan im Forum PHPAntworten: 8Letzter Beitrag: 03.10.05, 14:07 -
Post-Methode in C# benutzen
Von DeathAngel im Forum .NET ArchivAntworten: 3Letzter Beitrag: 13.06.04, 22:48 -
post methode ......
Von bspainkf36 im Forum PHPAntworten: 5Letzter Beitrag: 25.11.02, 13:17 -
Methode Post unterdrücken?
Von masta im Forum Hosting & WebserverAntworten: 0Letzter Beitrag: 11.11.02, 18:37 -
post methode beim <a> tag
Von Jaeger im Forum PHPAntworten: 4Letzter Beitrag: 08.02.02, 08:39





Zitieren
Login





