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.0
 * 2023-11-08T12:24:19.733+01:00
 * Generated source version: 4.0.0
 *
 */
@WebService(targetNamespace = "http://soap.sklep/", name = "Sklep")
@XmlSeeAlso({ObjectFactory.class})
public interface Sklep {

    @WebMethod
    @RequestWrapper(localName = "oneCustomer", targetNamespace = "http://soap.sklep/", className = "sklep.generated.OneCustomer")
    @ResponseWrapper(localName = "oneCustomerResponse", targetNamespace = "http://soap.sklep/", className = "sklep.generated.OneCustomerResponse")
    @WebResult(name = "customer", targetNamespace = "")
    public sklep.generated.Customer oneCustomer(

        @WebParam(name = "email", targetNamespace = "")
        java.lang.String email
    ) throws RecordNotFound_Exception, DBException_Exception;

    @WebMethod
    @RequestWrapper(localName = "getPhoto", targetNamespace = "http://soap.sklep/", className = "sklep.generated.GetPhoto")
    @ResponseWrapper(localName = "getPhotoResponse", targetNamespace = "http://soap.sklep/", className = "sklep.generated.GetPhotoResponse")
    @WebResult(name = "bytes", targetNamespace = "")
    public byte[] getPhoto(

        @WebParam(name = "id", targetNamespace = "")
        int id
    ) throws RecordNotFound_Exception, DBException_Exception;

    @WebMethod
    @RequestWrapper(localName = "readOne", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadOne")
    @ResponseWrapper(localName = "readOneResponse", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadOneResponse")
    @WebResult(name = "product", targetNamespace = "")
    public sklep.generated.Product readOne(

        @WebParam(name = "id", targetNamespace = "")
        int id
    ) throws RecordNotFound_Exception, 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
    );

    @WebMethod
    @RequestWrapper(localName = "readAll", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadAll")
    @ResponseWrapper(localName = "readAllResponse", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadAllResponse")
    @WebResult(name = "product", targetNamespace = "")
    public java.util.List<sklep.generated.Product> readAll()
 throws DBException_Exception;

    @WebMethod
    @RequestWrapper(localName = "oneOrder", targetNamespace = "http://soap.sklep/", className = "sklep.generated.OneOrder")
    @ResponseWrapper(localName = "oneOrderResponse", targetNamespace = "http://soap.sklep/", className = "sklep.generated.OneOrderResponse")
    @WebResult(name = "order", targetNamespace = "")
    public sklep.generated.Order oneOrder(

        @WebParam(name = "id", targetNamespace = "")
        int id
    ) throws RecordNotFound_Exception, 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 = "readByPrice", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadByPrice")
    @ResponseWrapper(localName = "readByPriceResponse", targetNamespace = "http://soap.sklep/", className = "sklep.generated.ReadByPriceResponse")
    @WebResult(name = "product", targetNamespace = "")
    public java.util.List<sklep.generated.Product> readByPrice(

        @WebParam(name = "min", targetNamespace = "")
        java.math.BigDecimal min,
        @WebParam(name = "max", targetNamespace = "")
        java.math.BigDecimal max
    ) throws DBException_Exception;
}
