Commit 48fbe326 by Patryk Czarnik

Klient7_Dispatch_JAXB

parent 4cba7706
...@@ -4,6 +4,7 @@ package ogloszenia.generated; ...@@ -4,6 +4,7 @@ package ogloszenia.generated;
import java.math.BigDecimal; import java.math.BigDecimal;
import jakarta.xml.bind.annotation.XmlAccessType; import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType; import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlType; import jakarta.xml.bind.annotation.XmlType;
...@@ -27,6 +28,7 @@ import jakarta.xml.bind.annotation.XmlType; ...@@ -27,6 +28,7 @@ import jakarta.xml.bind.annotation.XmlType;
* *
* *
*/ */
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "readByPrice", propOrder = { @XmlType(name = "readByPrice", propOrder = {
"min", "min",
......
package ogloszenia.klient_niskopoziomowy;
import jakarta.xml.bind.JAXBContext;
import jakarta.xml.bind.JAXBException;
import jakarta.xml.bind.util.JAXBSource;
import jakarta.xml.ws.Dispatch;
import jakarta.xml.ws.Service;
import ogloszenia.generated.ObjectFactory;
import ogloszenia.generated.OgloszeniaService;
import ogloszenia.generated.ReadByPrice;
import javax.xml.namespace.QName;
import javax.xml.transform.Source;
import java.math.BigDecimal;
public class Klient7_Dispatch_JAXB {
/*
* Tutaj zapytanie utworzymy z obiektów (JAXB), a wynik uzyskamy jako XML i przetworzymy.
* Korzystamy z wygenerowanych klas, aby za ich pomocą przygotować zapytanie.
* Tutaj zapytanie jest proste (zakres cen w ogłoszeniu), ale w ten sposób można przygotować też złożone obiekty.
*/
public static void main(String[] args) {
BigDecimal min = new BigDecimal("12000.00");
BigDecimal max = new BigDecimal("20000.00");
try {
JAXBContext ctx = JAXBContext.newInstance(ReadByPrice.class);
OgloszeniaService service = new OgloszeniaService();
QName portName = OgloszeniaService.OgloszeniaPort;
Dispatch<Source> dispatch = service.createDispatch(portName, Source.class, Service.Mode.PAYLOAD);
ObjectFactory objectFactory = new ObjectFactory();
ReadByPrice readByPrice = objectFactory.createReadByPrice();
readByPrice.setMin(min);
readByPrice.setMax(max);
// Wskazujemy obiekt Javy, z którego ma powstać treść XML zapytania
JAXBSource src = new JAXBSource(ctx, readByPrice);
Source result = dispatch.invoke(src);
System.out.println("Mam wynik: " + result);
Utils utils = new Utils();
utils.wypiszTransformerem(result);
System.out.println("Gotowe");
} catch (JAXBException 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