Commit 14683884 by Patryk Czarnik

przykłady programów klient soap

parent a5f75d86
package sklep.klient; package sklep.klient;
import java.util.List; import sklep.generated.DBException_Exception;
import sklep.generated.Product;
import sklep.generated.Sklep;
import sklep.generated.SklepService;
import sklep.generated.*; import java.util.List;
public class Klient1 { public class Klient1_WszystkieProdukty {
public static void main(String[] args) { public static void main(String[] args) {
System.out.println("Początek programu");
SklepService service = new SklepService(); SklepService service = new SklepService();
// tworzymy "obiekt proxy", za pośrednictwem którego klient może wywoływać metody na serwerze
// ogólnie na takie rozwiązania mówi się "RPC - remote procedure call"
// na interfejs Sklep mówi się "service endpoint interface - SEI"
Sklep sklep = service.getSklepPort(); Sklep sklep = service.getSklepPort();
System.out.println("Klient gotowy do pracy");
try { try {
List<Product> products = sklep.readAllProducts(); List<Product> products = sklep.readAllProducts();
System.out.println("Odczytano " + products.size() + " produktów");
for(Product product : products) { for(Product product : products) {
System.out.println(product.getProductName() + " za cenę " + product.getPrice()); System.out.println(product.getProductName() + " za " + product.getPrice());
} }
} catch(DBException_Exception e) { } catch (DBException_Exception e) {
e.printStackTrace(); System.out.println("Błąd: " + e);
} }
System.out.println("Koniec programu");
} }
} }
package sklep.klient;
import java.util.Scanner;
import sklep.generated.DBException_Exception;
import sklep.generated.Product;
import sklep.generated.RecordNotFound_Exception;
import sklep.generated.Sklep;
import sklep.generated.SklepService;
public class Klient2_OdczytajJedenProdukt {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
SklepService service = new SklepService();
Sklep sklep = service.getSklepPort();
while(true) {
System.out.println("Podaj ID produktu lub 0, aby zakończyć");
int id = scanner.nextInt();
if(id == 0) break;
try {
Product product = sklep.readOneProduct(id);
System.out.println("Znaleziono produkt: " + product.getProductName() + " za cenę " + product.getPrice());
if(product.getDescription() != null) {
System.out.println("Opis: " + product.getDescription());
}
} catch (RecordNotFound_Exception e) {
System.out.println("Nie ma takiego rekordu");
} catch (DBException_Exception e) {
System.out.println("Inny błąd: " + e);
e.printStackTrace();
}
}
}
}
package sklep.klient;
import java.math.BigDecimal;
import java.util.Locale;
import java.util.Scanner;
import sklep.generated.DBException_Exception;
import sklep.generated.Product;
import sklep.generated.RecordNotFound_Exception;
import sklep.generated.Sklep;
import sklep.generated.SklepService;
public class Klient3_EdycjaDanych {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
scanner.useLocale(Locale.US);
SklepService service = new SklepService();
Sklep sklep = service.getSklepPort();
while(true) {
System.out.println("Podaj ID produktu lub 0, aby zakończyć");
int id = scanner.nextInt();
if(id == 0) break;
try {
Product product = sklep.readOneProduct(id);
System.out.println("Znaleziono produkt: " + product.getProductName() + " za cenę " + product.getPrice());
if(product.getDescription() != null) {
System.out.println("Opis: " + product.getDescription());
}
boolean czyCosSieZmienilo = false;
System.out.println("Podaj zmianę ceny: ");
BigDecimal zmiana = scanner.nextBigDecimal();
if(zmiana.compareTo(BigDecimal.ZERO) != 0) {
product.setPrice(product.getPrice().add(zmiana));
czyCosSieZmienilo = true;
}
scanner.nextLine();
System.out.println("Podaj nową nazwę (enter, aby nie zmieniać): ");
String nazwa = scanner.nextLine();
if(!nazwa.isEmpty()) {
product.setProductName(nazwa);
czyCosSieZmienilo = true;
}
System.out.println("Podaj nowy opis (enter, aby nie zmieniać): ");
String opis = scanner.nextLine();
if(!opis.isEmpty()) {
product.setDescription(opis);
czyCosSieZmienilo = true;
}
if(czyCosSieZmienilo) {
sklep.saveProduct(product);
System.out.println("Zapisano zmiany.");
}
System.out.println();
} catch (RecordNotFound_Exception e) {
System.out.println("Nie ma takiego rekordu");
} catch (DBException_Exception e) {
System.out.println("Inny błąd: " + e);
e.printStackTrace();
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment