Webservice: XML Parameter übergabe.

casi91

Bekanntes Mitglied
Hallo Community.

Ich habe derzeit die wunderschöne Aufgabe einen Webservice zu erstellen, der einmal Daten in eine Datenbank schreibt und einmal ausließt.

Der Datenaustausch soll über XML vorgenommen werden.
Eine XML soll (ungefähr) diesen Aufbau haben:

[XML]
<KOPF>
<id>4711</id>
<name>mustermann</name>
<position>
<nr>1</nr>
<artikel>4712</artikel>
</position>
<position>
<nr>2</nr>
<artikel>4713</artikel>
</position>
</KOPF>
[/XML]

Wie oben geschrieben, soll der Datenaustausch über XML stattfinden.
Fall 1:
Benutzer möchte neue Daten in die DB schreiben.
--> Benutzer ruft Webservice "add" auf und gibt als Parameter eine XML mit (Form wie oben beschrieben)

Fall 2:
Benutzer möchte Informationen zu den Daten in der DB abrufen.
--> Benutzer ruft Webservice "get" auf, gibt als Parameter "kopfid = 4711" mit und erwartet als rückgabe eine XML (Form wie oben beschrieben)


Einen Webservice habe ich schon erstellt bekommen. Diesem übergebe ich jedoch keine XML sondern alle Parameter einzeln.

Zum entwickeln benutze ich:
Eclipse
Tomcat 7
Axis


Und bin sehr viel nach folgendem Tutorial vorgegangen:
http://www.fassbender.fh-aachen.de/Download/OOS/Praktika/Entwicklung%20von%20WebServices%20in%20Java.pdf

Ich hoffe mir kann jemand erklären, wie ich eine komplette XML als Parameter mit übergeben kann.
Danke schonmal im vorraus :)
 
B

bygones

Gast
hab das pdf nicht gelesen...

aber willst du einen SOAP webservice oder REST webservice ?!
 
B

bygones

Gast
mhm - wenn ich mich richtig erinnere kannst du doch das xml einfach in deinen SOAP body mitgeben ?! (wahrscheinlich muss es encoded werden).

oder wenn der payload zu gross sein sollte es als attachment hinzufuegen
 

casi91

Bekanntes Mitglied
???:L???:L???:L
ich muss leider gestehen, dass ich gerade nur Bahnhof verstehe...

Hier mal ein kurzes Beispiel, wie ich einen "Test"-Webservice mal aufgerufen habe.

Webservice:
Java:
@javax.jws.WebService
public class MyFirstWS {
	
	
	public String helloWorld() {
		return "Hello World";
	}
}

Client:
Java:
public class Test {
	public static void main(String[] args) {
		String result = "";
		
		try {
			MyFirstWSProxy endpoint = new MyFirstWSProxy();
			MyFirstWS service 		= endpoint.getMyFirstWS();
			
			result = service.helloWorld();
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
		System.out.println(result);
	}
}


Und ich hatte gehofft, dass es hier eine Möglicheit gibt, dass ich an dieser Stelle anstatt einem String, eine XML zurückbekommen kann.
Also anstatt als Rückgabewert:
Java:
String "Hello World"
zu erhalten
eben:
[XML]
<KOPF>
<antwort>Hello World</antwort>
</KOPF>
[/XML]
 

casi91

Bekanntes Mitglied
Bin nun mal soweit:

Meine JavaXML-Klasse:
Java:
@XmlRootElement
public class MyHeader {
	private String id = "";
	private String name = "";
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

Mein Webservice:
Java:
public class MyTest {
	public String helloWorld() {
		MyHeader header = new MyHeader();
		header.setId("1");
		header.setName("test");
		
		String test = "helloWorld";
		try {
			FileWriter writer = new FileWriter("C:/Projekte/test.xml");
			JAXB.marshal(header, writer);
			writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        } 
	return test;
	}
}

An dieser stelle, wird mir eine test.xml geschrieben, so wie ich sie erwartet habe:
[XML]
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<myHeader>
<id>1</id>
<name>test</name>
</myHeader>
[/XML]

Nur wie bekomme ich das was ich nun ja in die Datei schreibe, als return für meine Methode, damit die XML an den Client kommt? Jemand eine Idee =) ?
 

casi91

Bekanntes Mitglied
Habs nun hinbekommen.
Anstelle des "FileWriter"s wie in meinem letzten Beispiel.
Benutze ich einen "StringWriter" und gebe den String (in dem sich dann die komplette XML befindet) als Parameter mit bzw. als return Wert zurück.

Obs die beste Lösung ist, weiß ich nicht. Aber es ist immerhin eine ^.^
Ich schließe das Thema nun.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Webservice timeout bei Ausführung der .jar Allgemeine Java-Themen 3
OnDemand Webservice Triggern Allgemeine Java-Themen 4
F Kennt jemand das Java WebService Tutorial der Uni Hannover? Allgemeine Java-Themen 2
F Operationen/Methoden einen WebService im Browser mit Apache Axis aufrufen Allgemeine Java-Themen 4
P XML Dokumente von JDOM an ein WebService senden! Allgemeine Java-Themen 2
I REST Webservice getFile Allgemeine Java-Themen 2
M WebService - Zugriff auf Webservice Methode über Browser Allgemeine Java-Themen 1
P CXF 3.0.1 WebService- Client Allgemeine Java-Themen 0
E Webservice zur Konvertierung IBAN/BIC -> Bank Name Allgemeine Java-Themen 1
S Webservice-Tutorial Allgemeine Java-Themen 3
U Eclipse Java Projekt - Webservice einbinden Allgemeine Java-Themen 7
Y WebService erstellen Allgemeine Java-Themen 2
C Datei kodiert zu Webservice senden Allgemeine Java-Themen 9
G WebService Exception Allgemeine Java-Themen 3
M Client für einen Webservice erstellen (ONVIF) Allgemeine Java-Themen 3
M Webservice mit Axis2 und Eclipse - Error Allgemeine Java-Themen 2
D Kein Zugriff auf WebService ausser localhost Allgemeine Java-Themen 4
M Webservice in Java erstellen Allgemeine Java-Themen 6
T Webservice definieren und andere Webservice aufrufen Allgemeine Java-Themen 8
B webservice stub enthält nicht genug funktionen Allgemeine Java-Themen 2
R Konzept eines Software-Rollout/Synchronisation via WebService Allgemeine Java-Themen 5
P Schnittstelle über Webservice SOAP Allgemeine Java-Themen 11
G [Reflection + WebService] Methodenaufruf an einem Proxy Allgemeine Java-Themen 11
J HashMap mit Webservice realisierbar? Allgemeine Java-Themen 4
W Dringend: WebService Select Statement aus xml Datei Allgemeine Java-Themen 11
T Datenbankanbindung per WebService Allgemeine Java-Themen 4
S allgemeine Datenbankschnittstelle für Webservice Allgemeine Java-Themen 72
S Webservice --> wie ? Allgemeine Java-Themen 9
F KI / Machine Learning Parameter verschachtelte for Schleifen Allgemeine Java-Themen 2
F KI / Machine Learning Parameter verschachtelte for Schleifen Allgemeine Java-Themen 1
8u3631984 Funktions Parameter mit Lombok "NonNull" annotieren wird in Jacococ Testcoverage nicht herausgefiltert Allgemeine Java-Themen 3
JavaJüngling beliebige Collection die Comperable Elemente enthält als Parameter Allgemeine Java-Themen 37
M Datensatz auf ein bestimmten Parameter einzugrenzen Allgemeine Java-Themen 11
B JAX - RS.... Multiple parameter application/x-www-form-urlencoded.... Allgemeine Java-Themen 6
B Parameter Konstruktor plus rechnen Allgemeine Java-Themen 6
L Die abzuleitende Klasse als Parameter übergeben Allgemeine Java-Themen 4
W Haben Konstruktoren in Java eigentlich immer mindestens einen Parameter? Allgemeine Java-Themen 4
I Array Parameter mit 2 Klassen - NullPointerException Allgemeine Java-Themen 3
F URI mit Parameter klappt nicht Allgemeine Java-Themen 1
H Aufruf eines Web Service anhand übergebenen Parameter Allgemeine Java-Themen 2
temi best practice: Parameter überprüfen, wo? Allgemeine Java-Themen 9
S Parametrisierte jUnit 5-Tests mit eigenen Datentypen/Klassen-Objekten als Test-Parameter Allgemeine Java-Themen 0
MiMa If-Abfrage mit Parameter Allgemeine Java-Themen 8
I Javaaufruf aus Batch inkl. Parameter (Adminrechte) Allgemeine Java-Themen 2
P Java https proxy (-Dhttps.proxyHost) Start-Parameter funktioniert nicht? Allgemeine Java-Themen 2
Neumi5694 Methoden Generic: Rückgabetyp als Class-Parameter übergeben Allgemeine Java-Themen 3
K Java FX Zu startenden FXML-Controller per Parameter wählen Allgemeine Java-Themen 2
F Enum-werte als Methoden-Parameter übergeben Allgemeine Java-Themen 6
T Klassen Parameter weitergabe Allgemeine Java-Themen 1
C Überschreiben mit kontravariante Parameter Allgemeine Java-Themen 13
M Parameter auslesen im Servlet Allgemeine Java-Themen 0
perlenfischer1984 Wann ist ein Parameter Check sinnvoll Allgemeine Java-Themen 7
Neumi5694 Vererbung Parameter muss 2 Bedingungen erfüllen Allgemeine Java-Themen 2
Sogomn Methode als Parameter? Allgemeine Java-Themen 3
T Parameter Allgemeine Java-Themen 6
R Parameter Adapter - Design Allgemeine Java-Themen 1
I Methode verallgemeinern (Methode als Parameter)? Allgemeine Java-Themen 10
F In OSX: Java-Programm über URI-Scheme aufrufen mit Parameter? Allgemeine Java-Themen 0
H Generics als Parameter Allgemeine Java-Themen 1
N [stream-api] Parameter pro Typ zählen Allgemeine Java-Themen 1
OnDemand Maximale Parameter Allgemeine Java-Themen 5
M final vor dem parameter eines Konstruktors Allgemeine Java-Themen 1
S Servlet, per URLConnection Mit String Http Parameter mitsenden Allgemeine Java-Themen 3
M Parameter-Datei einlesen (zeilenweise); Dateiintegrität Allgemeine Java-Themen 7
H JasperReport: Parameter befüllen Allgemeine Java-Themen 7
Joew0815 JList + JTableModel: Parameter der Tabelle übergeben Allgemeine Java-Themen 10
Y Applet/Html - Wie Java-Methode aufrufen, die einen Parameter erwartet? Allgemeine Java-Themen 3
G Polymorphie Funktion als Parameter Allgemeine Java-Themen 8
G Methoden Unterschiedliche viele Parameter Allgemeine Java-Themen 17
F Parameter im Link /jar-Aufruf Allgemeine Java-Themen 12
S OOP Designrichtlinie Parameter Prüfung Allgemeine Java-Themen 7
C char und char-Array als parameter übergeben Allgemeine Java-Themen 6
B Array Parameter Problem Allgemeine Java-Themen 3
C Reflektions, Benutzer soll Konstruktor auswählen und Parameter übergeben können Allgemeine Java-Themen 5
S Keytool: mögliche Werte für Parameter Allgemeine Java-Themen 4
H Externes Programm, Parameter Allgemeine Java-Themen 6
M Session-Parameter setzen? Allgemeine Java-Themen 10
P VM-Parameter -D... Allgemeine Java-Themen 3
V Wildcard aus Parameter in return type Allgemeine Java-Themen 2
O Collections Eigene Methodenzusicherung bei Collections als Parameter Allgemeine Java-Themen 2
W ScriptEngine + Wie Parameter übergeben bei Fukntion? Allgemeine Java-Themen 2
A Reflection Konstruktor Parameter Supertyp Allgemeine Java-Themen 2
F Parameter für Java Applikation per xml ins Meta-inf speichern? Allgemeine Java-Themen 3
J BlueJ Methode hat zu viele Parameter Allgemeine Java-Themen 6
R VM-Error - BadWindow (invalid Window parameter) Allgemeine Java-Themen 4
J Parameter an Java übergeben Allgemeine Java-Themen 10
S Neue Instanz eines Objekts erzeugen - Konstruktor erhaelt Parameter. Allgemeine Java-Themen 5
P VM Parameter und .jar Allgemeine Java-Themen 3
L Parameter-Objekte verändern oder nicht? Allgemeine Java-Themen 6
J Parameter absichtlich für außen verändern Allgemeine Java-Themen 4
A wie kann man Parameter an ein Task übergeben? Allgemeine Java-Themen 3
Iron Monkey Singleton mit Parameter Allgemeine Java-Themen 14
G setter und getter: Parameter Überprüfung Allgemeine Java-Themen 6
G JVM Parameter Allgemeine Java-Themen 7
G Parameter Bedeutung Allgemeine Java-Themen 4
W Properties-Klasse: mehrere Parameter-Belegungen übergeben? Allgemeine Java-Themen 2
J Unicode: cmd parameter (main args); exec params; filenames Allgemeine Java-Themen 2
C US_export_policy.jar und local_policy.jar VM Parameter Allgemeine Java-Themen 1
J Casten ueber generischen Parameter? Allgemeine Java-Themen 5
T Parameter einer Klasse auf Interface prüfen Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben