Hallo,
ich bin noch relativ neu was Web Services und Java angeht und bräuchte Hilfe, weil ich nicht weiter komme.
Ich habe bisher einen Web Service erstellt der mir folgende Daten zurückliefert:
• Bestellnummer (String 6),
• Artikelbezeichnung (String 20),
• Bestellvolumen (Double 8.2),
• KundenNummer (Integer 4)
Einträge für KundenNummer sind limitiert auf: 4711 bis 4719
Beim Aufruf werden die Datensätze erstellt über eine HashMap.
Ich habe folgende Klassen:
Klasse Bestellung:
Klasse BestellungServiceimpl:
Klasse Bestellung:
Und folgenden Client:
Jetzt soll die Aufgabe aber erweitert werden.
Unter der URL http://i83lp1.informatik.tu-muenchen.de:50000/DEVA000_cusBService/DEVA000_cusB?wsdl
ist eine WSDL-Beschreibung für den Web Service CustomerService, der Kundendaten verwaltet und
dazu folgende Services anbietet:
• createCustomer: Einfügen eines Kundenstammsatzes
• getCustomer: Lesen eines Kundenstammsatzes unter Vorgabe der Kundennummer
• updateCustomer: Modifizieren eines Kundenstammsatzes
• getAllCustomers: Liste aller Kundenstammsätze
Aufbau des einzelnen Datensatzes „Kunde“
• ID: Kundennummer (Integer 4),
• Name (String 20),
• city: Stadt
• orderVol: Bestellvolumen (Double 8.2),
• BLZ (String 8)
Exisistieren Kundennummern 4711 bis 4719.
Das Client-Programm von oben soll erweitert werden, so dass ausgehend von der Vorgabe einer
Bestellnummer die Kundennummer des Bestellers geliefert und mit Hilfe des neuen Web Services sodann das
Datenfeld BLZ des Kunden ermittelt und ausgeben wird.
Ich habe leider keinen Ansatz wie ich das bewerkstelligen soll.
Bitte um Hilfe.
Danke für eure Zeit im Voraus.
ich bin noch relativ neu was Web Services und Java angeht und bräuchte Hilfe, weil ich nicht weiter komme.
Ich habe bisher einen Web Service erstellt der mir folgende Daten zurückliefert:
• Bestellnummer (String 6),
• Artikelbezeichnung (String 20),
• Bestellvolumen (Double 8.2),
• KundenNummer (Integer 4)
Einträge für KundenNummer sind limitiert auf: 4711 bis 4719
Beim Aufruf werden die Datensätze erstellt über eine HashMap.
Ich habe folgende Klassen:
Klasse Bestellung:
Java:
package web.service;
public class Bestellung {
private String bestellnummer;
private String artikelbezeichnung;
private double bestellvolumen;
private int kundennummer;
public Bestellung(String artikelb, double bestellv,
int kundennr) {
setArtikelbezeichnung(artikelb);
setBestellvolumen(bestellv);
setKundennummer(kundennr);
}
public String getBestellnummer() {
return bestellnummer;
}
public void setBestellnummer(String bestelln) {
bestellnummer = bestelln;
}
public String getArtikelbezeichnung() {
return artikelbezeichnung;
}
public void setArtikelbezeichnung(String artikelb) {
artikelbezeichnung = artikelb;
}
public double getBestellvolumen() {
return bestellvolumen;
}
public void setBestellvolumen(double bestellv) {
bestellvolumen = bestellv;
}
public int getKundennummer() {
return kundennummer;
}
public void setKundennummer(int kunden) {
kundennummer = kunden;
}
}
Java:
package web.service;
import java.util.*;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService(targetNamespace = "http://service.web/", endpointInterface = "web.service.BestellungService", portName = "BestellungServiceimplPort", serviceName = "BestellungServiceimplService")
public class BestellungServiceimpl implements BestellungService {
@Override
@WebMethod
public Bestellung getBestellungen(String bestelln) {
HashMap<String, Bestellung> bestellungen = new HashMap<String, Bestellung>();
bestellungen.put("123000", new Bestellung("Wasser", 100.0,4711));
bestellungen.put("124000", new Bestellung("Fanta", 100.0,4712));
bestellungen.put("125000", new Bestellung("Cola", 100.0,4713));
bestellungen.put("126000", new Bestellung("Sprite", 100.0,4714));
bestellungen.put("127000", new Bestellung("Spezi", 100.0,4715));
bestellungen.put("128000", new Bestellung("Limo", 100.0,4716));
bestellungen.put("129000", new Bestellung("Kaffee", 100.0,4717));
bestellungen.put("130000", new Bestellung("Bier", 100.0,4718));
bestellungen.put("131000", new Bestellung("Tee", 100.0,4719));
Set<String> mySet = bestellungen.keySet();
Iterator<String> i = mySet.iterator();
while(i.hasNext()){
String x = (String) i.next();
if (x.equals(bestelln)){
return bestellungen.get(x);
}
}
return null;
}
}
Java:
package web.service;
import javax.jws.*;
@WebService
public interface BestellungService {
@WebMethod
public Bestellung getBestellungen(String bestelln);
}
Java:
package client;
import web.service.*;
import web.service.BestellungServiceimplService;
public class Client {
public static void main(String[] args){
BestellungServiceimplService a = new BestellungServiceimplService();
BestellungService b = a.getBestellungServiceimplPort();
Bestellung c = new Bestellung();
c = b.getBestellungen("123000");
System.out.println(c.getArtikelbezeichnung());
System.out.println(c.getBestellnummer());
System.out.println(c.getBestellvolumen());
System.out.println(c.getKundennummer());
}
}
Unter der URL http://i83lp1.informatik.tu-muenchen.de:50000/DEVA000_cusBService/DEVA000_cusB?wsdl
ist eine WSDL-Beschreibung für den Web Service CustomerService, der Kundendaten verwaltet und
dazu folgende Services anbietet:
• createCustomer: Einfügen eines Kundenstammsatzes
• getCustomer: Lesen eines Kundenstammsatzes unter Vorgabe der Kundennummer
• updateCustomer: Modifizieren eines Kundenstammsatzes
• getAllCustomers: Liste aller Kundenstammsätze
Aufbau des einzelnen Datensatzes „Kunde“
• ID: Kundennummer (Integer 4),
• Name (String 20),
• city: Stadt
• orderVol: Bestellvolumen (Double 8.2),
• BLZ (String 8)
Exisistieren Kundennummern 4711 bis 4719.
Das Client-Programm von oben soll erweitert werden, so dass ausgehend von der Vorgabe einer
Bestellnummer die Kundennummer des Bestellers geliefert und mit Hilfe des neuen Web Services sodann das
Datenfeld BLZ des Kunden ermittelt und ausgeben wird.
Ich habe leider keinen Ansatz wie ich das bewerkstelligen soll.
Bitte um Hilfe.
Danke für eure Zeit im Voraus.
Zuletzt bearbeitet von einem Moderator: