วันจันทร์ที่ 12 กรกฎาคม พ.ศ. 2553

การสร้าง Basic jax-ws client

ตอนที่แล้ว เขียนวิธีการสร้าง jax-ws แล้ว คราวนี้เรามาดูวิธีการเรียกกันครับ ผมทำบน maven เหมือนเคยครับ โดยทำดังนี้ครับ
1. Config Maven เพื่อไปอ่าน wsdl file จาก url มาแล้วทำการ generate stub ไว้สำหรับเรียก Web Service

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlUrls>
<wsdlUrl>
http://localhost:8080/webservice-sample/helloService?wsdl <-- บอกว่าจะไปเอา wsdl file จากที่ไหนมาครับ </wsdlUrl>
</wsdlUrls>
<packageName>tutorial.sample.jaxws.helloclient</packageName> <-- จำสร้าง stub ไว้ที่ package ไหน </configuration>
</execution>
</executions>
</plugin>

2. หลังจากนั้นไปรันที่ command line mvn:compile maven ก็จะทำการสร้าง stub ของ Web Service นั้นขึ้นมาให้ครับ แล้วสามารถนำไปใช้งานได้เลย (*พอทำเสร็จแล้ว เอาส่วนที่เป็น Config wsdlurl ออกน่ะครับ จะได้ไม่ต้องทำการไป generate ทุกครั้ง)
3. มาดูส่วนที่เป็น Java Class กัน

HelloService service = new HelloService();
Hello port = service.getHelloPort();
System.out.println(port.sayHello("Duke"));

4. ตัวอย่างที่กล่าวมาเป็นวิธีการเรียกแบบ Sync Mode ครับ ยังมีวิธีการเรียกแบบ Async อีกสองแบบ จะพูดถึงในครั้งต่อไปครับ