Commit 4ad455de by Patryk Czarnik

Wygenerowanie klas szkieletowych na podstawie WSDL (wsconsume)

parent 1bc9935f
W tym projekcie wczuwamy się w taką sytuację:
- jakaś firma / instytucja utworzyła usługę SOAP i ona sobie gdzieś działa
- serwer może być w dowolnej technologii (Java, C#/.NET [←te są najczęściej używane], C++, PHP, Python...)
- mamy dostęp do WSDL i ewentualnie jakąś dokumenację
Wtedy:
- generujemy źródła klas na podstawie WSDL
- powstaje zestaw klas odpowiadający modelowi danych + interfejs usługi (tzw. SEI, tutaj Sklep) + klasa dostępowa dla klienta (tutaj SklepService)
Są różne sposoby, aby te klasy wygenerować. Generowanie w IDE (IntelliJ, Eclipse, NetBeans) jest dostępne, ale wymaga dodatkowej konfiguracji.
My użyliśmy wiersza poleceń i skryptu wchodzącego w skład serwera JBoss / WildFly.
wersja Linux:
/opt/java/wildfly-35.0.1.Final/bin/wsconsume.sh -k -n -s src/main/java -p sklep.generated "http://localhost:8080/PC24-SklepSoap/Sklep?wsdl"
wersja Windows - przykładowo:
C:\Tools\wildfly-35.0.1.Final\bin\wsconsume.bat -k -n -s src\main\java -p sklep.generated "http://localhost:8080/PC25-SoapSerwer/Sklep?wsdl"
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>pl.alx.kjava</groupId>
<artifactId>PC25-KlientSoap</artifactId>
<version>1.0</version>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>pl.alx.kjava</groupId>
<artifactId>PC25-KlientSoap</artifactId>
<version>1.0</version>
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>4.0.3</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package sklep.generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for DBException complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="DBException">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="message" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "DBException", propOrder = {
"message"
})
public class DBException {
protected String message;
/**
* Gets the value of the message property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getMessage() {
return message;
}
/**
* Sets the value of the message property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setMessage(String value) {
this.message = value;
}
}
package sklep.generated;
import jakarta.xml.ws.WebFault;
/**
* This class was generated by Apache CXF 4.0.6
* 2025-05-10T16:48:10.040+02:00
* Generated source version: 4.0.6
*/
@WebFault(name = "DBException", targetNamespace = "http://soap.sklep/")
public class DBException_Exception extends Exception {
private sklep.generated.DBException faultInfo;
public DBException_Exception() {
super();
}
public DBException_Exception(String message) {
super(message);
}
public DBException_Exception(String message, java.lang.Throwable cause) {
super(message, cause);
}
public DBException_Exception(String message, sklep.generated.DBException dbException) {
super(message);
this.faultInfo = dbException;
}
public DBException_Exception(String message, sklep.generated.DBException dbException, java.lang.Throwable cause) {
super(message, cause);
this.faultInfo = dbException;
}
public sklep.generated.DBException getFaultInfo() {
return this.faultInfo;
}
}
package sklep.generated;
import java.util.ArrayList;
import java.util.List;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for order complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="order">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="customer-email" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* <element name="order-date" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* <element name="products" minOccurs="0">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="product" type="{http://soap.sklep/}orderProduct" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* </sequence>
* <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}int" />
* <attribute name="status" type="{http://soap.sklep/}status" />
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "order", propOrder = {
"customerEmail",
"orderDate",
"products"
})
public class Order {
@XmlElement(name = "customer-email")
protected String customerEmail;
@XmlElement(name = "order-date")
protected String orderDate;
protected Order.Products products;
@XmlAttribute(name = "id")
protected Integer id;
@XmlAttribute(name = "status")
protected Status status;
/**
* Gets the value of the customerEmail property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCustomerEmail() {
return customerEmail;
}
/**
* Sets the value of the customerEmail property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCustomerEmail(String value) {
this.customerEmail = value;
}
/**
* Gets the value of the orderDate property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getOrderDate() {
return orderDate;
}
/**
* Sets the value of the orderDate property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setOrderDate(String value) {
this.orderDate = value;
}
/**
* Gets the value of the products property.
*
* @return
* possible object is
* {@link Order.Products }
*
*/
public Order.Products getProducts() {
return products;
}
/**
* Sets the value of the products property.
*
* @param value
* allowed object is
* {@link Order.Products }
*
*/
public void setProducts(Order.Products value) {
this.products = value;
}
/**
* Gets the value of the id property.
*
* @return
* possible object is
* {@link Integer }
*
*/
public Integer getId() {
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is
* {@link Integer }
*
*/
public void setId(Integer value) {
this.id = value;
}
/**
* Gets the value of the status property.
*
* @return
* possible object is
* {@link Status }
*
*/
public Status getStatus() {
return status;
}
/**
* Sets the value of the status property.
*
* @param value
* allowed object is
* {@link Status }
*
*/
public void setStatus(Status value) {
this.status = value;
}
/**
* <p>Java class for anonymous complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="product" type="{http://soap.sklep/}orderProduct" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"product"
})
public static class Products {
protected List<OrderProduct> product;
/**
* Gets the value of the product property.
*
* <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the product property.</p>
*
* <p>
* For example, to add a new item, do as follows:
* </p>
* <pre>
* getProduct().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link OrderProduct }
* </p>
*
*
* @return
* The value of the product property.
*/
public List<OrderProduct> getProduct() {
if (product == null) {
product = new ArrayList<>();
}
return this.product;
}
}
}
package sklep.generated;
import java.math.BigDecimal;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for orderProduct complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="orderProduct">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="quantity" type="{http://www.w3.org/2001/XMLSchema}int"/>
* <element name="price" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
* </sequence>
* <attribute name="order-id" type="{http://www.w3.org/2001/XMLSchema}int" />
* <attribute name="product-id" type="{http://www.w3.org/2001/XMLSchema}int" />
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "orderProduct", propOrder = {
"quantity",
"price"
})
public class OrderProduct {
protected int quantity;
protected BigDecimal price;
@XmlAttribute(name = "order-id")
protected Integer orderId;
@XmlAttribute(name = "product-id")
protected Integer productId;
/**
* Gets the value of the quantity property.
*
*/
public int getQuantity() {
return quantity;
}
/**
* Sets the value of the quantity property.
*
*/
public void setQuantity(int value) {
this.quantity = value;
}
/**
* Gets the value of the price property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getPrice() {
return price;
}
/**
* Sets the value of the price property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setPrice(BigDecimal value) {
this.price = value;
}
/**
* Gets the value of the orderId property.
*
* @return
* possible object is
* {@link Integer }
*
*/
public Integer getOrderId() {
return orderId;
}
/**
* Sets the value of the orderId property.
*
* @param value
* allowed object is
* {@link Integer }
*
*/
public void setOrderId(Integer value) {
this.orderId = value;
}
/**
* Gets the value of the productId property.
*
* @return
* possible object is
* {@link Integer }
*
*/
public Integer getProductId() {
return productId;
}
/**
* Sets the value of the productId property.
*
* @param value
* allowed object is
* {@link Integer }
*
*/
public void setProductId(Integer value) {
this.productId = value;
}
}
package sklep.generated;
import java.math.BigDecimal;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for product complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="product">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="product-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* <element name="price" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
* <element name="vat" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
* <element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* </sequence>
* <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}int" />
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "product", propOrder = {
"productName",
"price",
"vat",
"description"
})
public class Product {
@XmlElement(name = "product-name")
protected String productName;
protected BigDecimal price;
protected BigDecimal vat;
protected String description;
@XmlAttribute(name = "id")
protected Integer id;
/**
* Gets the value of the productName property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getProductName() {
return productName;
}
/**
* Sets the value of the productName property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setProductName(String value) {
this.productName = value;
}
/**
* Gets the value of the price property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getPrice() {
return price;
}
/**
* Sets the value of the price property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setPrice(BigDecimal value) {
this.price = value;
}
/**
* Gets the value of the vat property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getVat() {
return vat;
}
/**
* Sets the value of the vat property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setVat(BigDecimal value) {
this.vat = value;
}
/**
* Gets the value of the description property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getDescription() {
return description;
}
/**
* Sets the value of the description property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setDescription(String value) {
this.description = value;
}
/**
* Gets the value of the id property.
*
* @return
* possible object is
* {@link Integer }
*
*/
public Integer getId() {
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is
* {@link Integer }
*
*/
public void setId(Integer value) {
this.id = value;
}
}
package sklep.generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for readAllProducts complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="readAllProducts">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "readAllProducts")
public class ReadAllProducts {
}
package sklep.generated;
import java.util.ArrayList;
import java.util.List;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for readAllProductsResponse complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="readAllProductsResponse">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="product" type="{http://soap.sklep/}product" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "readAllProductsResponse", propOrder = {
"product"
})
public class ReadAllProductsResponse {
protected List<Product> product;
/**
* Gets the value of the product property.
*
* <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the product property.</p>
*
* <p>
* For example, to add a new item, do as follows:
* </p>
* <pre>
* getProduct().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link Product }
* </p>
*
*
* @return
* The value of the product property.
*/
public List<Product> getProduct() {
if (product == null) {
product = new ArrayList<>();
}
return this.product;
}
}
package sklep.generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for readCustomerOrders complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="readCustomerOrders">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="customer-email" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "readCustomerOrders", propOrder = {
"customerEmail"
})
public class ReadCustomerOrders {
@XmlElement(name = "customer-email")
protected String customerEmail;
/**
* Gets the value of the customerEmail property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCustomerEmail() {
return customerEmail;
}
/**
* Sets the value of the customerEmail property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCustomerEmail(String value) {
this.customerEmail = value;
}
}
package sklep.generated;
import java.util.ArrayList;
import java.util.List;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for readCustomerOrdersResponse complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="readCustomerOrdersResponse">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="order" type="{http://soap.sklep/}order" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "readCustomerOrdersResponse", propOrder = {
"order"
})
public class ReadCustomerOrdersResponse {
protected List<Order> order;
/**
* Gets the value of the order property.
*
* <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the order property.</p>
*
* <p>
* For example, to add a new item, do as follows:
* </p>
* <pre>
* getOrder().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link Order }
* </p>
*
*
* @return
* The value of the order property.
*/
public List<Order> getOrder() {
if (order == null) {
order = new ArrayList<>();
}
return this.order;
}
}
package sklep.generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for readOneOrder complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="readOneOrder">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="id" type="{http://www.w3.org/2001/XMLSchema}int"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "readOneOrder", propOrder = {
"id"
})
public class ReadOneOrder {
protected int id;
/**
* Gets the value of the id property.
*
*/
public int getId() {
return id;
}
/**
* Sets the value of the id property.
*
*/
public void setId(int value) {
this.id = value;
}
}
package sklep.generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for readOneOrderResponse complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="readOneOrderResponse">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="order" type="{http://soap.sklep/}order" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "readOneOrderResponse", propOrder = {
"order"
})
public class ReadOneOrderResponse {
protected Order order;
/**
* Gets the value of the order property.
*
* @return
* possible object is
* {@link Order }
*
*/
public Order getOrder() {
return order;
}
/**
* Sets the value of the order property.
*
* @param value
* allowed object is
* {@link Order }
*
*/
public void setOrder(Order value) {
this.order = value;
}
}
package sklep.generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for readOneProduct complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="readOneProduct">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="id" type="{http://www.w3.org/2001/XMLSchema}int"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "readOneProduct", propOrder = {
"id"
})
public class ReadOneProduct {
protected int id;
/**
* Gets the value of the id property.
*
*/
public int getId() {
return id;
}
/**
* Sets the value of the id property.
*
*/
public void setId(int value) {
this.id = value;
}
}
package sklep.generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for readOneProductResponse complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="readOneProductResponse">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="product" type="{http://soap.sklep/}product" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "readOneProductResponse", propOrder = {
"product"
})
public class ReadOneProductResponse {
protected Product product;
/**
* Gets the value of the product property.
*
* @return
* possible object is
* {@link Product }
*
*/
public Product getProduct() {
return product;
}
/**
* Sets the value of the product property.
*
* @param value
* allowed object is
* {@link Product }
*
*/
public void setProduct(Product value) {
this.product = value;
}
}
package sklep.generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for readPhoto complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="readPhoto">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="id" type="{http://www.w3.org/2001/XMLSchema}int"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "readPhoto", propOrder = {
"id"
})
public class ReadPhoto {
protected int id;
/**
* Gets the value of the id property.
*
*/
public int getId() {
return id;
}
/**
* Sets the value of the id property.
*
*/
public void setId(int value) {
this.id = value;
}
}
package sklep.generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for readPhotoResponse complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="readPhotoResponse">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="bytes" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "readPhotoResponse", propOrder = {
"bytes"
})
public class ReadPhotoResponse {
protected byte[] bytes;
/**
* Gets the value of the bytes property.
*
* @return
* possible object is
* byte[]
*/
public byte[] getBytes() {
return bytes;
}
/**
* Sets the value of the bytes property.
*
* @param value
* allowed object is
* byte[]
*/
public void setBytes(byte[] value) {
this.bytes = value;
}
}
package sklep.generated;
import java.math.BigDecimal;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for readProductsByPrice complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="readProductsByPrice">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="min" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
* <element name="max" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "readProductsByPrice", propOrder = {
"min",
"max"
})
public class ReadProductsByPrice {
protected BigDecimal min;
protected BigDecimal max;
/**
* Gets the value of the min property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getMin() {
return min;
}
/**
* Sets the value of the min property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setMin(BigDecimal value) {
this.min = value;
}
/**
* Gets the value of the max property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getMax() {
return max;
}
/**
* Sets the value of the max property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setMax(BigDecimal value) {
this.max = value;
}
}
package sklep.generated;
import java.util.ArrayList;
import java.util.List;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for readProductsByPriceResponse complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="readProductsByPriceResponse">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="product" type="{http://soap.sklep/}product" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "readProductsByPriceResponse", propOrder = {
"product"
})
public class ReadProductsByPriceResponse {
protected List<Product> product;
/**
* Gets the value of the product property.
*
* <p>This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the product property.</p>
*
* <p>
* For example, to add a new item, do as follows:
* </p>
* <pre>
* getProduct().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link Product }
* </p>
*
*
* @return
* The value of the product property.
*/
public List<Product> getProduct() {
if (product == null) {
product = new ArrayList<>();
}
return this.product;
}
}
package sklep.generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for RecordNotFound complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="RecordNotFound">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="message" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "RecordNotFound", propOrder = {
"message"
})
public class RecordNotFound {
protected String message;
/**
* Gets the value of the message property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getMessage() {
return message;
}
/**
* Sets the value of the message property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setMessage(String value) {
this.message = value;
}
}
package sklep.generated;
import jakarta.xml.ws.WebFault;
/**
* This class was generated by Apache CXF 4.0.6
* 2025-05-10T16:48:09.949+02:00
* Generated source version: 4.0.6
*/
@WebFault(name = "RecordNotFound", targetNamespace = "http://soap.sklep/")
public class RecordNotFound_Exception extends Exception {
private sklep.generated.RecordNotFound faultInfo;
public RecordNotFound_Exception() {
super();
}
public RecordNotFound_Exception(String message) {
super(message);
}
public RecordNotFound_Exception(String message, java.lang.Throwable cause) {
super(message, cause);
}
public RecordNotFound_Exception(String message, sklep.generated.RecordNotFound recordNotFound) {
super(message);
this.faultInfo = recordNotFound;
}
public RecordNotFound_Exception(String message, sklep.generated.RecordNotFound recordNotFound, java.lang.Throwable cause) {
super(message, cause);
this.faultInfo = recordNotFound;
}
public sklep.generated.RecordNotFound getFaultInfo() {
return this.faultInfo;
}
}
package sklep.generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for savePhoto complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="savePhoto">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="id" type="{http://www.w3.org/2001/XMLSchema}int"/>
* <element name="bytes" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "savePhoto", propOrder = {
"id",
"bytes"
})
public class SavePhoto {
protected int id;
protected byte[] bytes;
/**
* Gets the value of the id property.
*
*/
public int getId() {
return id;
}
/**
* Sets the value of the id property.
*
*/
public void setId(int value) {
this.id = value;
}
/**
* Gets the value of the bytes property.
*
* @return
* possible object is
* byte[]
*/
public byte[] getBytes() {
return bytes;
}
/**
* Sets the value of the bytes property.
*
* @param value
* allowed object is
* byte[]
*/
public void setBytes(byte[] value) {
this.bytes = value;
}
}
package sklep.generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for savePhotoResponse complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="savePhotoResponse">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "savePhotoResponse")
public class SavePhotoResponse {
}
package sklep.generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for saveProduct complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="saveProduct">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="product" type="{http://soap.sklep/}product" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "saveProduct", propOrder = {
"product"
})
public class SaveProduct {
protected Product product;
/**
* Gets the value of the product property.
*
* @return
* possible object is
* {@link Product }
*
*/
public Product getProduct() {
return product;
}
/**
* Sets the value of the product property.
*
* @param value
* allowed object is
* {@link Product }
*
*/
public void setProduct(Product value) {
this.product = value;
}
}
package sklep.generated;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
/**
* <p>Java class for saveProductResponse complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="saveProductResponse">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "saveProductResponse")
public class SaveProductResponse {
}
package sklep.generated;
import jakarta.jws.WebMethod;
import jakarta.jws.WebParam;
import jakarta.jws.WebResult;
import jakarta.jws.WebService;
import jakarta.xml.bind.annotation.XmlSeeAlso;
import jakarta.xml.ws.RequestWrapper;
import jakarta.xml.ws.ResponseWrapper;
/**
* This class was generated by Apache CXF 4.0.6
* 2025-05-10T16:48:10.059+02:00
* Generated source version: 4.0.6
*
*/
@WebService(targetNamespace = "http://soap.sklep/", name = "Sklep")
@XmlSeeAlso({ObjectFactory.class})
public interface Sklep {
@WebMethod
@RequestWrapper(localName = "readOneProduct", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadOneProduct")
@ResponseWrapper(localName = "readOneProductResponse", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadOneProductResponse")
@WebResult(name = "product", targetNamespace = "")
public sklep.generated.Product readOneProduct(
@WebParam(name = "id", targetNamespace = "")
int id
) throws RecordNotFound_Exception, DBException_Exception;
@WebMethod
@RequestWrapper(localName = "readCustomerOrders", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadCustomerOrders")
@ResponseWrapper(localName = "readCustomerOrdersResponse", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadCustomerOrdersResponse")
@WebResult(name = "order", targetNamespace = "")
public java.util.List<sklep.generated.Order> readCustomerOrders(
@WebParam(name = "customer-email", targetNamespace = "")
java.lang.String customerEmail
) throws DBException_Exception;
@WebMethod
@RequestWrapper(localName = "savePhoto", targetNamespace = "http://soap.sklep/", className = "sklep.generated.SavePhoto")
@ResponseWrapper(localName = "savePhotoResponse", targetNamespace = "http://soap.sklep/", className = "sklep.generated.SavePhotoResponse")
public void savePhoto(
@WebParam(name = "id", targetNamespace = "")
int id,
@WebParam(name = "bytes", targetNamespace = "")
byte[] bytes
) throws DBException_Exception;
@WebMethod
@RequestWrapper(localName = "readPhoto", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadPhoto")
@ResponseWrapper(localName = "readPhotoResponse", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadPhotoResponse")
@WebResult(name = "bytes", targetNamespace = "")
public byte[] readPhoto(
@WebParam(name = "id", targetNamespace = "")
int id
) throws RecordNotFound_Exception, DBException_Exception;
@WebMethod
@RequestWrapper(localName = "readProductsByPrice", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadProductsByPrice")
@ResponseWrapper(localName = "readProductsByPriceResponse", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadProductsByPriceResponse")
@WebResult(name = "product", targetNamespace = "")
public java.util.List<sklep.generated.Product> readProductsByPrice(
@WebParam(name = "min", targetNamespace = "")
java.math.BigDecimal min,
@WebParam(name = "max", targetNamespace = "")
java.math.BigDecimal max
) throws DBException_Exception;
@WebMethod
@RequestWrapper(localName = "readAllProducts", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadAllProducts")
@ResponseWrapper(localName = "readAllProductsResponse", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadAllProductsResponse")
@WebResult(name = "product", targetNamespace = "")
public java.util.List<sklep.generated.Product> readAllProducts()
throws DBException_Exception;
@WebMethod
@RequestWrapper(localName = "saveProduct", targetNamespace = "http://soap.sklep/", className = "sklep.generated.SaveProduct")
@ResponseWrapper(localName = "saveProductResponse", targetNamespace = "http://soap.sklep/", className = "sklep.generated.SaveProductResponse")
public void saveProduct(
@WebParam(name = "product", targetNamespace = "")
sklep.generated.Product product
) throws DBException_Exception;
@WebMethod
@RequestWrapper(localName = "readOneOrder", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadOneOrder")
@ResponseWrapper(localName = "readOneOrderResponse", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadOneOrderResponse")
@WebResult(name = "order", targetNamespace = "")
public sklep.generated.Order readOneOrder(
@WebParam(name = "id", targetNamespace = "")
int id
) throws RecordNotFound_Exception, DBException_Exception;
}
package sklep.generated;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import javax.xml.namespace.QName;
import jakarta.xml.ws.WebEndpoint;
import jakarta.xml.ws.WebServiceClient;
import jakarta.xml.ws.WebServiceFeature;
import jakarta.xml.ws.Service;
/**
* This class was generated by Apache CXF 4.0.6
* 2025-05-10T16:48:10.098+02:00
* Generated source version: 4.0.6
*
*/
@WebServiceClient(name = "SklepService",
wsdlLocation = "http://localhost:8080/PC24-SklepSoap/Sklep?wsdl",
targetNamespace = "http://soap.sklep/")
public class SklepService extends Service {
public static final URL WSDL_LOCATION;
public static final QName SERVICE = new QName("http://soap.sklep/", "SklepService");
public static final QName SklepPort = new QName("http://soap.sklep/", "SklepPort");
static {
URL url = null;
try {
url = URI.create("http://localhost:8080/PC24-SklepSoap/Sklep?wsdl").toURL();
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(SklepService.class.getName())
.log(java.util.logging.Level.INFO,
"Can not initialize the default wsdl from {0}", "http://localhost:8080/PC24-SklepSoap/Sklep?wsdl");
}
WSDL_LOCATION = url;
}
public SklepService(URL wsdlLocation) {
super(wsdlLocation, SERVICE);
}
public SklepService(URL wsdlLocation, QName serviceName) {
super(wsdlLocation, serviceName);
}
public SklepService() {
super(WSDL_LOCATION, SERVICE);
}
public SklepService(WebServiceFeature ... features) {
super(WSDL_LOCATION, SERVICE, features);
}
public SklepService(URL wsdlLocation, WebServiceFeature ... features) {
super(wsdlLocation, SERVICE, features);
}
public SklepService(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) {
super(wsdlLocation, serviceName, features);
}
/**
*
* @return
* returns Sklep
*/
@WebEndpoint(name = "SklepPort")
public Sklep getSklepPort() {
return super.getPort(SklepPort, Sklep.class);
}
/**
*
* @param features
* A list of {@link jakarta.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
* @return
* returns Sklep
*/
@WebEndpoint(name = "SklepPort")
public Sklep getSklepPort(WebServiceFeature... features) {
return super.getPort(SklepPort, Sklep.class, features);
}
}
package sklep.generated;
import jakarta.xml.bind.annotation.XmlEnum;
import jakarta.xml.bind.annotation.XmlType;
/**
*
*
* <p>Java class for status</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
* <pre>{@code
* <simpleType name="status">
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
* <enumeration value="NEW"/>
* <enumeration value="CONFIRMED"/>
* <enumeration value="PAID"/>
* <enumeration value="SHIPPED"/>
* <enumeration value="CLOSED"/>
* <enumeration value="RETURNED"/>
* </restriction>
* </simpleType>
* }</pre>
*
*/
@XmlType(name = "status")
@XmlEnum
public enum Status {
NEW,
CONFIRMED,
PAID,
SHIPPED,
CLOSED,
RETURNED;
public String value() {
return name();
}
public static Status fromValue(String v) {
return valueOf(v);
}
}
@jakarta.xml.bind.annotation.XmlSchema(namespace = "http://soap.sklep/")
package sklep.generated;
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