From 53c280b7292e7f739ee6489bcc2b76134271cdaa Mon Sep 17 00:00:00 2001 From: Giovanni Di Grezia Date: Mon, 29 Jun 2015 00:45:45 +0200 Subject: [PATCH] esercizi webservices wsdl --- exam/CD.java | 73 +++++++++ exam/ClientPrintAllCDs.java | 27 ++++ exam/ClientUpdatePrice.java | 34 +++++ exam/DatabaseInitializer.java | 40 +++++ exam/EJB.java | 58 +++++++ exam/GeneralMessage.java | 25 ++++ exam/MDB.java | 43 ++++++ exam/RemoteEJB.java | 16 ++ exercise2/InitializeDB.java | 4 +- exercise2_client_ws/ClientPrintAll.java | 44 ++++++ exercise2_client_ws/ClientUpdatePrice.java | 37 +++++ exercise2_client_ws/clientws/Book.class | Bin 0 -> 1143 bytes exercise2_client_ws/clientws/Book.java | 141 ++++++++++++++++++ .../clientws/BookWebService.wsdl | 36 +++++ .../clientws/BookWebServiceService.class | Bin 0 -> 2403 bytes .../clientws/BookWebServiceService.java | 94 ++++++++++++ exercise2_client_ws/clientws/Checkbook.class | Bin 0 -> 715 bytes exercise2_client_ws/clientws/Checkbook.java | 60 ++++++++ .../clientws/CheckbookResponse.class | Bin 0 -> 710 bytes .../clientws/CheckbookResponse.java | 54 +++++++ .../clientws/ClientSendBook.java | 27 ++++ .../clientws/ObjectFactory.class | Bin 0 -> 2224 bytes .../clientws/ObjectFactory.java | 89 +++++++++++ exercise2_client_ws/clientws/Sendbook.class | Bin 0 -> 712 bytes .../clientws/SendbookResponse.class | Bin 0 -> 707 bytes .../clientws/Wsinterface.class | Bin 0 -> 995 bytes exercise2_client_ws/clientws/Wsinterface.java | 42 ++++++ .../clientws/package-info.class | Bin 0 -> 254 bytes .../clientws/package-info.java | 2 + exercise2_ws/Book.java | 74 +++++++++ exercise2_ws/BookMessage.java | 26 ++++ exercise2_ws/BookWebService.java | 18 +++ exercise2_ws/EJBBook.java | 49 ++++++ exercise2_ws/InitializeDB.java | 43 ++++++ exercise2_ws/MDBBook.java | 40 +++++ exercise2_ws/RemoteInterface.java | 16 ++ exercise2_ws/ws.java | 18 +++ exercise2_ws/wsinterface.java | 11 ++ test5_ws/HelloWorld.java | 17 +++ test5_ws/HelloWorldInterface.java | 11 ++ test5_ws/ObjectToPass.java | 12 ++ test5_ws_client/Client.java | 17 +++ test5_ws_client/HelloWorld.class | Bin 0 -> 974 bytes test5_ws_client/HelloWorld.wsdl | 36 +++++ test5_ws_client/HelloWorldInterface.class | Bin 0 -> 1019 bytes test5_ws_client/HelloWorldInterface.java | 42 ++++++ test5_ws_client/HelloWorldService.class | Bin 0 -> 2335 bytes test5_ws_client/HelloWorldService.java | 94 ++++++++++++ test5_ws_client/Modifymessage.class | Bin 0 -> 699 bytes test5_ws_client/Modifymessage.java | 60 ++++++++ test5_ws_client/ModifymessageResponse.class | Bin 0 -> 797 bytes test5_ws_client/ModifymessageResponse.java | 62 ++++++++ test5_ws_client/ObjectFactory.class | Bin 0 -> 2140 bytes test5_ws_client/ObjectFactory.java | 89 +++++++++++ test5_ws_client/ObjectToPass.class | Bin 0 -> 669 bytes test5_ws_client/ObjectToPass.java | 60 ++++++++ test5_ws_client/SayHelloWorldFrom.class | Bin 0 -> 675 bytes .../SayHelloWorldFromResponse.class | Bin 0 -> 773 bytes test5_ws_client/package-info.class | Bin 0 -> 237 bytes test5_ws_client/package-info.java | 2 + 60 files changed, 1741 insertions(+), 2 deletions(-) create mode 100644 exam/CD.java create mode 100644 exam/ClientPrintAllCDs.java create mode 100644 exam/ClientUpdatePrice.java create mode 100644 exam/DatabaseInitializer.java create mode 100644 exam/EJB.java create mode 100644 exam/GeneralMessage.java create mode 100644 exam/MDB.java create mode 100644 exam/RemoteEJB.java create mode 100644 exercise2_client_ws/ClientPrintAll.java create mode 100644 exercise2_client_ws/ClientUpdatePrice.java create mode 100644 exercise2_client_ws/clientws/Book.class create mode 100644 exercise2_client_ws/clientws/Book.java create mode 100644 exercise2_client_ws/clientws/BookWebService.wsdl create mode 100644 exercise2_client_ws/clientws/BookWebServiceService.class create mode 100644 exercise2_client_ws/clientws/BookWebServiceService.java create mode 100644 exercise2_client_ws/clientws/Checkbook.class create mode 100644 exercise2_client_ws/clientws/Checkbook.java create mode 100644 exercise2_client_ws/clientws/CheckbookResponse.class create mode 100644 exercise2_client_ws/clientws/CheckbookResponse.java create mode 100644 exercise2_client_ws/clientws/ClientSendBook.java create mode 100644 exercise2_client_ws/clientws/ObjectFactory.class create mode 100644 exercise2_client_ws/clientws/ObjectFactory.java create mode 100644 exercise2_client_ws/clientws/Sendbook.class create mode 100644 exercise2_client_ws/clientws/SendbookResponse.class create mode 100644 exercise2_client_ws/clientws/Wsinterface.class create mode 100644 exercise2_client_ws/clientws/Wsinterface.java create mode 100644 exercise2_client_ws/clientws/package-info.class create mode 100644 exercise2_client_ws/clientws/package-info.java create mode 100644 exercise2_ws/Book.java create mode 100644 exercise2_ws/BookMessage.java create mode 100644 exercise2_ws/BookWebService.java create mode 100644 exercise2_ws/EJBBook.java create mode 100644 exercise2_ws/InitializeDB.java create mode 100644 exercise2_ws/MDBBook.java create mode 100644 exercise2_ws/RemoteInterface.java create mode 100644 exercise2_ws/ws.java create mode 100644 exercise2_ws/wsinterface.java create mode 100644 test5_ws/HelloWorld.java create mode 100644 test5_ws/HelloWorldInterface.java create mode 100644 test5_ws/ObjectToPass.java create mode 100644 test5_ws_client/Client.java create mode 100644 test5_ws_client/HelloWorld.class create mode 100644 test5_ws_client/HelloWorld.wsdl create mode 100644 test5_ws_client/HelloWorldInterface.class create mode 100644 test5_ws_client/HelloWorldInterface.java create mode 100644 test5_ws_client/HelloWorldService.class create mode 100644 test5_ws_client/HelloWorldService.java create mode 100644 test5_ws_client/Modifymessage.class create mode 100644 test5_ws_client/Modifymessage.java create mode 100644 test5_ws_client/ModifymessageResponse.class create mode 100644 test5_ws_client/ModifymessageResponse.java create mode 100644 test5_ws_client/ObjectFactory.class create mode 100644 test5_ws_client/ObjectFactory.java create mode 100644 test5_ws_client/ObjectToPass.class create mode 100644 test5_ws_client/ObjectToPass.java create mode 100644 test5_ws_client/SayHelloWorldFrom.class create mode 100644 test5_ws_client/SayHelloWorldFromResponse.class create mode 100644 test5_ws_client/package-info.class create mode 100644 test5_ws_client/package-info.java diff --git a/exam/CD.java b/exam/CD.java new file mode 100644 index 0000000..4ff9d86 --- /dev/null +++ b/exam/CD.java @@ -0,0 +1,73 @@ +package exam; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.NamedQueries; +import javax.persistence.NamedQuery; +import javax.validation.constraints.DecimalMin; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * Created by Giovanni on 16/06/2015. + */ + +@Entity +@NamedQueries({ + @NamedQuery(name = "findid", query = "SELECT c FROM CD c WHERE c.id =?1"), + @NamedQuery(name = "findauthor", query = "SELECT c FROM CD c WHERE c.author =?1"), + @NamedQuery(name = "findall", query = "SELECT c FROM CD c"), +}) + +public class CD implements Serializable { + + @NotNull @Id + private String id; + @NotNull + private String title; + @NotNull + private String author; + @NotNull @DecimalMin("0.0") + private Float price; + + public CD (){} + + public CD (@NotNull String id_in,@NotNull String title_in,@NotNull String author_in,@NotNull @DecimalMin("0.0") Float price_in){ + + id = id_in; + title = title_in; + author = author_in; + price = price_in; + + } + + + public @NotNull String getId() { + return id; + } + + + public @NotNull String getTitle() { + return title; + } + + public void setTitle(@NotNull String title) { + this.title = title; + } + + public @NotNull @DecimalMin("0.0") Float getPrice() { + return price; + } + + public void setPrice(@NotNull @DecimalMin("0.0") Float price) { + this.price = price; + } + + public @NotNull String getAuthor() { + return author; + } + + public void setAuthor(@NotNull String author) { + this.author = author; + } +} diff --git a/exam/ClientPrintAllCDs.java b/exam/ClientPrintAllCDs.java new file mode 100644 index 0000000..b21bd5a --- /dev/null +++ b/exam/ClientPrintAllCDs.java @@ -0,0 +1,27 @@ +package exam; + +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; +import java.util.Iterator; +import java.util.List; + +public class ClientPrintAllCDs { + + + public static void main (String[] args) throws NamingException{ + // added method main and signature exception + + Context ctx =new InitialContext(); + + RemoteEJB r = (RemoteEJB) ctx.lookup("java:global/web/EJB!exam.RemoteEJB"); + List l = r.findall(); + Iterator i = l.iterator(); + while (i.hasNext()){ + CD temp = i.next(); + System.out.print(temp.getId() + " " + temp.getTitle() + " " + temp.getAuthor() + " " +temp.getPrice() + "\n"); + } + } + + +} diff --git a/exam/ClientUpdatePrice.java b/exam/ClientUpdatePrice.java new file mode 100644 index 0000000..fe3920c --- /dev/null +++ b/exam/ClientUpdatePrice.java @@ -0,0 +1,34 @@ +package exam; + +import javax.jms.ConnectionFactory; +import javax.jms.Destination; +import javax.jms.JMSContext; +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; + +/** + * Created by Giovanni on 31/05/2015. + */ +public class ClientUpdatePrice { + + public static void main(String[] args) throws NamingException { + //removed try catch e added signatute exception to main method + + Context ctx = new InitialContext(); + + ConnectionFactory cf = (ConnectionFactory) ctx.lookup("jms/javaee7/ConnectionFactory"); + Destination d = (Destination) ctx.lookup("jms/javaee7/Topic"); + try (JMSContext jmsContext = cf.createContext()) { + GeneralMessage gm = new GeneralMessage(args[0],Float.valueOf(args[1])); + jmsContext.createProducer().send(d, gm); + } + } + + + + + + + +} diff --git a/exam/DatabaseInitializer.java b/exam/DatabaseInitializer.java new file mode 100644 index 0000000..ee001f6 --- /dev/null +++ b/exam/DatabaseInitializer.java @@ -0,0 +1,40 @@ +package exam; + +import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; +import javax.ejb.Singleton; +import javax.ejb.Startup; +import javax.inject.Inject; + +/** + * Created by Giovanni on 16/06/2015. + */ + +@Singleton +@Startup + +public class DatabaseInitializer { + + @Inject + EJB e; + + private CD first; + private CD second; + + @PostConstruct + protected void initialize(){ + first = new CD("001","Title1","Author1",35.0f); + e.createCD(first); + second = new CD("002","Title2","Author2",40.0f); + e.createCD(second); + } + + @PreDestroy + protected void deleteall(){ + + e.removeCD(first); + e.removeCD(second); + + } + +} diff --git a/exam/EJB.java b/exam/EJB.java new file mode 100644 index 0000000..b68c56c --- /dev/null +++ b/exam/EJB.java @@ -0,0 +1,58 @@ +package exam; + +import javax.ejb.LocalBean; +import javax.ejb.Stateless; + +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +import javax.persistence.Query; +import java.util.List; + +/** + * Created by Giovanni on 16/06/2015. + */ + +@Stateless +@LocalBean + +public class EJB implements RemoteEJB{ + + @PersistenceContext(unitName = "exam") + EntityManager em ; + + + public void createCD (CD c){ + em.persist(c); + } + + public void updateCD (CD c) { + em.merge(c); + em.persist(c); + } + + public void removeCD (CD c){ + em.merge(c); + em.remove(c); + } + + + public List findall() { + Query q = em.createNamedQuery("findall"); + return (List) q. getResultList(); + + } + + + public List findauthor(String author_in) { + Query q = em.createNamedQuery("findauthor"); + q.setParameter(1,author_in); + return (List) q. getResultList(); + } + + + public List findid(String id_in) { + Query q = em.createNamedQuery("findid"); + q.setParameter(1,id_in); + return (List) q. getResultList(); + } +} diff --git a/exam/GeneralMessage.java b/exam/GeneralMessage.java new file mode 100644 index 0000000..ca7a5fb --- /dev/null +++ b/exam/GeneralMessage.java @@ -0,0 +1,25 @@ +package exam; + +import java.io.Serializable; + +/** + * Created by Giovanni on 16/06/2015. + */ +public class GeneralMessage implements Serializable{ + + private String id; + private Float price; + + public GeneralMessage (String in_id, Float in_price){ + id = in_id; + price = in_price; + } + + public String getId() { + return id; + } + + public Float getPrice() { + return price; + } +} diff --git a/exam/MDB.java b/exam/MDB.java new file mode 100644 index 0000000..a63d16c --- /dev/null +++ b/exam/MDB.java @@ -0,0 +1,43 @@ +package exam; + + + +import javax.ejb.MessageDriven; +import javax.inject.Inject; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageListener; +import java.util.Iterator; +import java.util.List; + +/** + * Created by Giovanni on 16/06/2015. + */ + +@MessageDriven(mappedName = "jms/javaee7/Topic") +public class MDB implements MessageListener { + + @Inject + EJB e; + + + public void onMessage(Message m) { + + try { + GeneralMessage gm = m.getBody(GeneralMessage.class); + List l = e.findid(gm.getId()); + Iterator i = l.iterator(); + if (i.hasNext()){ + CD temp = i.next(); + temp.setPrice(gm.getPrice()); + e.updateCD(temp); + } + + } catch (JMSException e) { // added try catch for JMSException + e.printStackTrace(); + } + + + } + +} diff --git a/exam/RemoteEJB.java b/exam/RemoteEJB.java new file mode 100644 index 0000000..feb93f7 --- /dev/null +++ b/exam/RemoteEJB.java @@ -0,0 +1,16 @@ +package exam; + +import javax.ejb.Remote; +import java.util.List; + +/** + * Created by Giovanni on 16/06/2015. + */ +@Remote +public interface RemoteEJB { + + List findall(); + List findauthor(String author_in); + List findid(String id_in); + +} diff --git a/exercise2/InitializeDB.java b/exercise2/InitializeDB.java index 78120c7..0c49176 100644 --- a/exercise2/InitializeDB.java +++ b/exercise2/InitializeDB.java @@ -12,8 +12,8 @@ import javax.inject.Inject; * Created by Giovanni on 24/05/2015. */ -@Singleton -@Startup +//@Singleton reenable if you need this exercise +//@Startup public class InitializeDB { private Book b1,b2; diff --git a/exercise2_client_ws/ClientPrintAll.java b/exercise2_client_ws/ClientPrintAll.java new file mode 100644 index 0000000..257ede7 --- /dev/null +++ b/exercise2_client_ws/ClientPrintAll.java @@ -0,0 +1,44 @@ +package exercise2_client_ws; + +import exercise2_ws.Book; +import exercise2_ws.RemoteInterface; + +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; +import java.util.Iterator; +import java.util.List; + +public class ClientPrintAll { + + + public static void main (String[] args) { + + + Context ctx = null; + try { + ctx =new InitialContext(); + } catch (NamingException e) { + e.printStackTrace(); + } + + RemoteInterface r = null; + try { + r =(RemoteInterface) ctx.lookup("java:global/web/EJBBook!exercise2_ws.RemoteInterface"); + List l = r.findall(); + Iterator it = l.iterator(); + while (it.hasNext()){ + Book b = it.next(); + System.out.print(b.getIsbn() + " " + b.getTitle() + " " + b.getAuthor() + " " +b.getPrice() + " "); + } + + } catch (NamingException e) { + e.printStackTrace(); + } + + + + } + + +} diff --git a/exercise2_client_ws/ClientUpdatePrice.java b/exercise2_client_ws/ClientUpdatePrice.java new file mode 100644 index 0000000..665bad8 --- /dev/null +++ b/exercise2_client_ws/ClientUpdatePrice.java @@ -0,0 +1,37 @@ +package exercise2_client_ws; + +import exercise2_ws.BookMessage; + +import javax.jms.ConnectionFactory; +import javax.jms.Destination; +import javax.jms.JMSContext; +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; + +/** + * Created by Giovanni on 31/05/2015. + */ +public class ClientUpdatePrice { + + public static void main(String[] args) throws NamingException { + + + BookMessage m = new BookMessage("0001",Float.valueOf(10000)); + + Context jndiContext = new InitialContext(); + + ConnectionFactory connectionFactory = (ConnectionFactory) jndiContext.lookup("jms/javaee7/ConnectionFactory"); + Destination topic = (Destination) jndiContext.lookup("jms/javaee7/Topic"); + try (JMSContext jmsContext = connectionFactory.createContext()) { + jmsContext.createProducer().send(topic, m); + } + } + + + + + + + +} diff --git a/exercise2_client_ws/clientws/Book.class b/exercise2_client_ws/clientws/Book.class new file mode 100644 index 0000000000000000000000000000000000000000..21d1c30e44292f5ce7bd6da927cebddb624a2672 GIT binary patch literal 1143 zcmaiy-%b-j6vn?P+rJb+C@LyqL9w*T8e_cCm;g#bLcj9mWn7hW@%VRMQ zTOj9jqPIaPFus21967e<_y_h@6e|DVv4Ev?(-+9LL*+_=i)S>eUf@KOWFr-M+{-;t zzKWg-4AmBPcycA!XLfX5`EsMvYRYiiX&PPeKt@YR%}Q10$&R>;>Npnx8>PQ8|~%aKeVM8{&VW&%<9_n^=ATe|E`p%E#GOefYoIC{0;3eXm5u5GA!c)M$0ImSVqa1VU)`l zK~bP8yE1f@mJjw^Pf0)8d#~+Y#K6o!V66XaHk*gijZo$L%JcbI{78)>f@4p1?1`r@ zLYU&TV_Z$s3;JyRJH%H8d~me6I5|%{jtScH(qm-4q@<51s$epa&LYE)n0n(IGJR|* z&MqU16)GsuGe>iSBgpiwzdmPqo7gJ7}gm1 E1MA+_`~Uy| literal 0 HcmV?d00001 diff --git a/exercise2_client_ws/clientws/Book.java b/exercise2_client_ws/clientws/Book.java new file mode 100644 index 0000000..d858e3f --- /dev/null +++ b/exercise2_client_ws/clientws/Book.java @@ -0,0 +1,141 @@ + +package exercise2_client_ws.clientws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for book complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="book">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="author" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="isbn" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="price" type="{http://www.w3.org/2001/XMLSchema}float" minOccurs="0"/>
+ *         <element name="title" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "book", propOrder = { + "author", + "isbn", + "price", + "title" +}) +public class Book { + + protected String author; + protected String isbn; + protected Float price; + protected String title; + + /** + * Gets the value of the author property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getAuthor() { + return author; + } + + /** + * Sets the value of the author property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setAuthor(String value) { + this.author = value; + } + + /** + * Gets the value of the isbn property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getIsbn() { + return isbn; + } + + /** + * Sets the value of the isbn property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setIsbn(String value) { + this.isbn = value; + } + + /** + * Gets the value of the price property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getPrice() { + return price; + } + + /** + * Sets the value of the price property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setPrice(Float value) { + this.price = value; + } + + /** + * Gets the value of the title property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getTitle() { + return title; + } + + /** + * Sets the value of the title property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setTitle(String value) { + this.title = value; + } + +} diff --git a/exercise2_client_ws/clientws/BookWebService.wsdl b/exercise2_client_ws/clientws/BookWebService.wsdl new file mode 100644 index 0000000..e599767 --- /dev/null +++ b/exercise2_client_ws/clientws/BookWebService.wsdl @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/exercise2_client_ws/clientws/BookWebServiceService.class b/exercise2_client_ws/clientws/BookWebServiceService.class new file mode 100644 index 0000000000000000000000000000000000000000..1110a8f4b174e8dd3345144772829976d2b14c67 GIT binary patch literal 2403 zcmb7FT~pgu5Ir&k*~WaCm?oqNAJ6@W2XO}rDi-BxQks|YWJ;PPKc-ZC??)ntHoQ`?tm20tI0)1HcYX4e7Gx0oBD2%D+AFt6+Bg;ED7B?E{TN1cSNgmlxq_; zYqugAsR30uuT4Vw$lU(;t=vcUg|lc`@2>@4vr3MFk?3$*oQhJxu*F2aP&9<;x^&syccLKYL;oU*{~!5^kgt41>ZB$UxmUTqc~G)Wq_JkOzuips^M;hGu9y{}6p1YLKoZUmzB*?`Q&kJarxQdypYIYLJ1rkdZoWCK14t z>t?{i^b;X5YAjB`jcjJngoNv4&;tz6Nh1M%0!Hh&n1hOWo*klCK3B9+eyF8rk=P~f z?1Y=b>IMAazy*STBJe9W%JMb2hh8Ddm1e#V^FL<0S`J~v;~FEERHdt$i;_0iA=|u3 z7L>OGnPoMl67sM0457cE(tbKai;T$U7PQq><~1eQVNu_(K(bSmAcY^lYKfmc(I>p* zTAAEAe9DTFzC_zjxcvehE5D#6bBWF!N_;mRJ4Z|W9HEbNA7+#F(3Ty_-T`l}R%H6`;9DO9>Zc@w41WkusI3g96TW}B=~MAU#RL=;PXnZS=4SA%n|y>$CK)xAoWit? J=a{jP_z%1GM#KOB literal 0 HcmV?d00001 diff --git a/exercise2_client_ws/clientws/BookWebServiceService.java b/exercise2_client_ws/clientws/BookWebServiceService.java new file mode 100644 index 0000000..f7bcb42 --- /dev/null +++ b/exercise2_client_ws/clientws/BookWebServiceService.java @@ -0,0 +1,94 @@ + +package exercise2_client_ws.clientws; + +import java.net.MalformedURLException; +import java.net.URL; +import javax.xml.namespace.QName; +import javax.xml.ws.Service; +import javax.xml.ws.WebEndpoint; +import javax.xml.ws.WebServiceClient; +import javax.xml.ws.WebServiceException; +import javax.xml.ws.WebServiceFeature; + + +/** + * This class was generated by the JAX-WS RI. + * JAX-WS RI 2.2.10-b140803.1500 + * Generated source version: 2.2 + * + */ +@WebServiceClient(name = "BookWebServiceService", targetNamespace = "http://exercise2_ws/", wsdlLocation = "http://localhost:8080/web/services/BookWebService?wsdl") +public class BookWebServiceService + extends Service +{ + + private final static URL BOOKWEBSERVICESERVICE_WSDL_LOCATION; + private final static WebServiceException BOOKWEBSERVICESERVICE_EXCEPTION; + private final static QName BOOKWEBSERVICESERVICE_QNAME = new QName("http://exercise2_ws/", "BookWebServiceService"); + + static { + URL url = null; + WebServiceException e = null; + try { + url = new URL("http://localhost:8080/web/services/BookWebService?wsdl"); + } catch (MalformedURLException ex) { + e = new WebServiceException(ex); + } + BOOKWEBSERVICESERVICE_WSDL_LOCATION = url; + BOOKWEBSERVICESERVICE_EXCEPTION = e; + } + + public BookWebServiceService() { + super(__getWsdlLocation(), BOOKWEBSERVICESERVICE_QNAME); + } + + public BookWebServiceService(WebServiceFeature... features) { + super(__getWsdlLocation(), BOOKWEBSERVICESERVICE_QNAME, features); + } + + public BookWebServiceService(URL wsdlLocation) { + super(wsdlLocation, BOOKWEBSERVICESERVICE_QNAME); + } + + public BookWebServiceService(URL wsdlLocation, WebServiceFeature... features) { + super(wsdlLocation, BOOKWEBSERVICESERVICE_QNAME, features); + } + + public BookWebServiceService(URL wsdlLocation, QName serviceName) { + super(wsdlLocation, serviceName); + } + + public BookWebServiceService(URL wsdlLocation, QName serviceName, WebServiceFeature... features) { + super(wsdlLocation, serviceName, features); + } + + /** + * + * @return + * returns Wsinterface + */ + @WebEndpoint(name = "BookWebServicePort") + public Wsinterface getBookWebServicePort() { + return super.getPort(new QName("http://exercise2_ws/", "BookWebServicePort"), Wsinterface.class); + } + + /** + * + * @param features + * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the features parameter will have their default values. + * @return + * returns Wsinterface + */ + @WebEndpoint(name = "BookWebServicePort") + public Wsinterface getBookWebServicePort(WebServiceFeature... features) { + return super.getPort(new QName("http://exercise2_ws/", "BookWebServicePort"), Wsinterface.class, features); + } + + private static URL __getWsdlLocation() { + if (BOOKWEBSERVICESERVICE_EXCEPTION!= null) { + throw BOOKWEBSERVICESERVICE_EXCEPTION; + } + return BOOKWEBSERVICESERVICE_WSDL_LOCATION; + } + +} diff --git a/exercise2_client_ws/clientws/Checkbook.class b/exercise2_client_ws/clientws/Checkbook.class new file mode 100644 index 0000000000000000000000000000000000000000..f6ae3ea8a9cb7c2eb99df589728bdbbc033a8ec7 GIT binary patch literal 715 zcma)4*-FDe6g|@|w$^=LDlRCkq7m`M1)(klp(v<`;Db!kp^he#l1Xd*D+NXH!4L4G z#GBeG`XD86@0pu(&$+X_f4sf{SjSWfF^ne>#e{)L0~v-G_sgpcb45`XzAd#_yRscA zRB&~t%`Ze?*Yj?-7!uo3$zX>en$4Y4@19o@3_V4u#8K6?gnz~@hbl%{1o?*Ud^XpX zvY}fY3)warLig0ESM_aCkfCGu-nFoAEgEy>hSxa5*hy6d(iP`YOPVRKlo#+odP*}a z6+=$lth5DJE%^q0A`97hk|08^jdFM58!Ou@h;Ezo}1%Jp7?96R8W`P3kNn^pVWs(la7I ovZ+ROgC^M|)I*F2deKLDicmjw4+som2*b1-(HOJava class for checkbook complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="checkbook">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://exercise2_ws/}book" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "checkbook", propOrder = { + "arg0" +}) +public class Checkbook { + + protected Book arg0; + + /** + * Gets the value of the arg0 property. + * + * @return + * possible object is + * {@link Book } + * + */ + public Book getArg0() { + return arg0; + } + + /** + * Sets the value of the arg0 property. + * + * @param value + * allowed object is + * {@link Book } + * + */ + public void setArg0(Book value) { + this.arg0 = value; + } + +} diff --git a/exercise2_client_ws/clientws/CheckbookResponse.class b/exercise2_client_ws/clientws/CheckbookResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..a4555cb42ac0f30bd5ac94a9c6e0ff6061a3114e GIT binary patch literal 710 zcma)3+iDa+5IwcoOLntr;w2hm;teDh$bjZe5kgErSPZNoNPJjkW{aegnVzM4Ca(YF zi=YTT_yK;DcxK&Ij1Xj)s_L$DPM_}j{^RR60GqhiLKSzKn8H#6%MIKWGmkst@UtJqBXtz;AU9h1;b+PgKxECje@7a6jgI^Vkf9@-oEpHqo zp*;%rq7#jC+~;_!95-LO)MRdOHN!m3zv2FR``6EX=jFFOZKT=4Hl`394~a zm}UGM`U#Z}=b-BZ&Ee`8`T!Mvlv!K+jLIL`)@b($t!=WpMnnbIM;4b^-5`5jaTB+& Oz$M+@#^PIuN9`v=Xrx&H literal 0 HcmV?d00001 diff --git a/exercise2_client_ws/clientws/CheckbookResponse.java b/exercise2_client_ws/clientws/CheckbookResponse.java new file mode 100644 index 0000000..8baae3f --- /dev/null +++ b/exercise2_client_ws/clientws/CheckbookResponse.java @@ -0,0 +1,54 @@ + +package exercise2_client_ws.clientws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for checkbookResponse complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="checkbookResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "checkbookResponse", propOrder = { + "_return" +}) +public class CheckbookResponse { + + @XmlElement(name = "return") + protected boolean _return; + + /** + * Gets the value of the return property. + * + */ + public boolean isReturn() { + return _return; + } + + /** + * Sets the value of the return property. + * + */ + public void setReturn(boolean value) { + this._return = value; + } + +} diff --git a/exercise2_client_ws/clientws/ClientSendBook.java b/exercise2_client_ws/clientws/ClientSendBook.java new file mode 100644 index 0000000..2657efd --- /dev/null +++ b/exercise2_client_ws/clientws/ClientSendBook.java @@ -0,0 +1,27 @@ +package exercise2_client_ws.clientws; + + +/** + * Created by Giovanni on 13/06/2015. + */ +public class ClientSendBook { + + public static void main (String[] args) { + + Wsinterface bws = new BookWebServiceService().getBookWebServicePort(); + + Book b = new Book(); + b.setTitle("xgiovio president"); + b.setPrice(100f); + b.setAuthor("xgiovio"); + b.setIsbn("0001s"); + + System.out.println(bws.checkbook( b)); + + + + } + + + +} diff --git a/exercise2_client_ws/clientws/ObjectFactory.class b/exercise2_client_ws/clientws/ObjectFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..0cdaa7322b913218bc2ab28e23a533e43de8ea87 GIT binary patch literal 2224 zcmb_eTT|LV6#fg9o% zI@2G}AJysE1Oi10%v2tB&z}9xmvh;(%dg)*egb%mO&LRY>c=w~9x*?c;T7`>89p&D z_uvNNG9;`B>7^J}{dgrIDq&tmA6`p{Nm%eB;l~=oKzjX{Yp0n);WWLQOzdnj+}b`- zKdR@-c|NBYYMz^Cs>YSwB#Ci`(V9VuwhD&HtA@SlwK^K#if-uEDnnN!y3gQUFC1}( z;I?k?WGSEF#rJ9^M;cixa@FF(lwmp&-R9@KsOctOOlvuv8&>+0sW=h|0!Cg09V6Fw zhPif@E|$zk8qBMaFf4XVQ?((wtw?L9YoCtReAzkUzvsL>1SgK@LdYT4)@$J z3>{n6*|MV4%1ULV^B^FE)T+miA=zofZtB~l^YgV5cA84pJCV{sH@>QxA<@Py`;4~< z?Zf|aw28*{K?LB<*o`TzPzyT!EbkRcMU8LiqI*N{GACTKwp7h36fa`p=3tm@eO6LD ztD9EwA|AjP#u>u3qw$Z9XP9Y;aT|;w))}x?jq%!T*VvH(+{CbOay@_%A&p{~x};{{ z9&_h<6wnQ7m6k62l`y)11)GvnjjZDAFr*@N`D^$@+}?8V>p9glTPhsJxVV339a6_~ z&noIhw%)X&iS8pzPsR{EHeDDO;gd8jg12XipJoY^1k%z|L8~y$jOOmSGT2uV7$#^G z4-_y(&(nRN^Oxv54E2YCWej{r qPh~Y|uX-!1ki81j>e^3!f%4Z+Rh}R}Jy@c(hyI(0^oSZh0sa85^-viA literal 0 HcmV?d00001 diff --git a/exercise2_client_ws/clientws/ObjectFactory.java b/exercise2_client_ws/clientws/ObjectFactory.java new file mode 100644 index 0000000..eeefd72 --- /dev/null +++ b/exercise2_client_ws/clientws/ObjectFactory.java @@ -0,0 +1,89 @@ + +package exercise2_client_ws.clientws; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.namespace.QName; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the exercise2_client_ws.clientws package. + *

An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _Checkbook_QNAME = new QName("http://exercise2_ws/", "checkbook"); + private final static QName _CheckbookResponse_QNAME = new QName("http://exercise2_ws/", "checkbookResponse"); + private final static QName _Book_QNAME = new QName("http://exercise2_ws/", "book"); + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: exercise2_client_ws.clientws + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link Book } + * + */ + public Book createBook() { + return new Book(); + } + + /** + * Create an instance of {@link Checkbook } + * + */ + public Checkbook createCheckbook() { + return new Checkbook(); + } + + /** + * Create an instance of {@link CheckbookResponse } + * + */ + public CheckbookResponse createCheckbookResponse() { + return new CheckbookResponse(); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Checkbook }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://exercise2_ws/", name = "checkbook") + public JAXBElement createCheckbook(Checkbook value) { + return new JAXBElement(_Checkbook_QNAME, Checkbook.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CheckbookResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://exercise2_ws/", name = "checkbookResponse") + public JAXBElement createCheckbookResponse(CheckbookResponse value) { + return new JAXBElement(_CheckbookResponse_QNAME, CheckbookResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Book }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://exercise2_ws/", name = "book") + public JAXBElement createBook(Book value) { + return new JAXBElement(_Book_QNAME, Book.class, null, value); + } + +} diff --git a/exercise2_client_ws/clientws/Sendbook.class b/exercise2_client_ws/clientws/Sendbook.class new file mode 100644 index 0000000000000000000000000000000000000000..aac89f0fda5654ef0e5fa80c6b2371c30264a8df GIT binary patch literal 712 zcma)4*-FDe6g|@|wzlqD-Ecu^6^)25E(mog2t`3f1RrFQ4rMf%luWAiuM`x)2S31% z5^rj&=tC)id(YgQd(NHZ-*Kl#4*5>HT0O<1!_q-`s%@Q`?3m&% z8FcC978sIM->aVZW#Ok`pev0y5)2D%uc&nZ41J-g>2OssPplhZ2biTBkI@UDD+{Fv zMG2EK#U!n!C^O3OrB|@01~El3(J0PP>_(d6U+Oa=kN>DEM9QG2Nu5K4K9X5lenI3{ oHr1$Z(j;4idWjK1ANnaz6B?lIL4hF*V}zEY8e_;_foa6Q0EHT>k^lez literal 0 HcmV?d00001 diff --git a/exercise2_client_ws/clientws/SendbookResponse.class b/exercise2_client_ws/clientws/SendbookResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..4a19057af2ba734c2edbae55e9a2d0fd525bf7c8 GIT binary patch literal 707 zcma)3U279T6g@Z1N0Ua4A608@)e6!NbV2*32t`{Ef`zmcsSjayb174IXT!{HjsM9P zK@oiL2l%7JvoTT3Ly=|gy)*ZmGiT=h`1$QSfNk7up^Dp0%weU0)dube8hxjE;jBQ8 z1xvlc<|fr6<4u(4j>vpLbb~i(vYTkCHh(Ip+Avi? zeJWgkW~|Ad3+C20j@W*Y4cNZaHCA62X{7EjgT}U)k1p_X(|Sv${$|1=q$FS6MBReO++_H?hPe M-QL3TTZl*P7oifPS^xk5 literal 0 HcmV?d00001 diff --git a/exercise2_client_ws/clientws/Wsinterface.class b/exercise2_client_ws/clientws/Wsinterface.class new file mode 100644 index 0000000000000000000000000000000000000000..ee24fc31d034771bdd549e51b3c8140c8c91ead2 GIT binary patch literal 995 zcmb7DO>Yx15FLj!AuZ4b(n6tM6jT+diVNaIPoYvz#Ck$$`hw?nK_ME}a?lF$gN#*gy ziPQ>BIJxvZKhfbey*haIiNR_+F+mORgYqiU*fPcj5tKEa!SZom48@4|3DCvp4ThdQ zJ@_NuMxW?F@x>tA8HTrFfIb!y832RzE0WPbbK+^^MS?zborq&}1gdE(g-$UH8odzW zSDY8E6CxF+h4=ZBogz1p)f~%e9u^L4{9f0`Bnped^@&|1Aj>gm{u_G%7+Z9ut|e3J zNY$J&aS|BpU#IBOD-+OtA&dA_6PYm#DmDoj_W6Hc#{#xz$N643GL~x1%(XE)*X$AX zTsGMd$~44%2J;=8IEhC}(_ogmMa#`}DHyEGl624wl|-Uhn36|}I5mbynNuz%8^%8l zbO*7ey-gh(3Y}1?y}vK+yQq&c90?h$`%19gYbI8#`Bd8^B5j;&Va|BYQem{8CHfQ5 zo|YNhfHK|Y=ypio3jJ0of73$^<|(=0=|i_$aNENjSj^iToN1E~Tc3eRc>D{Ovnj*? literal 0 HcmV?d00001 diff --git a/exercise2_client_ws/clientws/Wsinterface.java b/exercise2_client_ws/clientws/Wsinterface.java new file mode 100644 index 0000000..2613e9d --- /dev/null +++ b/exercise2_client_ws/clientws/Wsinterface.java @@ -0,0 +1,42 @@ + +package exercise2_client_ws.clientws; + +import javax.jws.WebMethod; +import javax.jws.WebParam; +import javax.jws.WebResult; +import javax.jws.WebService; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.ws.Action; +import javax.xml.ws.RequestWrapper; +import javax.xml.ws.ResponseWrapper; + + +/** + * This class was generated by the JAX-WS RI. + * JAX-WS RI 2.2.10-b140803.1500 + * Generated source version: 2.2 + * + */ +@WebService(name = "wsinterface", targetNamespace = "http://exercise2_ws/") +@XmlSeeAlso({ + ObjectFactory.class +}) +public interface Wsinterface { + + + /** + * + * @param arg0 + * @return + * returns boolean + */ + @WebMethod + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "checkbook", targetNamespace = "http://exercise2_ws/", className = "exercise2_client_ws.clientws.Checkbook") + @ResponseWrapper(localName = "checkbookResponse", targetNamespace = "http://exercise2_ws/", className = "exercise2_client_ws.clientws.CheckbookResponse") + @Action(input = "http://exercise2_ws/wsinterface/checkbookRequest", output = "http://exercise2_ws/wsinterface/checkbookResponse") + public boolean checkbook( + @WebParam(name = "arg0", targetNamespace = "") + Book arg0); + +} diff --git a/exercise2_client_ws/clientws/package-info.class b/exercise2_client_ws/clientws/package-info.class new file mode 100644 index 0000000000000000000000000000000000000000..2578cbaba01a7d677192ef87477cbb2ac4fc45bc GIT binary patch literal 254 zcmYjM%SuB*3_a6UZyy^45&QrbE;LYF>B@~OL9kHVN$wci)S2AUnd<#E7k+>rCC*h) z14&MDLQeAW`SuRr9Fq#83S)=ytl4h7Tx$@A{Wbe%UdXB1Q**ZB7j`(h+gjErb4^+Y zxiV`qXKgGw9N%;^EwwRFt@cR#%hG)eGryF`mkuN2D5)$j8VAdq*B3<6%EoJw>BDOx zhm*hB2Nla*`v(>9|1O8UPL%@Nf^O@T_y1Dq;8qQ#MH9 literal 0 HcmV?d00001 diff --git a/exercise2_client_ws/clientws/package-info.java b/exercise2_client_ws/clientws/package-info.java new file mode 100644 index 0000000..280814f --- /dev/null +++ b/exercise2_client_ws/clientws/package-info.java @@ -0,0 +1,2 @@ +@javax.xml.bind.annotation.XmlSchema(namespace = "http://exercise2_ws/") +package exercise2_client_ws.clientws; diff --git a/exercise2_ws/Book.java b/exercise2_ws/Book.java new file mode 100644 index 0000000..883a7a8 --- /dev/null +++ b/exercise2_ws/Book.java @@ -0,0 +1,74 @@ +package exercise2_ws; + +import javax.persistence.*; +import javax.validation.constraints.DecimalMin; +import javax.validation.constraints.NotNull; +import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serializable; + +/** + * Created by Giovanni on 31/05/2015. + */ + +@Entity(name="Bookws") +@XmlRootElement +@NamedQueries({ + @NamedQuery(name = "findbyisbnws", query = "SELECT b FROM Bookws b WHERE b.isbn =?1"), + @NamedQuery(name = "findallws", query = "SELECT b FROM Bookws b") +}) +public class Book implements Serializable{ + + @GeneratedValue @Id + private Long id ; + @NotNull + private String title; + @NotNull + private String author; + @NotNull + private Float price; + @NotNull + private String isbn; + + + public Book(){} + + public Book(@NotNull String in_isbn,@NotNull String in_title,@NotNull String in_author, @NotNull @DecimalMin("0.0") Float in_price){ + title = in_title; + author = in_author; + price = in_price; + isbn = in_isbn; + } + + public @NotNull String getIsbn() { + return isbn; + } + + public void setIsbn(@NotNull String isbn) { + this.isbn = isbn; + } + + public @NotNull String getTitle() { + return title; + } + + public void setTitle(@NotNull String title) { + this.title = title; + } + + public @NotNull String getAuthor() { + return author; + } + + public void setAuthor( @NotNull String author) { + this.author = author; + } + + public @NotNull @DecimalMin("0.0") Float getPrice() { + return price; + } + + public void setPrice(@NotNull @DecimalMin("0.0") Float price) { + this.price = price; + } + +} diff --git a/exercise2_ws/BookMessage.java b/exercise2_ws/BookMessage.java new file mode 100644 index 0000000..4e3773f --- /dev/null +++ b/exercise2_ws/BookMessage.java @@ -0,0 +1,26 @@ +package exercise2_ws; + +import java.io.Serializable; + +/** + * Created by Giovanni on 31/05/2015. + */ +public class BookMessage implements Serializable{ + + public BookMessage (String in_isbn, Float in_price){ + isbn = in_isbn; + price = in_price; + } + + + private String isbn; + private Float price; + + public String getIsbn() { + return isbn; + } + + public Float getPrice() { + return price; + } +} diff --git a/exercise2_ws/BookWebService.java b/exercise2_ws/BookWebService.java new file mode 100644 index 0000000..62039e0 --- /dev/null +++ b/exercise2_ws/BookWebService.java @@ -0,0 +1,18 @@ +package exercise2_ws; + + +import javax.jws.WebService; + +/** + * Created by Giovanni on 13/06/2015. + */ + +@WebService(endpointInterface ="exercise2_ws.wsinterface") +public class BookWebService implements wsinterface { + + public boolean checkbook(Book b) { + if (b.getIsbn() == null) + return false; + return true; + } +} diff --git a/exercise2_ws/EJBBook.java b/exercise2_ws/EJBBook.java new file mode 100644 index 0000000..7cafa4b --- /dev/null +++ b/exercise2_ws/EJBBook.java @@ -0,0 +1,49 @@ +package exercise2_ws; + + + +import javax.ejb.LocalBean; +import javax.ejb.Stateless; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +import javax.persistence.Query; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * Created by Giovanni on 24/05/2015. + */ +@Stateless +@LocalBean +@ws +public class EJBBook implements RemoteInterface { + + @PersistenceContext(unitName = "exercise2ws") + EntityManager em ; + + public void create_book (@NotNull Book s) { + em.persist(s); + } + public void update_book (@NotNull Book s) { + em.merge(s); + em.persist(s); + } + public void delete_book (@NotNull Book s) { + em.merge(s); + em.remove(s); + } + + public @NotNull List findbyisbn (@NotNull String in_isbn) { + Query Q = em.createNamedQuery("findbyisbnws"); + Q.setParameter(1, in_isbn); + return (List)Q.getResultList(); + } + + + public List findall () { + Query Q = em.createNamedQuery("findallws"); + return (List)Q.getResultList(); + } + + +} diff --git a/exercise2_ws/InitializeDB.java b/exercise2_ws/InitializeDB.java new file mode 100644 index 0000000..8ebc439 --- /dev/null +++ b/exercise2_ws/InitializeDB.java @@ -0,0 +1,43 @@ +package exercise2_ws; + + + +import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; +import javax.ejb.Singleton; +import javax.ejb.Startup; +import javax.inject.Inject; + +/** + * Created by Giovanni on 24/05/2015. + */ + +@Singleton +@Startup +public class InitializeDB { + + private Book b1,b2; + + @Inject @ws + private EJBBook e; + + @PostConstruct + void pupulate (){ + b1 = new Book("0001","Titolo1","Author1",10f); + b2 = new Book("0010","Titolo2","Author2",30f); + e.create_book(b1); + e.create_book(b2); + } + + @PreDestroy + void delete () { + e.delete_book(b1); + e.delete_book(b2); + } + + + + + + +} diff --git a/exercise2_ws/MDBBook.java b/exercise2_ws/MDBBook.java new file mode 100644 index 0000000..592f3de --- /dev/null +++ b/exercise2_ws/MDBBook.java @@ -0,0 +1,40 @@ +package exercise2_ws; + +import javax.ejb.MessageDriven; +import javax.inject.Inject; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageListener; +import java.util.Iterator; +import java.util.List; +import java.util.logging.Logger; + +/** + * Created by Giovanni on 31/05/2015. + */ +@MessageDriven(mappedName = "jms/javaee7/Topic") +public class MDBBook implements MessageListener { + + @Inject + Logger l; + + @Inject @ws + EJBBook e; + + public void onMessage(Message message) { + try { + exercise2_ws.BookMessage m = message.getBody(exercise2_ws.BookMessage.class); + l.info("Messaggio: " + m.getIsbn() + " " + m.getPrice()); + + List lb = e.findbyisbn(m.getIsbn()); + Iteratorib = lb.iterator(); + if (ib.hasNext()){ + Book b = ib.next(); + b.setPrice(m.getPrice()); + e.update_book(b); + } + } catch (JMSException e) { + e.printStackTrace(); + } + } +} diff --git a/exercise2_ws/RemoteInterface.java b/exercise2_ws/RemoteInterface.java new file mode 100644 index 0000000..0908397 --- /dev/null +++ b/exercise2_ws/RemoteInterface.java @@ -0,0 +1,16 @@ +package exercise2_ws; + +import javax.ejb.Remote; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * Created by Giovanni on 24/05/2015. + */ +@Remote +public interface RemoteInterface { + + @NotNull List findbyisbn(@NotNull String in_isbn); + List findall() ; + +} diff --git a/exercise2_ws/ws.java b/exercise2_ws/ws.java new file mode 100644 index 0000000..df0ab27 --- /dev/null +++ b/exercise2_ws/ws.java @@ -0,0 +1,18 @@ +package exercise2_ws; + +import javax.inject.Qualifier; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.*; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +/** + * Created by Giovanni on 26/04/2015. + */ + +@Qualifier +@Retention(RUNTIME) +@Target({FIELD, TYPE, METHOD}) +public @interface ws { +} diff --git a/exercise2_ws/wsinterface.java b/exercise2_ws/wsinterface.java new file mode 100644 index 0000000..0b9e430 --- /dev/null +++ b/exercise2_ws/wsinterface.java @@ -0,0 +1,11 @@ +package exercise2_ws; + +import javax.jws.WebService; + +/** + * Created by Giovanni on 13/06/2015. + */ +@WebService +public interface wsinterface { + boolean checkbook(Book b); +} diff --git a/test5_ws/HelloWorld.java b/test5_ws/HelloWorld.java new file mode 100644 index 0000000..eebf334 --- /dev/null +++ b/test5_ws/HelloWorld.java @@ -0,0 +1,17 @@ +package test5_ws; +import javax.ejb.Stateless; +import javax.jws.WebService; + + +/** + * Created by Giovanni on 12/06/2015. + */ +@WebService(endpointInterface ="test5_ws.HelloWorldInterface") +@Stateless +public class HelloWorld implements HelloWorldInterface{ + public ObjectToPass modifymessage(ObjectToPass o) { + System.out.println("original message " + o.message); + o.message = "modified by server"; + return o; + } +} diff --git a/test5_ws/HelloWorldInterface.java b/test5_ws/HelloWorldInterface.java new file mode 100644 index 0000000..967f6ee --- /dev/null +++ b/test5_ws/HelloWorldInterface.java @@ -0,0 +1,11 @@ +package test5_ws; + +import javax.jws.WebService; + +/** + * Created by Giovanni on 12/06/2015. + */ +@WebService +public interface HelloWorldInterface { + ObjectToPass modifymessage(ObjectToPass o); +} diff --git a/test5_ws/ObjectToPass.java b/test5_ws/ObjectToPass.java new file mode 100644 index 0000000..41a29fc --- /dev/null +++ b/test5_ws/ObjectToPass.java @@ -0,0 +1,12 @@ +package test5_ws; + +import javax.xml.bind.annotation.XmlRootElement; + +/** + * Created by Giovanni on 12/06/2015. + */ +@XmlRootElement +public class ObjectToPass { + public String message = "def"; + +} diff --git a/test5_ws_client/Client.java b/test5_ws_client/Client.java new file mode 100644 index 0000000..d8d34a6 --- /dev/null +++ b/test5_ws_client/Client.java @@ -0,0 +1,17 @@ +package test5_ws_client; + +import test5_ws.*; + +/** + * Created by Giovanni on 12/06/2015. + */ +public class Client { + public static void main(String[] argv) { + HelloWorldInterface service = new HelloWorldService().getHelloWorldPort(); + //invoke business method + ObjectToPass o = new ObjectToPass(); + o.message = "jo from the client"; + System.out.println(service.modifymessage(o).message); + } +} + diff --git a/test5_ws_client/HelloWorld.class b/test5_ws_client/HelloWorld.class new file mode 100644 index 0000000000000000000000000000000000000000..0371d7a920119ce20ecf7b6f38a9bd9c33623cdd GIT binary patch literal 974 zcmb7DOK%e~5FUp#q2ZAP+Coa-AVe=U66Hcq5mLmVJd~9P5{JrhMyVsOz1ZH+{xuH# z0Dcr=cDLy^2@>MsUC(^qyuR_T-#>l=z%e|l!$BRMGH82o`3|+V1MBpt=WNX2`HRzu zm@w4)3sIhB|4I(IOJcIR|aKR_vJs;rkJ%)2TI$5&! z(Wg3)y%~fXWB4Fq^ofwj02pjv1-Xbdr#OB5mZA>>Cz1pmkyf>pLT4NXt@99)H=GAT zygnl|xuq7~7w-L;{Y+|wCLBe}jqfa`^9l8WWxmeRw5a|Z!{G3r2}TX;X2iwye(^7{ju5-r+iYr6 zp;JnG-@tkJhl z{@Wf_p+U|&o({U*g?k?EL$ffou1#%tK=g+m)?nSk20Wqw?JUD%GIu;|7NIKegd7#v X$}?@z-*(~ODI)C>WA7_43HyHlebyiM literal 0 HcmV?d00001 diff --git a/test5_ws_client/HelloWorld.wsdl b/test5_ws_client/HelloWorld.wsdl new file mode 100644 index 0000000..16176db --- /dev/null +++ b/test5_ws_client/HelloWorld.wsdl @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test5_ws_client/HelloWorldInterface.class b/test5_ws_client/HelloWorldInterface.class new file mode 100644 index 0000000000000000000000000000000000000000..2817174d0b16b1179f6b4f78a155599f3a1b7b3c GIT binary patch literal 1019 zcmbVLQBM;=5T3226%;8#5tM?08hv4X&_pFMX-tSFprkd{#0Rq74rQCY-E()Zz+dyh zAK;HN&fT@()yjh}cenHHd^6vCb3cE5{{aBc;b9fFs<6#qKC(S^d>*0qqK^#TJlPNE z!;7O+eqYh_XlDq&iLTe z^A2_oFr3)l?qBg1`a}ncF9hNG7(NJUFBX#80|t!|$yua1@wD(;LJfDEh+}k=G^?!? zI?Z8FI|(6v&G}doCs=CIk;9E~d?a<}pg4?;$x=Qh9e7!*UYH*Bo#6}~T}ga-Z#MGOY;$q+Umq@n}o7&rSqC=q*D!uuS{oNBXSa(i0wUi$_8 zjJ`JTK&Q;KedxC;oW1sC?RAd-{Ogxr0X)ODj4sTD$b2QE8}q^} zNO%>*%OH|6?qE^EYq6RZW=VKvgjo(^TEf>sq-3;XMZ&6tZ)9|0O@b;R%h0=$QPtdT zZcAOtXSQ}$)0x6xu-Ty34AnO-J4jOs#&{L zps^ZIMe^DvM2_t3-EWmXddS@sZWz|CWg7<@mhCc(#79+^JMQzsnNuhlIyYVA#%I-Z zx&4l)B~l-3otmzG%y)E0C-xRi({eR2D2Jh^qLUJh8S~)8(oL6u&7wCF$W7Q%>Xlot zf6LmUg#z`q>l_%WRrHEt=%CJOB-xgCwc>YK?ZlsdaE>|_N+I!+;z{=ma^5<%i+ouZ z0_nb~*_Y>p2ubImu3>*a?NLZwN9&-ZKv%P=PN7myuvFxc>z>Ri%I6U%4B@k?Hl}VLZeaVLZa1FhevyQF-aW)rd_v&DtXt|&BIhl6O}9Cs7W-Ik}6-7Fb#>S1g8znaZO_XO(mL2)#DJ7FJ` zyh3v=Y67iL$o~=gebf-867fQbWaC6r2;!-iXuyXIQ=%qOhzA*KkmdzKnD){P`j`Pi z2#l0S5}>Y|S+pSKB^mMogOsG106_wbH%KuL2@B*qOk@Q-(#GjeR*=?}xW=8mSW8U0 zLNFG(g8Vx|KhZ{sz824E1#wzwrT0<#CLE8;VT}2)CMcF*rMo&7QQF!d*miv|S=<8@ zSxi$fAwH1{g#Um<_O}bPiHZW=KqDSAZ-|0D8tPjbkWdPfiTKH~B!2KopYofFP;-|E zur;P$qkS*dafRsGk7&zYqjQfazN;oK(U!bK_#>r{k;r<fbOUWMep#|`)GfV z-ukJa0itAx${)rP;#L&XiNN2q8IbTq!W5Wfeatures parameter will have their default values. + * @return + * returns HelloWorldInterface + */ + @WebEndpoint(name = "HelloWorldPort") + public HelloWorldInterface getHelloWorldPort(WebServiceFeature... features) { + return super.getPort(new QName("http://test5_ws/", "HelloWorldPort"), HelloWorldInterface.class, features); + } + + private static URL __getWsdlLocation() { + if (HELLOWORLDSERVICE_EXCEPTION!= null) { + throw HELLOWORLDSERVICE_EXCEPTION; + } + return HELLOWORLDSERVICE_WSDL_LOCATION; + } + +} diff --git a/test5_ws_client/Modifymessage.class b/test5_ws_client/Modifymessage.class new file mode 100644 index 0000000000000000000000000000000000000000..e0a1630e13519cf470b35ff0359c20f26d21bda6 GIT binary patch literal 699 zcma)3$w~u35Ph9(OpN=!B)D9Xh>iz6xF7@<5aNOc5j;p|(uNK*Jz=`z@>dFq;K2{@ zqr{pJ*Mmw!Rdw}yuex|IuTReamXJ*$hVdk#n6NNuA;S>kL2Z#CTQWkM{iatDL77)v>R2^liY>{hT>dXn zOTUAsbH8K5nWO| zrnpA~y1cJ@FeDp+-#7@WB1pqRM;dV?7&1TI`L;bnZ@8Q7a#d^lhG{Z6My8Whp#)V? zs!5Szl5QEwjB>p22zJ*3rYI&_%_)kVNK^a{y+`Es2Xvl5UFdE@XAq%7GKIMZL_TFx mt?ml_WRJava class for modifymessage complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="modifymessage">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://test5_ws/}objectToPass" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "modifymessage", propOrder = { + "arg0" +}) +public class Modifymessage { + + protected ObjectToPass arg0; + + /** + * Gets the value of the arg0 property. + * + * @return + * possible object is + * {@link ObjectToPass } + * + */ + public ObjectToPass getArg0() { + return arg0; + } + + /** + * Sets the value of the arg0 property. + * + * @param value + * allowed object is + * {@link ObjectToPass } + * + */ + public void setArg0(ObjectToPass value) { + this.arg0 = value; + } + +} diff --git a/test5_ws_client/ModifymessageResponse.class b/test5_ws_client/ModifymessageResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..6d823f781966732a6780d38edd3272207d4011a1 GIT binary patch literal 797 zcma)4U279j5Ir}|he@MWZPivATSZA)=)UMvi%_%$AzF!{6nqFbn=#z7dpGR8+mC-$ zK@oiL2l%7Jvmv!uN|a@1?%g@(%*@XG{Pq0@fah4Lp@@f7%wV~KMg@-)D!o*EmRf~I z+l%urddIF8Mn4&rDhl9-AVDOw$iLis#vdCOSiUnUES* zR(N`O##gqgFqbzQMA{A~TYyz=O_5u~8Rb&+72am)uko!q)Cf>{D%$G|Ez>Ld(%Ltu z&tv8d+MEfhambjX{TuoPg|kc0fS_BrJ%K((fe&TY*1w`~AzK@N-DGK7Jl!FpfcbHW Y4W1UrzALzg`&i_a)h^+|M<|EVZ->mr)&Kwi literal 0 HcmV?d00001 diff --git a/test5_ws_client/ModifymessageResponse.java b/test5_ws_client/ModifymessageResponse.java new file mode 100644 index 0000000..2fc22d5 --- /dev/null +++ b/test5_ws_client/ModifymessageResponse.java @@ -0,0 +1,62 @@ + +package test5_ws_client; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for modifymessageResponse complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="modifymessageResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://test5_ws/}objectToPass" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "modifymessageResponse", propOrder = { + "_return" +}) +public class ModifymessageResponse { + + @XmlElement(name = "return") + protected ObjectToPass _return; + + /** + * Gets the value of the return property. + * + * @return + * possible object is + * {@link ObjectToPass } + * + */ + public ObjectToPass getReturn() { + return _return; + } + + /** + * Sets the value of the return property. + * + * @param value + * allowed object is + * {@link ObjectToPass } + * + */ + public void setReturn(ObjectToPass value) { + this._return = value; + } + +} diff --git a/test5_ws_client/ObjectFactory.class b/test5_ws_client/ObjectFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..3a57503d7d544cd2e9b36e58de8349a222462ded GIT binary patch literal 2140 zcmb_eYf}af?+iGE`OpH%!A5%#V}en({`#18C7(nP3cQ&x@N91 z^hIM?2Jc4YSY;UA)^v5ZR?e%{10`RgnW;imRZP_;tHs3-i^jH1)i76bUyWR$q^Y_o zyFy8(WHEJWWtep#=tOY$Tof>bT?}nIljX~3Z*hrOM_luoek{L99j>QKYMJ~X`@p_d z)D^Q3YRfOpS8Ju;A3Gv{&WBa;d3!Q!SLZ z>UM=NjC?lD(^Xk+87@eYl2scXVt!^WX$49Tm=y?%vIo z`&NNom0JN3+k4}PoHE(VoNEQmFoE-zXcc~ zy{jRk7B$1Ho+pBsM2KO&mHeIulwsP5>&ybfjC0xMB}3@)igF&MAjUDl)ocWDllN|6 zf(ri9pk1-noyMV?E<4(SLB-7pdd0Z*8P0B~EluMMe$L);0rKIp*`~rhV(vUP<$H-3v pnxh+y(Li$~HAcb9ybh5rQ2d4{%hROOgJl|f=zjzc56|HW@DBxoFwg)1 literal 0 HcmV?d00001 diff --git a/test5_ws_client/ObjectFactory.java b/test5_ws_client/ObjectFactory.java new file mode 100644 index 0000000..a493e98 --- /dev/null +++ b/test5_ws_client/ObjectFactory.java @@ -0,0 +1,89 @@ + +package test5_ws_client; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.namespace.QName; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the test5_ws_client package. + *

An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _Modifymessage_QNAME = new QName("http://test5_ws/", "modifymessage"); + private final static QName _ObjectToPass_QNAME = new QName("http://test5_ws/", "objectToPass"); + private final static QName _ModifymessageResponse_QNAME = new QName("http://test5_ws/", "modifymessageResponse"); + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: test5_ws_client + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link ModifymessageResponse } + * + */ + public ModifymessageResponse createModifymessageResponse() { + return new ModifymessageResponse(); + } + + /** + * Create an instance of {@link ObjectToPass } + * + */ + public ObjectToPass createObjectToPass() { + return new ObjectToPass(); + } + + /** + * Create an instance of {@link Modifymessage } + * + */ + public Modifymessage createModifymessage() { + return new Modifymessage(); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Modifymessage }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://test5_ws/", name = "modifymessage") + public JAXBElement createModifymessage(Modifymessage value) { + return new JAXBElement(_Modifymessage_QNAME, Modifymessage.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ObjectToPass }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://test5_ws/", name = "objectToPass") + public JAXBElement createObjectToPass(ObjectToPass value) { + return new JAXBElement(_ObjectToPass_QNAME, ObjectToPass.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ModifymessageResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://test5_ws/", name = "modifymessageResponse") + public JAXBElement createModifymessageResponse(ModifymessageResponse value) { + return new JAXBElement(_ModifymessageResponse_QNAME, ModifymessageResponse.class, null, value); + } + +} diff --git a/test5_ws_client/ObjectToPass.class b/test5_ws_client/ObjectToPass.class new file mode 100644 index 0000000000000000000000000000000000000000..46313a83345202471fd9f36cf69eaeb6b761594d GIT binary patch literal 669 zcmah`$w~u35PhB1jBz(=GzOPTRCF$Sa6u3?AjAa|MDQS;NfTOTdct%^<6kK#f(Jjq zj}j|!NnB7GYU@|;RZ-6`k52%Wk+l%PcmiQe#F2?(k|FL1t$9^23>Gf%? zQdQR(VjEIPv&j(7&7Ckrw*3l0`wCKtgSuB1L5Y`Ls#sNF_CJ`0b929OS-Jz0%Kd~i z6|ACP4;+z~P1b?K@`Z3r$v@&+FEz(wNFUdgk)Ak_T9WjZQoi9v`bsk_v^X1f!*lJj zR27?l{@SOWyX81Eq92s5Yl3!*UUIiiDsRL7)AiAl-`g$hFwFj~^p1`w?vX&!?^uH& zQ49RqVNel45^;1T5k-t4V}v#<=U4jNaivhk?%bWBzkQsy4@}b;BXm}}N|S-2FvUbj zHbL1Wc}6}u{{VK|0$OBat>P5fZY0Tmh29}_^9{O4pdR$TLuU}8M>O*b_XxFVtyXoF jCRwAXj}RgBV}N{?qCx5&5*S7bBb1J6j3IpnrV)JwpNyJe literal 0 HcmV?d00001 diff --git a/test5_ws_client/ObjectToPass.java b/test5_ws_client/ObjectToPass.java new file mode 100644 index 0000000..f8a31e6 --- /dev/null +++ b/test5_ws_client/ObjectToPass.java @@ -0,0 +1,60 @@ + +package test5_ws_client; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for objectToPass complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="objectToPass">
+ *   <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>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "objectToPass", propOrder = { + "message" +}) +public class ObjectToPass { + + 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; + } + +} diff --git a/test5_ws_client/SayHelloWorldFrom.class b/test5_ws_client/SayHelloWorldFrom.class new file mode 100644 index 0000000000000000000000000000000000000000..f6551620d1f25be54c0429991201c8dadd980920 GIT binary patch literal 675 zcmaixTWeE65Xb+U+c9Z+zi4Y4T75}V?D0V#)FOn|pb#uHp)K^GY)+Q2Vb5;Z-PGh; zDJX&uegHp|bk4CCY)i|5nc3Oj{Ac#epTEC;19*i>2|273k;T&hs{z&+a@_V_GR!sm z{EUZ+>t5LMR_fk6hQf~2(!XcORyPj`-8EgoFx`||d>+OfVcWc;C=>LAuctB#)y=zv z0(S{4R&U=Y+NG8m+DJ5HqPNuIo$Lh4WdBFMBlGnJ`huWIOkJSQ ykfD!cYFj^$xt1-Z**7%FTZ*QM$Y2Jug=XzUULggaC~ujU+8W6CaxG?W9?q zI+bTK($Wl~PH@T$b_8ne)C85#iSnwaY0nrNWKh<4fsIkZd32uWsHaRnlE0(TheRK0 zO2`Bz$s3uFK=GzhaaS1?UJJ}LHcvRbZ~Gj+-%^I&rAd$6vE*6;?;9FzCf9bXKI zTPvJNoigpUxT$w>opqDbe0$hB5Lmyx(imOy(**Mc4V@hxxjwlnW>Kx8fFf%N1Z#N^!t*ejRy!Ej*Wuj(v$wv+VEiDtlBIAhL37?{a9BypU|(!ef|p?F=!qOW9S-k{4vee_BZ4vw3X4{9hSDsy9bQO cVR0m}&buYfen?ox3Tk|0wU6-lBZNoc7iH$WWdHyG literal 0 HcmV?d00001 diff --git a/test5_ws_client/package-info.class b/test5_ws_client/package-info.class new file mode 100644 index 0000000000000000000000000000000000000000..cc217aa13c37009507e53a9919166c04a7f6a529 GIT binary patch literal 237 zcmYjM!Ae6x44kdjXWNTjgo0O(nu}ia5FxKF4U zNM>M?O!D>pxd(8IL4{t0zC(Y~Y~H;*g(wc^YxZxvkn5nY&CQBG*kL%{sD&ickV75i zQMEC)&}eqJdTx7mv`dldpfALKD$P=y_@yL%aOf!~$z^%*I9r;n?}<#Z-Oaa|94-%h r?qd)&`hP~5XiX@xE@)J*#M=en&?$ek(ZSJgJw~_SpeQFLtBlhhk2pdO literal 0 HcmV?d00001 diff --git a/test5_ws_client/package-info.java b/test5_ws_client/package-info.java new file mode 100644 index 0000000..3774fe6 --- /dev/null +++ b/test5_ws_client/package-info.java @@ -0,0 +1,2 @@ +@javax.xml.bind.annotation.XmlSchema(namespace = "http://test5_ws/") +package test5_ws_client;